New module 'logl-ieee'.
[gnulib.git] / ChangeLog
1 2012-03-10  Bruno Haible  <bruno@clisp.org>
2
3         New module 'logl-ieee'.
4         * modules/logl-ieee: New file.
5
6         Tests for module 'log-ieee'.
7         * modules/log-ieee-tests: New file.
8         * tests/test-log-ieee.c: New file.
9
10         New module 'log-ieee'.
11         * modules/log-ieee: New file.
12
13         Tests for module 'logf-ieee'.
14         * modules/logf-ieee-tests: New file.
15         * tests/test-logf-ieee.c: New file.
16         * tests/test-log-ieee.h: New file.
17
18         New module 'logf-ieee'.
19         * modules/logf-ieee: New file.
20
21 2012-03-10  Bruno Haible  <bruno@clisp.org>
22
23         log: Fix bug introduced on 2012-03-09.
24         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
25
26 2012-03-10  Pádraig Brady  <P@draigBrady.com>
27
28         timer-time: link explicitly with pthreads on glibc
29         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
30         to support static linking, when newer glibc is
31         detected, as that contains pthread emulation of
32         POSIX timer functions where required.
33         * modules/timer-time: Depend on threadlib to
34         pull in the appropriate library to link.
35
36 2012-03-10  Bruno Haible  <bruno@clisp.org>
37
38         log* tests: More tests.
39         * tests/test-log.h: New file.
40         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
41         (main): Invoke test_function.
42         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
43         (main): Invoke test_function.
44         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
45         (main): Invoke test_function.
46         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
47         tests/randomd.c.
48         (Makefile.am): Add randomd.c to test_log_SOURCES.
49         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
50         tests/randomf.c.
51         (Makefile.am): Add randomf.c to test_logf_SOURCES.
52         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
53         tests/randoml.c.
54         (Depends-on): Add 'float'.
55         (Makefile.am): Add randoml.c to test_logl_SOURCES.
56
57 2012-03-09  Bruno Haible  <bruno@clisp.org>
58
59         logl: Work around OSF/1 5.1 bug.
60         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
61         * lib/logl.c (logl): If logf exists, use it and provide just the
62         workaround.
63         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
64         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
65         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
66         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
67         * modules/logl (configure.ac): Consider REPLACE_LOGL.
68         (Depends-on): Update conditions.
69         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
70
71 2012-03-09  Bruno Haible  <bruno@clisp.org>
72
73         logf: Work around OSF/1 5.1 bug.
74         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
75         * lib/logf.c (logf): If logf exists, use it and provide just the
76         workaround.
77         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
78         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
79         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
80         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
81         * modules/logf (configure.ac): Consider REPLACE_LOGF.
82         (Depends-on): Update conditions.
83         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
84
85 2012-03-09  Bruno Haible  <bruno@clisp.org>
86
87         log: Work around OSF/1 5.1 bug.
88         * lib/math.in.h (log): New declaration.
89         * lib/log.c: New file.
90         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
91         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
92         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
93         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
94         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
95         * modules/log (Files): Add lib/log.c.
96         (Depends-on): Add math.
97         (configure.ac): If REPLACE_LOG is 1, compile an override.
98         * tests/test-math-c++.cc: Check the declaration of log.
99         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
100
101 2012-03-09  Jim Meyering  <meyering@redhat.com>
102
103         readtokens.c: adjust wording in a comment
104         * lib/readtokens.c: Insert omitted "that" in a comment.
105
106 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
107
108         modechange: add notations +40, 00440, etc.
109         * lib/modechange.c (mode_compile): Support new notations
110         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
111
112 2012-03-08  Bruno Haible  <bruno@clisp.org>
113
114         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
115         * m4/exp2l-ieee.m4: New file.
116         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
117         test whether exp2l works with a NaN argument and with a negative
118         infinity argument. Replace it if not.
119         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
120         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
121         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
122         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
123         (Depends-on): Update conditions.
124         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
125         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
126         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
127
128         Tests for module 'exp2l-ieee'.
129         * modules/exp2l-ieee-tests: New file.
130         * tests/test-exp2l-ieee.c: New file.
131
132         New module 'exp2l-ieee'.
133         * modules/exp2l-ieee: New file.
134
135         Tests for module 'exp2-ieee'.
136         * modules/exp2-ieee-tests: New file.
137         * tests/test-exp2-ieee.c: New file.
138
139         New module 'exp2-ieee'.
140         * modules/exp2-ieee: New file.
141
142         Tests for module 'exp2f-ieee'.
143         * modules/exp2f-ieee-tests: New file.
144         * tests/test-exp2f-ieee.c: New file.
145         * tests/test-exp2-ieee.h: New file.
146
147         New module 'exp2f-ieee'.
148         * modules/exp2f-ieee: New file.
149
150 2012-03-08  Bruno Haible  <bruno@clisp.org>
151
152         Tests for module 'exp2l'.
153         * modules/exp2l-tests: New file.
154         * tests/test-exp2l.c: New file.
155
156         New module 'exp2l'.
157         * lib/math.in.h (exp2l): New declaration.
158         * lib/exp2l.c: New file.
159         * lib/expl-table.c: New file, extracted from lib/expl.c.
160         * lib/expl.c (gl_expl_table): New declaration.
161         (expl): Remove expl_table. Update reference.
162         * m4/exp2l.m4: New file.
163         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
164         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
165         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
166         * modules/exp2l: New file.
167         * modules/expl (Files): Add lib/expl-table.c.
168         (configure.ac): Compile also expl-table.c.
169         * tests/test-math-c++.cc: Check the declaration of exp2l.
170         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
171         problem.
172
173 2012-03-08  Bruno Haible  <bruno@clisp.org>
174
175         Tests for module 'exp2f'.
176         * modules/exp2f-tests: New file.
177         * tests/test-exp2f.c: New file.
178
179         New module 'exp2f'.
180         * lib/math.in.h (exp2f): New declaration.
181         * lib/exp2f.c: New file.
182         * m4/exp2f.m4: New file.
183         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
184         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
185         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
186         * modules/exp2f: New file.
187         * tests/test-math-c++.cc: Check the declaration of exp2f.
188         * doc/posix-functions/exp2f.texi: Mention the new module and the
189         IRIX problem.
190
191 2012-03-08  Bruno Haible  <bruno@clisp.org>
192
193         Tests for module 'exp2'.
194         * modules/exp2-tests: New file.
195         * tests/test-exp2.c: New file.
196         * tests/test-exp2.h: New file.
197
198         New module 'exp2'.
199         * lib/math.in.h (exp2): New declaration.
200         * lib/exp2.c: New file.
201         * m4/exp2.m4: New file.
202         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
203         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
204         REPLACE_EXP2.
205         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
206         REPLACE_EXP2.
207         * modules/exp2: New file.
208         * tests/test-math-c++.cc: Check the declaration of exp2.
209         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
210         and OpenBSD problems.
211
212 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
213
214         savedir: fix comment typo
215         * lib/savedir.c (savedirstream): Fix typo in comment.
216
217 2012-03-08  Bruno Haible  <bruno@clisp.org>
218
219         test-readtokens.c: use const; remove unwarranted cast
220         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
221
222 2012-03-08  Bruno Haible  <bruno@clisp.org>
223
224         fmal: Avoid compilation error on AIX.
225         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
226         AIX 5.2..7.1.
227
228 2012-03-08  Bruno Haible  <bruno@clisp.org>
229
230         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
231         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
232         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
233         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
234         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
235         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
236         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
237
238 2012-03-08  Bruno Haible  <bruno@clisp.org>
239
240         remainderf: Override buggy system function on IRIX 6.5.
241         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
242         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
243         when it exists.
244         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
245
246 2012-03-08  Jim Meyering  <meyering@redhat.com>
247
248         test-readtokens.c: avoid const-related compilation warnings
249         * tests/test-readtokens.c: Avoid const-related compilation warnings.
250
251 2012-03-07  Jim Meyering  <meyering@redhat.com>
252             Bruno Haible  <bruno@clisp.org>
253
254         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
255         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
256         tests/randomd.c.
257         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
258         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
259         tests/randoml.c.
260         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
261
262 2012-03-07  Bruno Haible  <bruno@clisp.org>
263
264         expm1l: Avoid compilation error on AIX.
265         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
266         AIX 5.2..7.1.
267
268 2012-03-07  Bruno Haible  <bruno@clisp.org>
269
270         expm1l: Don't override undeclared system function on IRIX 6.5.
271         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
272         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
273         it exists. Set HAVE_DECL_EXPM1L.
274         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
275         HAVE_EXPM1L.
276         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
277         HAVE_EXPM1L.
278         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
279
280 2012-03-07  Bruno Haible  <bruno@clisp.org>
281
282         remainderl: Don't override undeclared system function on IRIX 6.5.
283         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
284         HAVE_REMAINDERL.
285         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
286         declared when it exists. Set HAVE_DECL_REMAINDERL.
287         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
288         not HAVE_REMAINDERL.
289         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
290         HAVE_REMAINDERL.
291         * doc/posix-functions/remainderl.texi: Mention missing declaration
292         problem.
293
294 2012-03-07  Bruno Haible  <bruno@clisp.org>
295
296         rintf: Don't override undeclared system function on IRIX 6.5.
297         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
298         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
299         exists. Set HAVE_DECL_RINTF.
300         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
301         HAVE_RINTF.
302         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
303         HAVE_RINTF.
304         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
305
306 2012-03-07  Bruno Haible  <bruno@clisp.org>
307
308         roundl: Avoid compilation error on AIX.
309         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
310         AIX 5.2..7.1.
311
312 2012-03-07  Bruno Haible  <bruno@clisp.org>
313
314         roundl: Don't override undeclared system function on IRIX 6.5.
315         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
316         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
317         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
318         * modules/roundl (configure.ac): For replacement code, test
319         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
320         (Depends-on): Update conditions.
321         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
322
323 2012-03-07  Bruno Haible  <bruno@clisp.org>
324
325         roundf: Don't override undeclared system function on IRIX 6.5.
326         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
327         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
328         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
329         * modules/roundf (configure.ac): For replacement code, test
330         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
331         (Depends-on): Update conditions.
332         * modules/roundf-ieee (Depends-on): Update conditions.
333         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
334
335 2012-03-07  Bruno Haible  <bruno@clisp.org>
336
337         round: Don't override undeclared system function on IRIX 6.5.
338         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
339         argument.
340         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
341         also when it is not declared. Set HAVE_ROUND. For replacement code,
342         test HAVE_ROUND, not HAVE_DECL_ROUND.
343         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
344         not HAVE_DECL_ROUND.
345         (Depends-on): Update conditions.
346         * modules/round-ieee (Depends-on): Update conditions.
347         * doc/posix-functions/round.texi: Mention the IRIX problem.
348
349 2012-03-07  Bruno Haible  <bruno@clisp.org>
350
351         copysignf: Don't override undeclared system function on IRIX 6.5.
352         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
353         HAVE_COPYSIGNF.
354         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
355         declared when it exists. Set HAVE_DECL_COPYSIGNF.
356         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
357         not HAVE_COPYSIGNF.
358         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
359         HAVE_COPYSIGNF.
360         * doc/posix-functions/copysignf.texi: Mention missing declaration
361         problem.
362
363 2012-03-07  Jim Meyering  <meyering@redhat.com>
364
365         readtokens: add tests
366         * modules/readtokens-tests: New file.
367         * tests/test-readtokens.c: New file.
368
369 2012-03-07  Jim Meyering  <meyering@redhat.com>
370
371         quotearg: the module must now include quote.h
372         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
373         So must the module.
374         * modules/quotearg (Files): Add quote.h.
375
376 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
377
378         readtokens: avoid core dumps with unusual calling patterns
379         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
380         * lib/readtokens.c: Include limits.h.
381         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
382         (readtoken): Don't cache the delimiters; the cache code was buggy
383         if !delim && saved_delim, or if the new n_delim differs from the old.
384         Also, it wasn't thread-safe.
385
386 2012-03-07  Bruno Haible  <bruno@clisp.org>
387
388         quote: Adhere to common module description layout.
389         * modules/quote (Makefile.am): Add back empty section.
390
391 2012-03-06  Akim Demaille  <demaille@gostai.com>
392
393         quote: fuse into quotearg
394         This patch is made for the benefit of Bison.
395         quote does not leave the choice of the quoting style to the user.
396         quoting_style provides poor customizability, yet quoting_options,
397         which is very rich, is hidden inside quotearg.c.  So in order to
398         allow quote customization, move its implementation to quotearg.c.
399         * lib/quote.c: Remove.
400         * modules/quote: Adjust.
401         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
402         warning: provide all the members of literal structs.
403         (quote_quoting_options): New.
404         (quote, quote_n): Import implementation from quote.c.
405         * lib/quote.h: Import the comments from quote.c.
406         (quote_quoting_options): New.
407
408 2012-03-06  Bruno Haible  <bruno@clisp.org>
409
410         Tests for module 'expm1l-ieee'.
411         * modules/expm1l-ieee-tests: New file.
412         * tests/test-expm1l-ieee.c: New file.
413
414         New module 'expm1l-ieee'.
415         * modules/expm1l-ieee: New file.
416
417         Tests for module 'expm1f-ieee'.
418         * modules/expm1f-ieee-tests: New file.
419         * tests/test-expm1f-ieee.c: New file.
420
421         New module 'expm1f-ieee'.
422         * modules/expm1f-ieee: New file.
423
424         Tests for module 'expm1-ieee'.
425         * modules/expm1-ieee-tests: New file.
426         * tests/test-expm1-ieee.c: New file.
427         * tests/test-expm1-ieee.h: New file.
428
429         New module 'expm1-ieee'.
430         * modules/expm1-ieee: New file.
431         * m4/expm1-ieee.m4: New file.
432         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
433         whether expm1 works with a minus zero argument. Replace it if not.
434         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
435         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
436         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
437         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
438         (Depends-on): Update conditions.
439         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
440         AIX problem.
441
442 2012-03-06  Bruno Haible  <bruno@clisp.org>
443
444         Work around expm1f bug on IRIX 6.5.
445         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
446         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
447         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
448         not work.
449         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
450         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
451         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
452         (Depends-on): Update conditions.
453         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
454
455 2012-03-06  Bruno Haible  <bruno@clisp.org>
456
457         Tests for module 'expm1l'.
458         * modules/expm1l-tests: New file.
459         * tests/test-expm1l.c: New file.
460
461         New module 'expm1l'.
462         * lib/math.in.h (expm1l): New declaration.
463         * lib/expm1l.c: New file.
464         * m4/expm1l.m4: New file.
465         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
466         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
467         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
468         * modules/expm1l: New file.
469         * tests/test-math-c++.cc: Check the declaration of expm1l.
470         * doc/posix-functions/expm1l.texi: Mention the new module.
471
472 2012-03-06  Bruno Haible  <bruno@clisp.org>
473
474         Tests for module 'expm1f'.
475         * modules/expm1f-tests: New file.
476         * tests/test-expm1f.c: New file.
477
478         New module 'expm1f'.
479         * lib/math.in.h (expm1f): New declaration.
480         * lib/expm1f.c: New file.
481         * m4/expm1f.m4: New file.
482         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
483         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
484         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
485         * modules/expm1f: New file.
486         * tests/test-math-c++.cc: Check the declaration of expm1f.
487         * doc/posix-functions/expm1f.texi: Mention the new module.
488
489 2012-03-06  Bruno Haible  <bruno@clisp.org>
490
491         Tests for module 'expm1'.
492         * modules/expm1-tests: New file.
493         * tests/test-expm1.c: New file.
494         * tests/test-expm1.h: New file.
495
496         New module 'expm1'.
497         * lib/math.in.h (expm1): New declaration.
498         * lib/expm1.c: New file.
499         * m4/expm1.m4: New file.
500         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
501         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
502         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
503         * modules/expm1: New file.
504         * tests/test-math-c++.cc: Check the declaration of expm1.
505         * doc/posix-functions/expm1.texi: Mention the new module.
506
507 2012-03-06  Bruno Haible  <bruno@clisp.org>
508
509         math: Ensure declarations of math functions.
510         * modules/acosf (Depends-on): Add 'extensions'.
511         * modules/asinf (Depends-on): Likewise.
512         * modules/atan2f (Depends-on): Likewise.
513         * modules/atanf (Depends-on): Likewise.
514         * modules/cbrt (Depends-on): Likewise.
515         * modules/cbrtf (Depends-on): Likewise.
516         * modules/cbrtl (Depends-on): Likewise.
517         * modules/copysignf (Depends-on): Likewise.
518         * modules/copysignl (Depends-on): Likewise.
519         * modules/cosf (Depends-on): Likewise.
520         * modules/coshf (Depends-on): Likewise.
521         * modules/expf (Depends-on): Likewise.
522         * modules/fabsf (Depends-on): Likewise.
523         * modules/fabsl (Depends-on): Likewise.
524         * modules/fmaf (Depends-on): Likewise.
525         * modules/fmal (Depends-on): Likewise.
526         * modules/fmodf (Depends-on): Likewise.
527         * modules/fmodl (Depends-on): Likewise.
528         * modules/frexpf (Depends-on): Likewise.
529         * modules/frexpl (Depends-on): Likewise.
530         * modules/hypot (Depends-on): Likewise.
531         * modules/hypotf (Depends-on): Likewise.
532         * modules/hypotl (Depends-on): Likewise.
533         * modules/ldexpf (Depends-on): Likewise.
534         * modules/ldexpl (Depends-on): Likewise.
535         * modules/log10f (Depends-on): Likewise.
536         * modules/log10l (Depends-on): Likewise.
537         * modules/log1p (Depends-on): Likewise.
538         * modules/logb (Depends-on): Likewise.
539         * modules/logf (Depends-on): Likewise.
540         * modules/modff (Depends-on): Likewise.
541         * modules/modfl (Depends-on): Likewise.
542         * modules/powf (Depends-on): Likewise.
543         * modules/remainderf (Depends-on): Likewise.
544         * modules/remainderl (Depends-on): Likewise.
545         * modules/rintf (Depends-on): Likewise.
546         * modules/rintl (Depends-on): Likewise.
547         * modules/sinf (Depends-on): Likewise.
548         * modules/sinhf (Depends-on): Likewise.
549         * modules/sqrtf (Depends-on): Likewise.
550         * modules/tanf (Depends-on): Likewise.
551         * modules/tanhf (Depends-on): Likewise.
552         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
553         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
554         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
555         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
556         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
557         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
558         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
559         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
560         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
561         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
562         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
563         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
564         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
565         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
566         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
567         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
568         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
569         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
570         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
571         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
572         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
573         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
574         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
575         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
576         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
577         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
578         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
579         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
580         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
581         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
582         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
583         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
584         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
585         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
586         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
587         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
588         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
589         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
590         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
591         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
592         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
593
594 2012-03-06  Bruno Haible  <bruno@clisp.org>
595
596         math: Update module names in warnings.
597         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
598         tanl): Use specific module name in warn-on-use warning.
599
600 2012-03-06  Bruno Haible  <bruno@clisp.org>
601
602         expl: Simplify computation.
603         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
604
605 2012-03-05  Bruno Haible  <bruno@clisp.org>
606
607         exp* tests: More tests.
608         * tests/test-exp.h: New file.
609         * tests/test-exp.c: Include <float.h> and test-exp.h.
610         (main): Invoke test_function.
611         * tests/test-expf.c: Include <float.h> and test-exp.h.
612         (main): Invoke test_function.
613         * tests/test-expl.c: Include <float.h> and test-exp.h.
614         (main): Invoke test_function.
615         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
616         (Makefile.am): Add randomd.c to test_exp_SOURCES.
617         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
618         (Makefile.am): Add randomf.c to test_expf_SOURCES.
619         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
620         (Depends-on): Add 'float'.
621         (Makefile.am): Add randoml.c to test_expl_SOURCES.
622
623         expl: Fix precision of computed result.
624         * lib/expl.c: Completely rewritten.
625         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
626         (Maintainer): Add me.
627         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
628
629 2012-03-05  Bruno Haible  <bruno@clisp.org>
630
631         cbrt* tests: More tests.
632         * tests/test-cbrt.h: New file.
633         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
634         (main): Invoke test_function.
635         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
636         (main): Invoke test_function.
637         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
638         (main): Invoke test_function.
639         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
640         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
641         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
642         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
643         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
644         (Depends-on): Add 'float'.
645         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
646
647 2012-03-05  Bruno Haible  <bruno@clisp.org>
648
649         hypot* tests: More tests.
650         * tests/test-hypot.h: New file, partially extracted from
651         tests/test-hypotl.c.
652         * tests/test-hypot.c: Include test-hypot.h.
653         (main): Invoke test_function.
654         * tests/test-hypotf.c: Include test-hypot.h.
655         (main): Invoke test_function.
656         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
657         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
658         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
659         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
660         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
661         tests/randomf.c.
662         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
663         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
664         tests/randoml.c.
665         (Depends-on): Add 'fpucw', 'float'.
666         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
667
668 2012-03-05  Bruno Haible  <bruno@clisp.org>
669
670         fpucw: Doc about FreeBSD.
671         * lib/fpucw.h: Mention FreeBSD in comments.
672
673 2012-03-04  Bruno Haible  <bruno@clisp.org>
674
675         sqrt* tests: More tests.
676         * tests/test-sqrt.h: New file.
677         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
678         (main): Invoke test_function.
679         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
680         (main): Invoke test_function.
681         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
682         (main): Invoke test_function.
683         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
684         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
685         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
686         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
687         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
688         (Depends-on): Add 'float'.
689         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
690
691 2012-03-04  Bruno Haible  <bruno@clisp.org>
692
693         remainder* tests: More tests.
694         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
695         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
696         (main): Invoke test_function.
697         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
698         (main): Invoke test_function.
699         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
700         (main): Invoke test_function.
701         * modules/remainder-tests (Files): Add tests/test-remainder.h,
702         tests/randomd.c.
703         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
704         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
705         tests/randomf.c.
706         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
707         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
708         tests/randoml.c.
709         (Depends-on): Add 'float'.
710         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
711
712 2012-03-04  Bruno Haible  <bruno@clisp.org>
713
714         remainder, remainderf, remainderl: Fix computation for large quotients.
715         * lib/remainder.c: Completely rewritten.
716         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
717         USE_FLOAT.
718         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
719         USE_LONG_DOUBLE.
720         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
721         isnand, isinf. Remove round, fma.
722         * modules/remainderf (Files): Add lib/remainder.c.
723         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
724         Remove roundf, fmaf.
725         * modules/remainderl (Files): Add lib/remainder.c.
726         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
727         isinf. Remove roundl, fmal.
728         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
729         REMAINDER_LIBM.
730         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
731         REMAINDERF_LIBM.
732         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
733         REMAINDERL_LIBM.
734
735 2012-03-04  Bruno Haible  <bruno@clisp.org>
736
737         fmod* tests: More tests.
738         * tests/test-fmod.h (my_ldexp): New function.
739         (test_function): Reduce amount of random numbers to test. Add tests
740         of very large quotients x / y.
741         * tests/test-fmod.c (MAX_EXP): New macro.
742         * tests/test-fmodf.c (MAX_EXP): Likewise.
743         * tests/test-fmodl.c (MAX_EXP): Likewise.
744
745 2012-03-04  Bruno Haible  <bruno@clisp.org>
746
747         fmod, fmodl: Fix computation for large quotients x / y.
748         * lib/fmod.c: Completely rewritten.
749         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
750         USE_LONG_DOUBLE.
751         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
752         isnand. Remove fma.
753         * modules/fmodl (Files): Add lib/fmod.c.
754         (Depends-on): Add float, isfinite, signbit, fabsl,
755         frexpl, ldexpl, isnanl. Remove fma.
756         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
757         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
758
759 2012-03-03  Bruno Haible  <bruno@clisp.org>
760
761         fmod* tests: More tests.
762         * tests/test-fmod.h: New file.
763         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
764         (main): Invoke test_function.
765         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
766         (main): Invoke test_function.
767         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
768         (main): Invoke test_function.
769         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
770         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
771         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
772         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
773         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
774         (Depends-on): Add 'float'.
775         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
776
777 2012-03-03  Bruno Haible  <bruno@clisp.org>
778
779         rint* tests: More tests.
780         * tests/test-rint.h: New file, partially extracted from
781         tests/test-rintl.c.
782         * tests/test-rint.c: Include test-rint.h.
783         (main): Invoke test_function.
784         * tests/test-rintf.c: Include test-rint.h.
785         (main): Invoke test_function.
786         * tests/test-rintl.c: Include test-rint.h.
787         (main): Invoke test_function.
788         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
789         (Makefile.am): Add randomd.c to test_rint_SOURCES.
790         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
791         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
792         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
793         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
794
795 2012-03-03  Bruno Haible  <bruno@clisp.org>
796
797         modf* tests: More tests.
798         * tests/test-modf.h: New file.
799         * tests/test-modf.c: Include <float.h> and test-modf.h.
800         (main): Invoke test_function.
801         * tests/test-modff.c: Include <float.h> and test-modf.h.
802         (main): Invoke test_function.
803         * tests/test-modfl.c: Include <float.h> and test-modf.h.
804         (main): Invoke test_function.
805         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
806         (Makefile.am): Add randomd.c to test_modf_SOURCES.
807         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
808         (Makefile.am): Add randomf.c to test_modff_SOURCES.
809         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
810         (Depends-on): Add 'float'.
811         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
812
813 2012-03-03  Bruno Haible  <bruno@clisp.org>
814
815         fabs* tests: More tests.
816         * tests/test-fabs.h: New file, partially extracted from
817         tests/test-fabsl.c.
818         * tests/test-fabs.c (RANDOM): New macro.
819         * tests/test-fabsf.c (RANDOM): New macro.
820         * tests/test-fabsl.c (RANDOM): New macro.
821         * modules/fabs-tests (Files): Add tests/randomd.c.
822         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
823         * modules/fabsf-tests (Files): Add tests/randomf.c.
824         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
825         * modules/fabsl-tests (Files): Add tests/randoml.c.
826         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
827
828 2012-03-03  Bruno Haible  <bruno@clisp.org>
829
830         ldexp* tests: More tests.
831         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
832         * tests/test-ldexp.c (RANDOM): New macro.
833         * tests/test-ldexpf.c (RANDOM): New macro.
834         * tests/test-ldexpl.c (RANDOM): New macro.
835         * modules/ldexp-tests (Files): Add tests/randomd.c.
836         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
837         * modules/ldexpf-tests (Files): Add tests/randomf.c.
838         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
839         * modules/ldexpl-tests (Files): Add tests/randoml.c.
840         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
841
842 2012-03-03  Bruno Haible  <bruno@clisp.org>
843
844         frexp* tests: More tests.
845         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
846         * tests/test-frexp.c (RANDOM): New macro.
847         * tests/test-frexpf.c (RANDOM): New macro.
848         * tests/test-frexpl.c (RANDOM): New macro.
849         * modules/frexp-tests (Files): Add tests/randomd.c.
850         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
851         * modules/frexpf-tests (Files): Add tests/randomf.c.
852         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
853         * modules/frexpl-tests (Files): Add tests/randoml.c.
854         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
855
856 2012-03-03  Bruno Haible  <bruno@clisp.org>
857
858         Support for pseudo-random numbers in tests.
859         * tests/randomf.c: New file.
860         * tests/randomd.c: New file.
861         * tests/randoml.c: New file.
862         * tests/macros.h (randomf, randomd, randoml): New declarations.
863
864 2012-03-03  Bruno Haible  <bruno@clisp.org>
865
866         frexp* tests: Refactor.
867         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
868         * tests/test-frexp.c: Include and use it.
869         * tests/test-frexpf.c: Likewise.
870         * tests/test-frexpl.c: Likewise.
871         * modules/frexp-tests (Files): Add tests/test-frexp.h.
872         * modules/frexpf-tests (Files): Likewise.
873         * modules/frexpl-tests (Files): Likewise.
874
875 2012-03-02  Jim Meyering  <meyering@redhat.com>
876
877         maint: don't specify XZ_OPT=-9ev in dist-related rule
878         Using xz's -9 option is warranted only if you have a very large
879         tarball (see xz's documentation for the sizes vs. presets), and
880         requires 64MiB of memory at decompression time.
881         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
882         Automake's default of just "-e" is fine.  Override on a
883         per-package basis by setting XZ_OPT e.g., in cfg.mk.
884
885 2012-03-01  Eric Blake  <eblake@redhat.com>
886
887         maint.mk: allow announcement for non-gnulib project
888         * maint.mk (announcement): Skip gnulib version if not used.
889
890 2012-03-01  Jim Meyering  <meyering@redhat.com>
891
892         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
893         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
894         envvar settings cannot interfere.  Otherwise, setting envvars like
895         prohibit=foo require=bar, etc. would cause spurious test failures.
896
897 2012-03-01  Eric Blake  <eblake@redhat.com>
898
899         maint.mk: add per-line exclusions to prohibitions
900         * maint.mk (_sc_search_regexp): Add $exclude parameter.
901         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
902         (sc_const_long_option): Use it.
903
904 2012-03-01  Bruno Haible  <bruno@clisp.org>
905
906         Tests for module 'expl-ieee'.
907         * modules/expl-ieee-tests: New file.
908         * tests/test-expl-ieee.c: New file.
909
910         New module 'expl-ieee'.
911         * modules/expl-ieee: New file.
912
913         Tests for module 'exp-ieee'.
914         * modules/exp-ieee-tests: New file.
915         * tests/test-exp-ieee.c: New file.
916
917         New module 'exp-ieee'.
918         * modules/exp-ieee: New file.
919
920         Tests for module 'expf-ieee'.
921         * modules/expf-ieee-tests: New file.
922         * tests/test-expf-ieee.c: New file.
923         * tests/test-exp-ieee.h: New file.
924
925         New module 'expf-ieee'.
926         * modules/expf-ieee: New file.
927
928 2012-02-29  Bruno Haible  <bruno@clisp.org>
929
930         cbrtl-ieee: Work around test failure on IRIX 6.5.
931         * m4/cbrtl-ieee.m4: New file.
932         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
933         test whether cbrtl works with a minus zero argument. Replace it if not.
934         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
935         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
936         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
937         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
938         (Depends-on): Update conditions.
939         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
940         m4/signbit.m4.
941         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
942         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
943         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
944
945         Tests for module 'cbrtl-ieee'.
946         * modules/cbrtl-ieee-tests: New file.
947         * tests/test-cbrtl-ieee.c: New file.
948
949         New module 'cbrtl-ieee'.
950         * modules/cbrtl-ieee: New file.
951
952         Tests for module 'cbrt-ieee'.
953         * modules/cbrt-ieee-tests: New file.
954         * tests/test-cbrt-ieee.c: New file.
955
956         New module 'cbrt-ieee'.
957         * modules/cbrt-ieee: New file.
958
959         Tests for module 'cbrtf-ieee'.
960         * modules/cbrtf-ieee-tests: New file.
961         * tests/test-cbrtf-ieee.c: New file.
962         * tests/test-cbrt-ieee.h: New file.
963
964         New module 'cbrtf-ieee'.
965         * modules/cbrtf-ieee: New file.
966
967 2012-02-29  Bruno Haible  <bruno@clisp.org>
968
969         cbrtf: Work around bug in IRIX 6.5 system function.
970         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
971         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
972         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
973         work.
974         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
975         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
976         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
977         (Depends-on): Update conditions.
978         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
979
980 2012-02-29  Bruno Haible  <bruno@clisp.org>
981
982         Tests for module 'cbrtl'.
983         * modules/cbrtl-tests: New file.
984         * tests/test-cbrtl.c: New file.
985
986         New module 'cbrtl'.
987         * lib/math.in.h (cbrtl): New declaration.
988         * lib/cbrtl.c: New file.
989         * m4/cbrtl.m4: New file.
990         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
991         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
992         HAVE_DECL_CBRTL.
993         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
994         HAVE_DECL_CBRTL.
995         * modules/cbrtl: New file.
996         * tests/test-math-c++.cc: Check the declaration of cbrtl.
997         * doc/posix-functions/cbrtl.texi: Mention the new module.
998
999 2012-02-29  Bruno Haible  <bruno@clisp.org>
1000
1001         Tests for module 'cbrtf'.
1002         * modules/cbrtf-tests: New file.
1003         * tests/test-cbrtf.c: New file.
1004
1005         New module 'cbrtf'.
1006         * lib/math.in.h (cbrtf): New declaration.
1007         * lib/cbrtf.c: New file.
1008         * m4/cbrtf.m4: New file.
1009         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
1010         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
1011         HAVE_DECL_CBRTF.
1012         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
1013         HAVE_DECL_CBRTF.
1014         * modules/cbrtf: New file.
1015         * tests/test-math-c++.cc: Check the declaration of cbrtf.
1016         * doc/posix-functions/cbrtf.texi: Mention the new module.
1017
1018 2012-02-29  Bruno Haible  <bruno@clisp.org>
1019
1020         cbrt: Provide replacement on MSVC and Minix.
1021         * lib/math.in.h (cbrt): New declaration.
1022         * lib/cbrt.c: New file.
1023         * m4/cbrt.m4: New file.
1024         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
1025         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
1026         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
1027         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
1028         (Depends-on): Add dependencies.
1029         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
1030         * tests/test-math-c++.cc: Check the declaration of cbrt.
1031         * doc/posix-functions/cbrt.texi: Mention that the module provides a
1032         replacement.
1033
1034 2012-02-29  Bruno Haible  <bruno@clisp.org>
1035
1036         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
1037         * m4/hypotl-ieee.m4: New file.
1038         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
1039         test whether hypotl works with mixed NaN and Infinity arguments.
1040         Replace it if not.
1041         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
1042         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
1043         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
1044         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
1045         (Depends-on): Update conditions.
1046         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
1047         (Depends-on): Add hypot-ieee.
1048         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
1049         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
1050
1051         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
1052         * m4/hypotf-ieee.m4: New file.
1053         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
1054         test whether hypotf works with mixed NaN and Infinity arguments.
1055         Replace it if not.
1056         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
1057         (Depends-on): Add hypot-ieee.
1058         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
1059         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
1060
1061         hypot-ieee: Work around test failure on OSF/1 and native Windows.
1062         * lib/math.in.h (hypot): New declaration.
1063         * lib/hypot.c: New file.
1064         * m4/hypot-ieee.m4: New file.
1065         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
1066         whether hypot works with mixed NaN and Infinity arguments. Replace it
1067         if not.
1068         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
1069         REPLACE_HYPOT.
1070         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
1071         * modules/hypot (Files): Add lib/hypot.c.
1072         (Depends-on): Add dependencies.
1073         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
1074         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
1075         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
1076         * tests/test-math-c++.cc: Check the declaration of hypot.
1077         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
1078
1079         Tests for module 'hypotl-ieee'.
1080         * modules/hypotl-ieee-tests: New file.
1081         * tests/test-hypotl-ieee.c: New file.
1082
1083         New module 'hypotl-ieee'.
1084         * modules/hypotl-ieee: New file.
1085
1086         Tests for module 'hypot-ieee'.
1087         * modules/hypot-ieee-tests: New file.
1088         * tests/test-hypot-ieee.c: New file.
1089
1090         New module 'hypot-ieee'.
1091         * modules/hypot-ieee: New file.
1092
1093         Tests for module 'hypotf-ieee'.
1094         * modules/hypotf-ieee-tests: New file.
1095         * tests/test-hypotf-ieee.c: New file.
1096         * tests/test-hypot-ieee.h: New file.
1097
1098         New module 'hypotf-ieee'.
1099         * modules/hypotf-ieee: New file.
1100
1101 2012-02-29  Bruno Haible  <bruno@clisp.org>
1102
1103         Remove unused variables.
1104         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
1105         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
1106         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
1107         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
1108
1109 2012-02-29  Eric Blake  <eblake@redhat.com>
1110
1111         termios: fix pid_t always, not just for tcgetsid
1112         * doc/posix-headers/termios.texi (termios.h): Mention problem.
1113         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
1114         just when building tcgetsid.
1115
1116 2012-02-29  Bruno Haible  <bruno@clisp.org>
1117
1118         Tests for module 'hypotl'.
1119         * modules/hypotl-tests: New file.
1120         * tests/test-hypotl.c: New file.
1121
1122         New module 'hypotl'.
1123         * lib/math.in.h (hypotl): New declaration.
1124         * lib/hypotl.c: New file.
1125         * m4/hypotl.m4: New file.
1126         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
1128         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
1129         * modules/hypotl: New file.
1130         * tests/test-math-c++.cc: Check the hypotl declaration.
1131         * doc/posix-functions/hypotl.texi: Mention the new module.
1132
1133 2012-02-29  Eric Blake  <eblake@redhat.com>
1134
1135         tcgetsid: fix cygwin header bug
1136         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
1137
1138         docs: update cygwin progress
1139         * doc/posix-functions/llround.texi (llround): Added in cygwin
1140         1.7.8.
1141         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
1142         * doc/glibc-functions/program_invocation_name.texi
1143         (program_invocation_name): Likewise.
1144         * doc/glibc-functions/program_invocation_short_name.texi
1145         (program_invocation_short_name): Likewise.
1146         * doc/glibc-functions/madvise.texi (madvise): Likewise.
1147         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
1148         Likewise.
1149         * doc/posix-functions/pthread_spin_destroy.texi
1150         (pthread_spin_destroy): Added in cygwin 1.7.10.
1151         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
1152         Likewise.
1153         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
1154         Likewise.
1155         * doc/posix-functions/pthread_spin_trylock.texi
1156         (pthread_spin_trylock): Likewise.
1157         * doc/posix-functions/pthread_spin_unlock.texi
1158         (pthread_spin_unlock): Likewise.
1159         * doc/posix-functions/pthread_setschedprio.texi
1160         (pthread_setschedprio): Likewise.
1161         * doc/posix-functions/pthread_attr_getstack.texi
1162         (pthread_attr_getstack): Likewise.
1163         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
1164         (pthread_attr_getstackaddr): Likewise.
1165         * doc/glibc-functions/pthread_getattr_np.texi
1166         (pthread_getattr_np): Likewise.
1167         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
1168         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
1169         * doc/posix-functions/clock_settime.texi (clock_settime):
1170         Likewise.
1171         * doc/posix-functions/pthread_attr_getguardsize.texi
1172         (pthread_attr_getguardsize): Likewise.
1173         * doc/posix-functions/pthread_attr_setguardsize.texi
1174         (pthread_attr_setguardsize): Likewise.
1175         * doc/posix-functions/pthread_attr_setstack.texi
1176         (pthread_attr_setstack): Likewise.
1177         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
1178         (pthread_attr_setstackaddr): Likewise.
1179         * doc/posix-functions/clock_getcpuclockid.texi
1180         (clock_getcpuclockid): Likewise.
1181         * doc/posix-functions/pthread_getcpuclockid.texi
1182         (pthread_getcpuclockid): Likewise.
1183         * doc/glibc-functions/error.texi (error): Likewise.
1184         * doc/glibc-functions/error_at_line.texi (error_at_line):
1185         Likewise.
1186         * doc/glibc-functions/error_message_count.texi
1187         (error_message_count): Likewise.
1188         * doc/glibc-functions/error_one_per_line.texi
1189         (error_one_per_line): Likewise.
1190         * doc/glibc-functions/error_print_progname.texi
1191         (error_print_progname): Likewise.
1192         * doc/posix-functions/pthread_condattr_getclock.texi
1193         (pthread_condattr_getclock): Likewise.
1194         * doc/posix-functions/pthread_condattr_setclock.texi
1195         (pthread_condattr_setclock): Likewise.
1196         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
1197         Likewise.
1198         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
1199         * doc/glibc-functions/getpt.texi (getpt): Likewise.
1200         * doc/glibc-functions/get_current_dir_name.texi
1201         (get_current_dir_name): Likewise.
1202         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
1203         Likewise.
1204         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
1205         wrong return type.
1206         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
1207         1.7.11.
1208
1209 2012-02-29  Bruno Haible  <bruno@clisp.org>
1210
1211         Tests for module 'hypotf'.
1212         * modules/hypotf-tests: New file.
1213         * tests/test-hypotf.c: New file.
1214
1215         New module 'hypotf'.
1216         * lib/math.in.h (hypotf): New declaration.
1217         * lib/hypotf.c: New file.
1218         * m4/hypotf.m4: New file.
1219         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1220         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
1221         REPLACE_HYPOTF.
1222         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
1223         REPLACE_HYPOTF.
1224         * modules/hypotf: New file.
1225         * tests/test-math-c++.cc: Check the hypotf declaration.
1226         * doc/posix-functions/hypotf.texi: Mention the new module.
1227
1228         hypot: Prepare for hypotf module.
1229         * m4/hypot.m4: New file.
1230         * modules/hypot (Files): Add m4/hypot.m4.
1231         (configure.ac): Invoke gl_FUNC_HYPOT.
1232
1233 2012-02-29  Bruno Haible  <bruno@clisp.org>
1234
1235         hypot tests: More tests.
1236         * tests/test-hypot.c: Include <float.h>.
1237         (main): Add tests about overflow and underflow.
1238
1239 2012-02-29  Bruno Haible  <bruno@clisp.org>
1240
1241         math code: Add comments.
1242         * lib/acosl.c: Add comment about related glibc source files.
1243         * lib/asinl.c: Likewise.
1244         * lib/atanl.c: Likewise.
1245         * lib/expl.c: Likewise.
1246         * lib/logl.c: Likewise.
1247         * lib/sincosl.c: Likewise.
1248         * lib/sinl.c: Likewise.
1249         * lib/tanl.c: Likewise.
1250         * lib/trigl.c: Likewise.
1251         * lib/cosl.c: Likewise. Fix comments.
1252
1253 2012-02-28  Bruno Haible  <bruno@clisp.org>
1254
1255         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
1256         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
1257         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
1258         HUGE_VALL are defined.
1259         (numeric_equald): Renamed from numeric_equal.
1260         (numeric_equalf, numeric_equall): New functions.
1261         (main): Check also HUGE_VALF, HUGE_VALL.
1262         * modules/math-tests (Files): Add tests/macros.h.
1263         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
1264         HUGE_VALL.
1265
1266 2012-02-28  Bruno Haible  <bruno@clisp.org>
1267
1268         doc: Move ISO C11 feature notes into POSIX chapters.
1269         * doc/posix-functions/aligned_alloc.texi: Renamed from
1270         doc/glibc-functions/aligned_alloc.texi.
1271         * doc/posix-functions/quick_exit.texi: Renamed from
1272         doc/glibc-functions/quick_exit.texi.
1273         * doc/posix-headers/uchar.texi: Renamed from
1274         doc/glibc-headers/uchar.texi.
1275         * doc/posix-functions/c16rtomb.texi: Renamed from
1276         doc/glibc-functions/c16rtomb.texi.
1277         * doc/posix-functions/c32rtomb.texi: Renamed from
1278         doc/glibc-functions/c32rtomb.texi.
1279         * doc/posix-functions/mbrtoc16.texi: Renamed from
1280         doc/glibc-functions/mbrtoc16.texi.
1281         * doc/posix-functions/mbrtoc32.texi: Renamed from
1282         doc/glibc-functions/mbrtoc32.texi.
1283         * doc/gnulib.texi: Update.
1284         (Glibc uchar.h): Remove section.
1285         Suggested by Eric Blake.
1286
1287 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
1288
1289         stdnoreturn: port to MSVC better
1290         MSVC standard headers use __declspec(noreturn), so #define noreturn
1291         to empty on that platform.  Reported by Bruno Haible in
1292         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
1293         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
1294         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
1295
1296 2012-02-28  Bruno Haible  <bruno@clisp.org>
1297
1298         doc: Mention new glibc headers and functions.
1299         * doc/glibc-headers/uchar.texi: New file.
1300         * doc/glibc-functions/aligned_alloc.texi: New file.
1301         * doc/glibc-functions/c16rtomb.texi: New file.
1302         * doc/glibc-functions/c32rtomb.texi: New file.
1303         * doc/glibc-functions/clock_adjtime.texi: New file.
1304         * doc/glibc-functions/fanotify_init.texi: New file.
1305         * doc/glibc-functions/fanotify_mark.texi: New file.
1306         * doc/glibc-functions/inet6_opt_append.texi: New file.
1307         * doc/glibc-functions/inet6_opt_find.texi: New file.
1308         * doc/glibc-functions/inet6_opt_finish.texi: New file.
1309         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
1310         * doc/glibc-functions/inet6_opt_init.texi: New file.
1311         * doc/glibc-functions/inet6_opt_next.texi: New file.
1312         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
1313         * doc/glibc-functions/inet6_rth_add.texi: New file.
1314         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
1315         * doc/glibc-functions/inet6_rth_init.texi: New file.
1316         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
1317         * doc/glibc-functions/inet6_rth_segments.texi: New file.
1318         * doc/glibc-functions/inet6_rth_space.texi: New file.
1319         * doc/glibc-functions/login.texi: New file.
1320         * doc/glibc-functions/mbrtoc16.texi: New file.
1321         * doc/glibc-functions/mbrtoc32.texi: New file.
1322         * doc/glibc-functions/name_to_handle_at.texi: New file.
1323         * doc/glibc-functions/ntp_gettimex.texi: New file.
1324         * doc/glibc-functions/open_by_handle_at.texi: New file.
1325         * doc/glibc-functions/prlimit.texi: New file.
1326         * doc/glibc-functions/process_vm_readv.texi: New file.
1327         * doc/glibc-functions/process_vm_writev.texi: New file.
1328         * doc/glibc-functions/recvmmsg.texi: New file.
1329         * doc/glibc-functions/scandirat.texi: New file.
1330         * doc/glibc-functions/sendmmsg.texi: New file.
1331         * doc/glibc-functions/setns.texi: New file.
1332         * doc/glibc-functions/timespec_get.texi: New file.
1333         * doc/gnulib.texi: Include them.
1334         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
1335         sections.
1336         Reported by Eric Blake.
1337
1338 2012-02-28  Bruno Haible  <bruno@clisp.org>
1339
1340         Avoid compilation errors with MSVC option -fp:strict.
1341         * lib/floor.c: Use MSVC specific pragma fenv_access.
1342         * lib/ceil.c: Likewise.
1343         * lib/trunc.c: Likewise.
1344         * lib/round.c: Likewise.
1345         * lib/rint.c: Likewise.
1346         * lib/fma.c: Likewise.
1347         * lib/integer_length.c: Likewise.
1348         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1349         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1350         * tests/test-floor2.c: Likewise.
1351         * tests/test-floorf2.c: Likewise.
1352         * tests/test-ceil2.c: Likewise.
1353         * tests/test-ceilf2.c: Likewise.
1354         * tests/test-trunc2.c: Likewise.
1355         * tests/test-truncf2.c: Likewise.
1356         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1357
1358 2012-02-27  Bruno Haible  <bruno@clisp.org>
1359
1360         Tests for module 'sqrtl-ieee'.
1361         * modules/sqrtl-ieee-tests: New file.
1362         * tests/test-sqrtl-ieee.c: New file.
1363
1364         New module 'sqrtl-ieee'.
1365         * modules/sqrtl-ieee: New file.
1366
1367         Tests for module 'sqrt-ieee'.
1368         * modules/sqrt-ieee-tests: New file.
1369         * tests/test-sqrt-ieee.c: New file.
1370
1371         New module 'sqrt-ieee'.
1372         * modules/sqrt-ieee: New file.
1373
1374         Tests for module 'sqrtf-ieee'.
1375         * modules/sqrtf-ieee-tests: New file.
1376         * tests/test-sqrtf-ieee.c: New file.
1377         * tests/test-sqrt-ieee.h: New file.
1378
1379         New module 'sqrtf-ieee'.
1380         * modules/sqrtf-ieee: New file.
1381
1382 2012-02-27  Bruno Haible  <bruno@clisp.org>
1383
1384         remainderl-ieee: Work around test failure on OSF/1.
1385         * m4/remainderl-ieee.m4: New file.
1386         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
1387         present, test whether remainderl works with a zero second argument.
1388         Replace it if not.
1389         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
1390         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
1391         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
1392         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
1393         (Depends-on): Update conditions.
1394         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
1395         (Depends-on): Add remainder-ieee.
1396         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
1397         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
1398         module.
1399
1400         remainderf-ieee: Work around test failure on OSF/1.
1401         * m4/remainderf-ieee.m4: New file.
1402         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
1403         present, test whether remainderf works with a zero second argument.
1404         Replace it if not.
1405         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
1406         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
1407         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
1408         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
1409         (Depends-on): Update conditions.
1410         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
1411         (Depends-on): Add remainder-ieee.
1412         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
1413         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
1414         module.
1415
1416         remainder-ieee: Work around test failure on OSF/1.
1417         * m4/remainder-ieee.m4: New file.
1418         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
1419         present, test whether remainder works with a zero second argument.
1420         Replace it if not.
1421         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
1422         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
1423         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
1424         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
1425         (Depends-on): Update dependencies.
1426         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
1427         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
1428         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
1429
1430         Tests for module 'remainderl-ieee'.
1431         * modules/remainderl-ieee-tests: New file.
1432         * tests/test-remainderl-ieee.c: New file.
1433
1434         New module 'remainderl-ieee'.
1435         * modules/remainderl-ieee: New file.
1436
1437         Tests for module 'remainder-ieee'.
1438         * modules/remainder-ieee-tests: New file.
1439         * tests/test-remainder-ieee.c: New file.
1440
1441         New module 'remainder-ieee'.
1442         * modules/remainder-ieee: New file.
1443
1444         Tests for module 'remainderf-ieee'.
1445         * modules/remainderf-ieee-tests: New file.
1446         * tests/test-remainderf-ieee.c: New file.
1447         * tests/test-remainder-ieee.h: New file.
1448
1449         New module 'remainderf-ieee'.
1450         * modules/remainderf-ieee: New file.
1451
1452 2012-02-27  Bruno Haible  <bruno@clisp.org>
1453
1454         modff, modfl: Fix configure syntax error.
1455         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
1456         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
1457
1458 2012-02-27  Bruno Haible  <bruno@clisp.org>
1459
1460         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
1461         * m4/fmodl-ieee.m4: New file.
1462         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
1463         whether fmodl works with zero arguments. Replace it if not.
1464         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
1465         (Depends-on): Add fmod-ieee.
1466         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
1467         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
1468
1469         fmodf-ieee: Work around test failure on OSF/1.
1470         * m4/fmodf-ieee.m4: New file.
1471         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
1472         whether fmodf works with zero arguments. Replace it if not.
1473         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
1474         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
1475         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
1476         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
1477         (Depends-on): Update dependencies.
1478         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
1479         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
1480         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
1481
1482         fmodf-ieee: Work around test failure on MSVC 9.
1483         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
1484         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
1485
1486         fmod-ieee: Work around test failures on OSF/1, mingw.
1487         * m4/fmod-ieee.m4: New file.
1488         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
1489         whether fmod works with zero arguments. Replace it if not.
1490         * lib/math.in.h (fmod): New declaration.
1491         * lib/fmod.c: New file.
1492         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
1493         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
1494         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
1495         * modules/fmod (Files): Add lib/fmod.c.
1496         (Depends-on): Add math, isinf, trunc, fma.
1497         (configure.ac): Arrange to compile lib/fmod.c if needed.
1498         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
1499         m4/signbit.m4.
1500         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
1501         * tests/test-math-c++.cc: Check the declaration of fmod.
1502         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
1503
1504         fmodl-ieee: Fix test failures.
1505         * lib/fmodl.c (fmodl): Treat Inf specially.
1506         * modules/fmodl (Depends-on): Add isinf.
1507
1508         Tests for module 'fmodl-ieee'.
1509         * modules/fmodl-ieee-tests: New file.
1510         * tests/test-fmodl-ieee.c: New file.
1511
1512         New module 'fmodl-ieee'.
1513         * modules/fmodl-ieee: New file.
1514
1515         Tests for module 'fmod-ieee'.
1516         * modules/fmod-ieee-tests: New file.
1517         * tests/test-fmod-ieee.c: New file.
1518
1519         New module 'fmod-ieee'.
1520         * modules/fmod-ieee: New file.
1521
1522         Tests for module 'fmodf-ieee'.
1523         * modules/fmodf-ieee-tests: New file.
1524         * tests/test-fmodf-ieee.c: New file.
1525         * tests/test-fmod-ieee.h: New file.
1526
1527         New module 'fmodf-ieee'.
1528         * modules/fmodf-ieee: New file.
1529
1530 2012-02-27  Bruno Haible  <bruno@clisp.org>
1531
1532         Tests for module 'rintl-ieee'.
1533         * modules/rintl-ieee-tests: New file.
1534         * tests/test-rintl-ieee.c: New file.
1535
1536         New module 'rintl-ieee'.
1537         * modules/rintl-ieee: New file.
1538
1539         Tests for module 'rint-ieee'.
1540         * modules/rint-ieee-tests: New file.
1541         * tests/test-rint-ieee.c: New file.
1542
1543         New module 'rint-ieee'.
1544         * modules/rint-ieee: New file.
1545
1546         Tests for module 'rintf-ieee'.
1547         * modules/rintf-ieee-tests: New file.
1548         * tests/test-rintf-ieee.c: New file.
1549         * tests/test-rint-ieee.h: New file.
1550
1551         New module 'rintf-ieee'.
1552         * modules/rintf-ieee: New file.
1553
1554 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
1555
1556         regex: re_search etc. should return -2 when memory exhausted
1557         This bug was uncovered when testing 'grep'.  Without the fix,
1558         re_search and friends return -1 when memory is exhausted, but -1
1559         means no match, and this causes grep to falsely report no-match
1560         instead of memory-exhaustion.  See
1561         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
1562         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
1563         trouble; this can occur if re_search_internal ran out of memory.
1564
1565 2012-02-26  Bruno Haible  <bruno@clisp.org>
1566
1567         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
1568         * m4/modfl-ieee.m4: New file.
1569         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
1570         whether modfl works with Inf. Replace it if not.
1571         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
1572         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
1573         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
1574         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
1575         (Depends-on): Update dependencies.
1576         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
1577         m4/signbit.m4.
1578         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
1579         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
1580
1581         modfl-ieee: Fix dependencies.
1582         * modules/modfl-ieee (Depends-on): Add modf-ieee.
1583
1584         modfl-ieee: Fix test failures.
1585         * lib/modfl.c (modfl): Treat NaN and Inf specially.
1586         * modules/modfl (Depends-on): Add isfinite, isinf.
1587
1588         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
1589         * m4/modff-ieee.m4: New file.
1590         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
1591         whether modff works with NaN and Inf. Replace it if not.
1592         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
1593         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
1594         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
1595         * modules/modff (configure.ac): Consider REPLACE_MODFF.
1596         (Depends-on): Update dependencies.
1597         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
1598         m4/signbit.m4.
1599         (Depends-on): Add modf-ieee.
1600         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
1601         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
1602
1603         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
1604         * m4/modf-ieee.m4: New file.
1605         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
1606         whether modf works with NaN and Inf. Replace it if not.
1607         * lib/math.in.h (modf): New declaration.
1608         * lib/modf.c: New file.
1609         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
1610         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
1611         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
1612         * modules/modf (Files): Add lib/modf.c.
1613         (Depends-on): Add math, isfinite, trunc, isinf.
1614         (configure.ac): Addrange to compile lib/modf.c if needed.
1615         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
1616         m4/signbit.m4.
1617         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
1618         * tests/test-math-c++.cc: Check the declaration of modf.
1619         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
1620
1621         Tests for module 'modfl-ieee'.
1622         * modules/modfl-ieee-tests: New file.
1623         * tests/test-modfl-ieee.c: New file.
1624
1625         New module 'modfl-ieee'.
1626         * modules/modfl-ieee: New file.
1627
1628         Tests for module 'modf-ieee'.
1629         * modules/modf-ieee-tests: New file.
1630         * tests/test-modf-ieee.c: New file.
1631
1632         New module 'modf-ieee'.
1633         * modules/modf-ieee: New file.
1634
1635         Tests for module 'modff-ieee'.
1636         * modules/modff-ieee-tests: New file.
1637         * tests/test-modff-ieee.c: New file.
1638         * tests/test-modf-ieee.h: New file.
1639
1640         New module 'modff-ieee'.
1641         * modules/modff-ieee: New file.
1642
1643 2012-02-26  Bruno Haible  <bruno@clisp.org>
1644
1645         Tests for module 'fabsl-ieee'.
1646         * modules/fabsl-ieee-tests: New file.
1647         * tests/test-fabsl-ieee.c: New file.
1648
1649         New module 'fabsl-ieee'.
1650         * modules/fabsl-ieee: New file.
1651
1652         Tests for module 'fabs-ieee'.
1653         * modules/fabs-ieee-tests: New file.
1654         * tests/test-fabs-ieee.c: New file.
1655
1656         New module 'fabs-ieee'.
1657         * modules/fabs-ieee: New file.
1658
1659         Tests for module 'fabsf-ieee'.
1660         * modules/fabsf-ieee-tests: New file.
1661         * tests/test-fabsf-ieee.c: New file.
1662         * tests/test-fabs-ieee.h: New file.
1663
1664         New module 'fabsf-ieee'.
1665         * modules/fabsf-ieee: New file.
1666
1667 2012-02-26  Bruno Haible  <bruno@clisp.org>
1668
1669         Tests for module 'fmal-ieee'.
1670         * modules/fmal-ieee-tests: New file.
1671         * tests/test-fmal-ieee.c: New file.
1672
1673         New module 'fmal-ieee'.
1674         * modules/fmal-ieee: New file.
1675
1676         Tests for module 'fma-ieee'.
1677         * modules/fma-ieee-tests: New file.
1678         * tests/test-fma-ieee.c: New file.
1679
1680         New module 'fma-ieee'.
1681         * modules/fma-ieee: New file.
1682
1683         Tests for module 'fmaf-ieee'.
1684         * modules/fmaf-ieee-tests: New file.
1685         * tests/test-fmaf-ieee.c: New file.
1686         * tests/test-fma-ieee.h: New file.
1687
1688         New module 'fmaf-ieee'.
1689         * modules/fmaf-ieee: New file.
1690
1691 2012-02-26  Bruno Haible  <bruno@clisp.org>
1692
1693         Tests for module 'ldexpl-ieee'.
1694         * modules/ldexpl-ieee-tests: New file.
1695         * tests/test-ldexpl-ieee.c: New file.
1696
1697         New module 'ldexpl-ieee'.
1698         * modules/ldexpl-ieee: New file.
1699
1700         Tests for module 'ldexp-ieee'.
1701         * modules/ldexp-ieee-tests: New file.
1702         * tests/test-ldexp-ieee.c: New file.
1703
1704         New module 'ldexp-ieee'.
1705         * modules/ldexp-ieee: New file.
1706
1707         Tests for module 'ldexpf-ieee'.
1708         * modules/ldexpf-ieee-tests: New file.
1709         * tests/test-ldexpf-ieee.c: New file.
1710         * tests/test-ldexp-ieee.h: New file.
1711
1712         New module 'ldexpf-ieee'.
1713         * modules/ldexpf-ieee: New file.
1714
1715 2012-02-26  Bruno Haible  <bruno@clisp.org>
1716
1717         Refactor frexp*-ieee tests.
1718         * tests/test-frexp-ieee.h: New file.
1719         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
1720         (main): Just call test_function.
1721         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
1722         (main): Just call test_function.
1723         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
1724         (main): Just call test_function.
1725         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
1726         * modules/frexp-ieee-tests (Files): Likewise.
1727         * modules/frexpl-ieee-tests (Files): Likewise.
1728
1729         Tests for module 'frexpl-ieee'.
1730         * modules/frexpl-ieee-tests: New file.
1731         * tests/test-frexpl-ieee.c: New file.
1732
1733         New module 'frexpl-ieee'.
1734         * modules/frexpl-ieee: New file.
1735
1736         Tests for module 'frexp-ieee'.
1737         * modules/frexp-ieee-tests: New file.
1738         * tests/test-frexp-ieee.c: New file.
1739
1740         New module 'frexp-ieee'.
1741         * modules/frexp-ieee: New file.
1742
1743         Tests for module 'frexpf-ieee'.
1744         * modules/frexpf-ieee-tests: New file.
1745         * tests/test-frexpf-ieee.c: New file.
1746
1747         New module 'frexpf-ieee'.
1748         * modules/frexpf-ieee: New file.
1749
1750 2012-02-26  Bruno Haible  <bruno@clisp.org>
1751
1752         roundl-ieee tests: More tests.
1753         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1754         (main): Add tests for [MX] shaded specification in POSIX.
1755         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1756         (Depends-on): Add isnanl-nolibm.
1757
1758         round-ieee tests: More tests.
1759         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1760         (main): Add tests for [MX] shaded specification in POSIX.
1761         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1762         (Depends-on): Add isnand-nolibm.
1763
1764         roundf-ieee tests: More tests.
1765         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1766         (main): Add tests for [MX] shaded specification in POSIX.
1767         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1768         (Depends-on): Add isnanf-nolibm.
1769
1770         truncl-ieee tests: More tests.
1771         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1772         (main): Add tests for [MX] shaded specification in POSIX.
1773         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1774         (Depends-on): Add isnanl-nolibm.
1775
1776         trunc-ieee tests: More tests.
1777         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1778         (main): Add tests for [MX] shaded specification in POSIX.
1779         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1780         (Depends-on): Add isnand-nolibm.
1781
1782         truncf-ieee tests: More tests.
1783         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1784         (main): Add tests for [MX] shaded specification in POSIX.
1785         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1786         (Depends-on): Add isnanf-nolibm.
1787
1788         ceill-ieee tests: More tests.
1789         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1790         (main): Add tests for [MX] shaded specification in POSIX.
1791         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1792         (Depends-on): Add isnanl-nolibm.
1793
1794         ceil-ieee tests: More tests.
1795         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1796         (main): Add tests for [MX] shaded specification in POSIX.
1797         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1798         (Depends-on): Add isnand-nolibm.
1799
1800         ceilf-ieee tests: More tests.
1801         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1802         (main): Add tests for [MX] shaded specification in POSIX.
1803         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1804         (Depends-on): Add isnanf-nolibm.
1805
1806         floorl-ieee tests: More tests.
1807         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1808         (main): Add tests for [MX] shaded specification in POSIX.
1809         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1810         (Depends-on): Add isnanl-nolibm.
1811
1812         floor-ieee tests: More tests.
1813         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1814         (main): Add tests for [MX] shaded specification in POSIX.
1815         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1816         (Depends-on): Add isnand-nolibm.
1817
1818         floorf-ieee tests: More tests.
1819         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1820         (main): Add tests for [MX] shaded specification in POSIX.
1821         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1822         (Depends-on): Add isnanf-nolibm.
1823
1824 2012-02-26  Bruno Haible  <bruno@clisp.org>
1825
1826         fpieee: More comments.
1827         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
1828
1829 2012-02-25  Bruno Haible  <bruno@clisp.org>
1830
1831         Tests for module 'log10l'.
1832         * modules/log10l-tests: New file.
1833         * tests/test-log10l.c: New file.
1834         * tests/test-math-c++.cc: Check the declaration of log10l.
1835
1836         New module 'log10l'.
1837         * lib/math.in.h (log10l): New declaration.
1838         * lib/log10l.c: New file.
1839         * m4/log10l.m4: New file.
1840         * modules/log10l: New file.
1841         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
1842         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
1843         HAVE_DECL_LOG10L.
1844         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
1845         HAVE_DECL_LOG10L.
1846         * doc/posix-functions/log10l.texi: Mention the new module.
1847
1848 2012-02-25  Bruno Haible  <bruno@clisp.org>
1849
1850         fmodl, remainder*: Avoid wrong results due to rounding errors.
1851         * lib/fmodl.c (fmodl): Correct the result if it is not within the
1852         expected bounds.
1853         * lib/remainderf.c (remainderf): Likewise.
1854         * lib/remainder.c (remainder): Likewise.
1855         * lib/remainderl.c (remainderl): Likewise.
1856
1857 2012-02-25  Bruno Haible  <bruno@clisp.org>
1858
1859         Tests for module 'remainderl'.
1860         * modules/remainderl-tests: New file.
1861         * tests/test-remainderl.c: New file.
1862         * tests/test-math-c++.cc: Check the declaration of remainderl.
1863
1864         New module 'remainderl'.
1865         * lib/math.in.h (remainderl): New declaration.
1866         * lib/remainderl.c: New file.
1867         * m4/remainderl.m4: New file.
1868         * modules/remainderl: New file.
1869         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
1870         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
1871         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
1872         HAVE_REMAINDERL.
1873         * doc/posix-functions/remainderl.texi: Mention the new module.
1874
1875 2012-02-25  Bruno Haible  <bruno@clisp.org>
1876
1877         Tests for module 'remainderf'.
1878         * modules/remainderf-tests: New file.
1879         * tests/test-remainderf.c: New file.
1880         * tests/test-math-c++.cc: Check the declaration of remainderf.
1881
1882         New module 'remainderf'.
1883         * lib/math.in.h (remainderf): New declaration.
1884         * lib/remainderf.c: New file.
1885         * m4/remainderf.m4: New file.
1886         * modules/remainderf: New file.
1887         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
1888         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
1889         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
1890         HAVE_REMAINDERF.
1891         * doc/posix-functions/remainderf.texi: Mention the new module.
1892
1893 2012-02-25  Bruno Haible  <bruno@clisp.org>
1894
1895         remainder: Support for MSVC.
1896         * lib/math.in.h (remainder): New declaration.
1897         * lib/remainder.c: New file.
1898         * m4/remainder.m4: New file.
1899         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
1900         (Depends-on): Add math, round, fma.
1901         (configure.ac): Use results of gl_FUNC_REMAINDER.
1902         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
1903         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
1904         HAVE_DECL_REMAINDER.
1905         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
1906         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
1907         * tests/test-math-c++.cc: Check the declaration of remainder.
1908         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
1909         problems are fixed.
1910
1911 2012-02-25  Bruno Haible  <bruno@clisp.org>
1912
1913         Tests for module 'fmodl'.
1914         * modules/fmodl-tests: New file.
1915         * tests/test-fmodl.c: New file.
1916         * tests/test-math-c++.cc: Check the declaration of fmodl.
1917
1918         New module 'fmodl'.
1919         * lib/math.in.h (fmodl): New declaration.
1920         * lib/fmodl.c: New file.
1921         * m4/fmodl.m4: New file.
1922         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
1923         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
1924         REPLACE_FMODL.
1925         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
1926         REPLACE_FMODL.
1927         * modules/fmodl: New file.
1928         * doc/posix-functions/fmodl.texi: Mention the new module.
1929
1930 2012-02-25  Bruno Haible  <bruno@clisp.org>
1931
1932         Tests for module 'modfl'.
1933         * modules/modfl-tests: New file.
1934         * tests/test-modfl.c: New file.
1935         * tests/test-math-c++.cc: Check the declaration of modfl.
1936
1937         New module 'modfl'.
1938         * lib/math.in.h (modfl): New declaration.
1939         * lib/modfl.c: New file.
1940         * m4/modfl.m4: New file.
1941         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
1942         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
1943         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
1944         * modules/modfl: New file.
1945         * doc/posix-functions/modfl.texi: Mention the new module.
1946
1947 2012-02-25  Bruno Haible  <bruno@clisp.org>
1948
1949         Tests for module 'fabsl'.
1950         * modules/fabsl-tests: New file.
1951         * tests/test-fabsl.c: New file.
1952         * tests/test-math-c++.cc: Check the declaration of fabsl.
1953
1954         New module 'fabsl'.
1955         * lib/math.in.h (fabsl): New declaration.
1956         * lib/fabsl.c: New file.
1957         * m4/fabsl.m4: New file.
1958         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
1959         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
1960         REPLACE_FABSL.
1961         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
1962         REPLACE_FABSL.
1963         * modules/fabsl: New file.
1964         * doc/posix-functions/fabsl.texi: Mention the new module.
1965
1966 2012-02-25  Bruno Haible  <bruno@clisp.org>
1967
1968         fabs tests: More tests.
1969         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
1970         (zero): New variable.
1971         (main): Add tests for signed zero.
1972         * modules/fabs-tests (Files): Add tests/minus-zero.h.
1973
1974         fabsf tests: More tests.
1975         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
1976         (zero): New variable.
1977         (main): Add tests for signed zero.
1978         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
1979
1980 2012-02-24  Bruno Haible  <bruno@clisp.org>
1981
1982         atanl: Provide function definition on MSVC.
1983         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
1984         function pointer.
1985         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
1986
1987 2012-02-24  Bruno Haible  <bruno@clisp.org>
1988
1989         acosl: Provide function definition on MSVC.
1990         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
1991         function pointer.
1992         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
1993
1994 2012-02-24  Bruno Haible  <bruno@clisp.org>
1995
1996         asinl: Provide function definition on MSVC.
1997         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
1998         function pointer.
1999         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
2000
2001 2012-02-24  Bruno Haible  <bruno@clisp.org>
2002
2003         tanl: Provide function definition on MSVC.
2004         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
2005         function pointer.
2006         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
2007
2008 2012-02-24  Bruno Haible  <bruno@clisp.org>
2009
2010         cosl: Provide function definition on MSVC.
2011         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
2012         function pointer.
2013         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
2014
2015 2012-02-24  Bruno Haible  <bruno@clisp.org>
2016
2017         sinl: Provide function definition on MSVC.
2018         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
2019         function pointer.
2020         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
2021
2022 2012-02-24  Bruno Haible  <bruno@clisp.org>
2023
2024         logl: Provide function definition on MSVC.
2025         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
2026         function pointer.
2027         * lib/math.in.h (logl): Undefine if it does not exist as a function.
2028
2029 2012-02-24  Bruno Haible  <bruno@clisp.org>
2030
2031         expl: Provide function definition on MSVC.
2032         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
2033         function pointer.
2034         * lib/math.in.h (expl): Undefine if it does not exist as a function.
2035
2036 2012-02-24  Bruno Haible  <bruno@clisp.org>
2037
2038         sqrtl: Provide function definition on MSVC.
2039         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
2040         a function pointer.
2041         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
2042
2043 2012-02-24  Bruno Haible  <bruno@clisp.org>
2044
2045         ceill: Provide function definition on MSVC.
2046         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
2047         used as a function pointer.
2048         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
2049
2050 2012-02-24  Bruno Haible  <bruno@clisp.org>
2051
2052         floorl: Provide function definition on MSVC.
2053         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
2054         used as a function pointer.
2055         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
2056
2057 2012-02-24  Bruno Haible  <bruno@clisp.org>
2058
2059         ceilf: Provide function definition on MSVC.
2060         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
2061         used as a function pointer.
2062         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
2063
2064 2012-02-24  Bruno Haible  <bruno@clisp.org>
2065
2066         floorf: Provide function definition on MSVC.
2067         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
2068         used as a function pointer.
2069         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
2070
2071 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2072
2073         stdnoreturn: new module
2074         This implements a replacement for C11's <stdnoreturn.h>.
2075         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
2076         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
2077         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
2078         * tests/test-stdnoreturn.c: New files.
2079
2080 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
2081
2082         regex: fix false multibyte matches in some regular expressions
2083         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
2084         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
2085         * lib/regex_internal.c (re_string_skip_chars):
2086         Fix miscomputation of remain_len that may cause incomplete
2087         multi-byte character and false match.
2088
2089 2012-02-24  Jim Meyering  <meyering@redhat.com>
2090
2091         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
2092         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
2093         uses with "==" *before* the call, e.g., 0 == strcmp (...)
2094         Remove now-unnecessary str''cmp obfuscation.
2095         Suggested by Akim Demaille.
2096
2097 2012-02-24  Bruno Haible  <bruno@clisp.org>
2098
2099         streq: Rename macro.
2100         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
2101         * NEWS: Mention the change.
2102         * lib/mbrtowc.c (mbrtowc): Update.
2103         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
2104         * lib/wcwidth.c (wcwidth): Update.
2105         Suggested by Akim Demaille and Jim Meyering.
2106
2107 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
2108
2109         regex: fix typo in definition of MIN
2110         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
2111         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
2112
2113 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2114             Bruno Haible  <bruno@clisp.org>
2115
2116         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
2117         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
2118         entries into a stack-allocated buffer directly.
2119         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
2120
2121 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2122             Bruno Haible  <bruno@clisp.org>
2123
2124         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
2125
2126          - There were several instances of this pattern:
2127
2128              for (;;) {
2129                n = acl (f, GETACLCNT, 0, NULL);
2130                [ allocate an array A of size N ]
2131                if (acl (f, GETACL, n, a) == n)
2132                  break;
2133              }
2134
2135            This loop might never terminate if some other process is constantly
2136            manipulating the file's ACL.  The loop should be rewritten to
2137            terminate.
2138
2139          - The acl (... GETACLNT ...) call is merely an optimization; its value
2140            is merely a hint as to how big to make the array.  A better
2141            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
2142            and just guess a reasonably-big size, growing the size and trying
2143            again if it's not large enough.  This guarantees termination, and
2144            saves a system call.
2145
2146         * lib/acl-internal.h: Include <limits.h>.
2147         (MIN, SIZE_MAX): New macros.
2148         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
2149         a stack-allocated buffer, and use malloc if it does not fit. Don't
2150         use GETACLCNT.
2151         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2152
2153 2012-02-19  Bruno Haible  <bruno@clisp.org>
2154
2155         acl: Fix endless loop on Solaris with vxfs.
2156         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
2157         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
2158         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2159         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
2160         * tests/test-sameacls.c (main)[Solaris]: Likewise.
2161         Reported by Bill Jones in
2162         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
2163
2164 2012-02-19  Bruno Haible  <bruno@clisp.org>
2165
2166         acl: Fix copy-acl test failure on Solaris 11 2011-11.
2167         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
2168         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
2169         that this function returns 0 in some more cases.
2170
2171 2012-02-19  Bruno Haible  <bruno@clisp.org>
2172
2173         acl: Update doc references.
2174         * doc/acl-resources.txt: Update links to Solaris documentation.
2175
2176 2012-02-19  Bruno Haible  <bruno@clisp.org>
2177
2178         Fix test failure in many locales on Solaris 11.
2179         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
2180         'tr' arguments.
2181         * tests/test-pipe-filter-ii1.c (main): Likewise.
2182         * build-aux/bootstrap (check_versions): Run 'tr' command with range
2183         expressions in the C locale.
2184         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
2185         * m4/host-os.m4 (gl_HOST_OS): Likewise.
2186
2187 2012-02-19  Bruno Haible  <bruno@clisp.org>
2188
2189         gnulib-tool: Improve usage message.
2190         * gnulib-tool (func_usage): Move doc of --help and --version to the
2191         section "Operation modes".
2192
2193 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
2194
2195         README-release: make it easier to execute commands
2196         * top/README-release: break commands out on to separate lines.
2197
2198 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
2199
2200         GNUmakefile: simplify detection of unconfigured trees
2201         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
2202         whether the tree make is being run from is already configured or
2203         not.  Related simplifications.
2204
2205 2012-02-13  Simon Josefsson  <simon@josefsson.org>
2206
2207         * gnulib-tool (func_usage): Document --help and --version.
2208
2209 2012-02-11  Jim Meyering  <meyering@redhat.com>
2210
2211         bootstrap: don't exit 0 upon gnulib-tool failure
2212         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
2213         its exit status, not 0.
2214
2215 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
2216
2217         README-release: various improvements
2218         * top/README-release: Give a command to push changes for the
2219         release.  Add "distcheck" to list of other pre-release checks.
2220         Fix instance of "make stable" which should be "make TYPE".
2221
2222 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2223
2224         maint: replace FSF snail-mail addresses with URLs
2225         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
2226         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
2227         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
2228         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
2229         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
2230         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
2231         * lib/check-version.c, lib/check-version.h, lib/config.charset:
2232         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
2233         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
2234         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
2235         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
2236         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
2237         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
2238         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
2239         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
2240         * lib/glthread/thread.c, lib/glthread/thread.h:
2241         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
2242         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
2243         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
2244         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
2245         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
2246         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
2247         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
2248         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
2249         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
2250         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
2251         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
2252         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
2253         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
2254         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
2255         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
2256         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
2257         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
2258         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
2259         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
2260         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
2261         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
2262         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
2263         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
2264         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
2265         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
2266         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
2267         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
2268         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
2269         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
2270         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
2271         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
2272         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
2273         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
2274         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
2275         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
2276         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
2277         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
2278         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
2279         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
2280         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
2281         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
2282         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
2283         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
2284         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
2285         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
2286         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
2287         * tests/test-poll.c, tests/test-quotearg-simple.c:
2288         * tests/test-quotearg.c, tests/test-quotearg.h:
2289         * tests/test-round-ieee.c, tests/test-round1.c:
2290         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
2291         * tests/test-roundl-ieee.c, tests/test-roundl.c:
2292         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
2293         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
2294         * tests/test-strerror.c, tests/test-strerror_r.c:
2295         * tests/test-strsignal.c, tests/test-strverscmp.c:
2296         * tests/test-xmemdup0.c:
2297         Replace FSF snail mail addresses with URLs, as per GNU coding
2298         standards.  See glibc bug
2299         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
2300
2301 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2302
2303         README-release: capitalize a word and split a line
2304         * top/README-release: Fix punctuation and spacing.
2305
2306 2012-02-08  Akim Demaille  <demaille@gostai.com>
2307
2308         fatal-signal: use C prototypes (with explicit void).
2309         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
2310         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
2311
2312 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2313
2314         regex: spelling fix
2315         * lib/regexec.c: spelling fix
2316
2317         regex: rely on stdint.h for SIZE_MAX
2318         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
2319
2320 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2321
2322         regex: merge glibc changes
2323
2324         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
2325         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
2326         (init_word_char): Work even if bitset words are not exactly 32 or
2327         64 bits wide.  Don't assume there are no padding bits.
2328         * lib/regex.c [_LIBC]: Do not include <config.h>.
2329         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
2330         and -Wtype-limits.
2331         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
2332         needless disagreement with glibc.  All uses changed.  Define it to
2333         1 only if _GNU_SOURCE, to match glibc.
2334         (_REG_RM_NAME): Remove; no longer needed, since the names in
2335         question are now all protected by __USE_GNU.
2336         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
2337         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
2338         * lib/regex_internal.h (MIN): New macro.
2339
2340         2012-01-03 Ulrich Drepper <drepper@gmail.com>
2341         * lib/regcomp.c (init_word_char): Optimize regex a bit.
2342
2343         2011-12-30 Jakub Jelinek <jakub@redhat.com>
2344         * lib/regex_internal.c (re_string_fetch_byte_case):
2345         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
2346         is miscompiled, and it turns out it is because of an incorrect
2347         attribute on re_string_fetch_byte_case.  Unlike
2348         re_string_peek_byte_case, this one is really not pure, it modifies
2349         memory (increments pstr->cur_idx), and with the pure attribute GCC
2350         assumed it doesn't and it cached the presumed value of
2351         regexp->cur_idx in a variable across the
2352          for (;; ++i)
2353            {
2354              if (i >= BRACKET_NAME_BUF_SIZE)
2355                return REG_EBRACK;
2356              if (token->type == OP_OPEN_CHAR_CLASS)
2357                ch = re_string_fetch_byte_case (regexp);
2358              else
2359                ch = re_string_fetch_byte (regexp);
2360              if (re_string_eoi(regexp))
2361                return REG_EBRACK;
2362              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
2363                break;
2364              elem->opr.name[i] = ch;
2365            }
2366
2367         2011-11-29 Andreas Schwab <schwab@redhat.com>
2368         * lib/regcomp.c (build_equiv_class):
2369         Fix access after end of search string in regex matcher.
2370
2371         2011-11-12 Ulrich Drepper <drepper@redhat.com>
2372         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
2373
2374         2011-10-12 Ulrich Drepper <drepper@redhat.com>
2375         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
2376
2377         2011-10-11 Ulrich Drepper <drepper@redhat.com>
2378         * lib/regcomp.c (parse_branch, parse_sub_exp):
2379         More regex memory leak fixes and tests.
2380         (parse_sub_exp, parse_bracket_exp):
2381         Fix memory leak for some invalid regular expressions.
2382
2383         2011-05-28 Ulrich Drepper <drepper@gmail.com>
2384         * lib/regex_internal.c, lib/regexec.c:
2385         Fix unnecessary overallocation due to incomplete character.  When
2386         incomplete characters are found at the end of a string the code
2387         ran amok and allocated lots of memory.  Stricter limits are now in
2388         place.
2389
2390         2011-05-20 Reuben Thomas <rrt@sc3d.org>
2391         * lib/regex.h: Update documentation.
2392
2393         2011-05-16 Aharon Robbins <arnold@skeeve.com>
2394         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
2395
2396         2010-05-05 Andreas Schwab <schwab@redhat.com>
2397         * lib/regexec.c (find_collation_sequence_value):
2398         Fix lookup of collation sequence value during regexp matching.
2399
2400         2010-01-22 Ulrich Drepper <drepper@redhat.com>
2401         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
2402
2403         2008-01-16 Ulrich Drepper <drepper@redhat.com>
2404         * lib/regex.h: Cleanup namespace.
2405
2406         2007-11-26 Ulrich Drepper <drepper@redhat.com>
2407         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
2408
2409         2007-08-26 Ulrich Drepper <drepper@redhat.com>
2410         * lib/regex_internal.h: Prevent some declarations and definitions
2411         to be seen when used in tests.
2412
2413         2005-05-06 Ulrich Drepper <drepper@redhat.com>
2414         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
2415         __libc_lock_* macros if not _LIBC.
2416         (struct re_dfa_t): Add lock.
2417
2418 2012-02-07  Eric Blake  <eblake@redhat.com>
2419
2420         maint.mk: also prohibit lower-case @var@
2421         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
2422         lower case, like @top_srcdir@.
2423
2424 2012-02-04  Eric Blake  <eblake@redhat.com>
2425
2426         canonicalize: avoid uninitialized memory use
2427         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
2428         random '/' left in dest.
2429         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
2430
2431 2012-02-04  Bruno Haible  <bruno@clisp.org>
2432
2433         isatty: Fix test failure of ptsname_r on native Windows.
2434         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
2435         and don't set errno.
2436         (isatty): Test first whether fd is valid. Set errno when returning 0.
2437
2438 2012-02-04  Bruno Haible  <bruno@clisp.org>
2439
2440         spawn-pipe tests: Fix a NULL program name in a diagnostic.
2441         * tests/test-spawn-pipe-main.c: Include progname.h.
2442         (main): Invoke set_program_name.
2443         * modules/spawn-pipe-tests (Depends-on): Add progname.
2444
2445         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
2446         * tests/test-nonblocking-socket-main.c: Include progname.h.
2447         (main): Invoke set_program_name.
2448         * modules/nonblocking-socket-tests (Depends-on): Add progname.
2449
2450         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
2451         * tests/test-nonblocking-pipe-main.c: Include progname.h.
2452         (main): Invoke set_program_name.
2453         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
2454
2455 2012-02-04  Eric Blake  <eblake@redhat.com>
2456
2457         canonicalize-lgpl: fix // handling
2458         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
2459
2460         canonicalize: fix // handling
2461         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
2462         /// to //, since only // is special.
2463
2464 2012-02-04  Bruno Haible  <bruno@clisp.org>
2465
2466         ioctl: Fix test failure on native Windows.
2467         * lib/ioctl.c: Include msvc-nothrow.h.
2468         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
2469
2470 2012-02-04  Bruno Haible  <bruno@clisp.org>
2471
2472         fsync: Avoid test failure on native Windows.
2473         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
2474         read-only.
2475
2476 2012-02-04  Bruno Haible  <bruno@clisp.org>
2477
2478         sys_select: Avoid syntax error on OpenBSD 5.0.
2479         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
2480         currently being included, just include the system's <sys/select.h>.
2481
2482 2012-02-04  Bruno Haible  <bruno@clisp.org>
2483
2484         sys_select: Avoid syntax error on OpenBSD 5.0.
2485         * lib/sys_select.in.h: Include <signal.h> only after the include_next
2486         <sys/select.h>, not before.
2487         Reported by Jiri B <jirib@devio.us>.
2488
2489 2012-02-04  Bruno Haible  <bruno@clisp.org>
2490
2491         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
2492         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
2493         global variables.
2494         * tests/test-get-rusage-data.c (main): Likewise.
2495         Reported by Jim Meyering.
2496
2497 2012-02-04  Bruno Haible  <bruno@clisp.org>
2498
2499         stdioext: Fix last commit.
2500         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
2501
2502 2012-02-03  Bruno Haible  <bruno@clisp.org>
2503
2504         stdioext: Add tentative support for Plan9.
2505         * lib/stdio-impl.h: Include <errno.h>.
2506         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
2507         * lib/freadable.c (freadable): Likewise.
2508         * lib/fwritable.c (fwritable): Likewise.
2509         * lib/fbufmode.c (fbufmode): Likewise.
2510         * lib/freading.c (freading): Likewise.
2511         * lib/fwriting.c (fwriting): Likewise.
2512         * lib/freadptr.c (freadptr): Likewise.
2513         * lib/freadseek.c (freadptrinc): Likewise.
2514         * lib/freadahead.c (freadahead): Likewise.
2515         * lib/fpurge.c (fpurge): Likewise.
2516         * lib/fseeko.c (rpl_fseeko): Likewise.
2517         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
2518         Reported by Jens Staal <staal1978@gmail.com>.
2519
2520 2012-02-02  Jim Meyering  <meyering@redhat.com>
2521
2522         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
2523         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
2524         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
2525         not even to try to add the attribute.  Instead, add a pragma to suppress
2526         the suggestion/warning.
2527
2528 2012-01-31  Karl Berry  <karl@gnu.org>
2529
2530         setstate doc: typo.
2531         * doc/posix-functions/setstate.texi (setstate): { not (.
2532
2533 2012-01-31  Bruno Haible  <bruno@clisp.org>
2534
2535         popen: Make more robust on Windows.
2536         * lib/popen.c: On native Windows, use the _popen based code even if
2537         HAVE_POPEN is set.
2538         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
2539         environment variable on native Windows.
2540
2541 2012-01-30  Bruno Haible  <bruno@clisp.org>
2542
2543         pclose: Fix typo.
2544         * lib/stdio.in.h (pclose): Fix typo in warning message.
2545
2546 2012-01-30  Bruno Haible  <bruno@clisp.org>
2547
2548         doc about getlogin_r, setstate.
2549         * doc/posix-functions/getlogin_r.texi: List the incompatible
2550         declaration problem under "not fixed by gnulib".
2551         * doc/posix-functions/setstate.texi: Mention incompatible declaration
2552         problem on Solaris 11 and other platforms.
2553
2554 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
2555             Bruno Haible  <bruno@clisp.org>
2556
2557         poll tests: Make test more robust.
2558         * tests/test-poll.c: Include macros.h.
2559         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
2560         return value of various I/O operations.
2561         * modules/poll-tests (Files): Add tests/macros.h.
2562
2563 2012-01-30  Bruno Haible  <bruno@clisp.org>
2564
2565         sys_stat: Fix support for mingw64 and MSVC.
2566         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
2567         header files already do it.
2568         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
2569         stat itself.
2570         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2571
2572 2012-01-30  Bruno Haible  <bruno@clisp.org>
2573
2574         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
2575         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
2576         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
2577
2578 2012-01-29  Bruno Haible  <bruno@clisp.org>
2579
2580         quotearg: Fix test failure on MacOS X 10.5.
2581         * tests/test-quotearg-simple.c: Include localcharset.h.
2582         (main): If the locale encoding is not ASCII, bypass the tests of
2583         locale_quoting_style and clocale_quoting_style.
2584         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
2585
2586 2012-01-29  Jim Meyering  <meyering@redhat.com>
2587
2588         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
2589         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
2590         detect uses of canonicalize_file_name.
2591
2592 2012-01-28  Bruno Haible  <bruno@clisp.org>
2593
2594         test-framework-sh: Fix test failure with AIX 7.1 diff.
2595         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
2596         in column 1, like 'diff -c' does.
2597         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
2598         whether 'diff -u' is used. Instead, test whether the output contains
2599         some '@' character.
2600
2601 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2602
2603         strtoimax: eliminate need for stdint.h, inttypes.h checks
2604         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
2605         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
2606         the prerequisites for a recently-introduced strtoimax test.
2607         I guess this might cause strtoimax to be replaced when not
2608         strictly necessary on older hosts, but this shouldn't introduce
2609         any bugs and it should make Emacs 'configure' faster on typical
2610         modern hosts.  Problem discovered when importing the latest gnulib
2611         to an Emacs test version.
2612         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
2613
2614 2012-01-28  Bruno Haible  <bruno@clisp.org>
2615
2616         sys_time: Override 'struct timeval' on some native Windows platforms.
2617         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
2618         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
2619         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
2620         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
2621         needs to be overridden.
2622         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
2623         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
2624         * tests/test-sys_select.c: Check that the tv_sec member has the same
2625         size as a 'time_t'.
2626         * tests/test-sys_time.c: Likewise.
2627         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
2628         is set, set also REPLACE_GETTIMEOFDAY.
2629         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
2630         convert the resulting 'struct timeval' before returning.
2631         * lib/select.c: Include <sys/time.h>.
2632         (select, timeval): Undefine at the right place.
2633         * modules/select (Depends-on): Add sys_time.
2634         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
2635         some Windows platforms.
2636         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2637
2638 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2639
2640         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
2641         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
2642         an integer.
2643         * lib/fcntl.c (dupfd): Likewise.
2644         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
2645
2646 2012-01-28  Bruno Haible  <bruno@clisp.org>
2647
2648         fcntl: Avoid compilation error on native Windows.
2649         * modules/fcntl (Depends-on): Add 'close'.
2650
2651 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2652
2653         select, poll, isatty: Avoid warnings on x86_64 mingw64.
2654         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
2655         pointer to an integer.
2656         * lib/poll.c (IsConsoleHandle): Likewise.
2657         * lib/isatty.c (IsConsoleHandle): Likewise.
2658
2659 2012-01-28  Jim Meyering  <meyering@redhat.com>
2660
2661         doc: clarify README-release
2662         * top/README-release: Clarify: you should make a point to have
2663         the latest stable versions of build tools in your PATH, and the
2664         reference to buildreq is solely for its list of tool names, not
2665         for its minimal-functional version numbers.
2666         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
2667
2668         maint.mk: use more readable (yet functionally equivalent) quoting
2669         It is common to quote a single quote in a single quoted string like
2670         this:  '...'\''...'.  Unless you know the idiom, that looks like
2671         gibberish, so prefer to double-quote the string when possible.
2672         Then you can use a more readable, lone single quote: "...'..."
2673         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
2674         "don't" is more readable than the equivalent 'don'\''t'.
2675         (sc_cast_of_x_alloc_return_value): Likewise.
2676         (sc_cast_of_alloca_return_value): Likewise.
2677         (sc_makefile_path_separator_check): Similar: use ":" in '...',
2678         rather than '\'':'\''.
2679
2680 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2681
2682         stdalign: relax _Alignof and tighten _Alignas test
2683         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
2684         as it was too strict: alignof must divide offsetof, but it need
2685         not equal offsetof.  Inspired by Joseph S. Myers's comment
2686         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
2687         Conversely, tighten the _Alignas test a bit, as the resulting
2688         alignment must be exactly 8.
2689
2690 2012-01-27  Bruno Haible  <bruno@clisp.org>
2691
2692         stdalign: Document the last change.
2693         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
2694
2695 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2696
2697         stdalign: check that alignof and offsetof are consistent
2698         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
2699         Problem reported for gnulib by Richard W.M. Jones in
2700         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
2701
2702 2012-01-27  Jim Meyering  <meyering@redhat.com>
2703
2704         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
2705         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
2706         convert a sequence with gaps to the minimal containing range.
2707         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
2708         * tests/test-update-copyright.sh: Test for this.
2709         The FSF confirmed it is ok to do this, assuming there is at
2710         least one significant change per year in the affected range:
2711         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
2712
2713 2012-01-26  Bruno Haible  <bruno@clisp.org>
2714
2715         pipe2: refine doc about thread-safety
2716         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
2717         multithread-safety problem.
2718         * doc/glibc-functions/accept4.texi: Likewise.
2719
2720 2012-01-26  Bruno Haible  <bruno@clisp.org>
2721
2722         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
2723         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
2724         In the test program, include <fcntl.h>, for O_RDONLY.
2725
2726 2012-01-26  Eric Blake  <eblake@redhat.com>
2727
2728         pipe2: document lack of thread-safety in replacement
2729         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
2730         issue in replacement.
2731         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2732         Based on a report by Eric Wong.
2733
2734 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2735             Bruno Haible  <bruno@clisp.org>
2736
2737         malloca: Avoid warnings on x86_64 mingw64.
2738         * lib/malloca.c: Include <stdint.h>.
2739         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
2740         * modules/malloca (Depends-on): Add stdint.
2741         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
2742
2743 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2744
2745         obstack: remove __STDC__ conditionals
2746         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
2747         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
2748         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
2749         m4/include_next.m4 as the only gnulib-maintained places that still
2750         refer to __STDC__.
2751
2752 2012-01-24  Bruno Haible  <bruno@clisp.org>
2753
2754         havelib: Modern quoting.
2755         * build-aux/config.rpath: Quote 'like this', not `like this', as per
2756         the recent change to the GNU coding standards.
2757
2758 2012-01-24  Bruno Haible  <bruno@clisp.org>
2759
2760         stdint: Improve support for Android.
2761         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
2762         Reported by Simon Josefsson <simon@josefsson.org>.
2763
2764 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2765
2766         doc: omit trailing empty lines from INSTALL etc.
2767         * doc/Makefile (INSTALL): Omit trailing empty lines.
2768         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
2769         omit trailing empty lines.  This simplifies the build procedure.
2770
2771 2012-01-23  Jim Meyering  <meyering@redhat.com>
2772
2773         tests: avoid spurious warnings about gl_sockets_startup
2774         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
2775         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
2776         reporting a "statement with no effect".
2777         * tests/test-accept.c (main): Mark as "(void)".
2778         * tests/test-accept4.c (main): Likewise.
2779         * tests/test-bind.c (main): Likewise.
2780         * tests/test-connect.c (main): Likewise.
2781         * tests/test-getpeername.c (main): Likewise.
2782         * tests/test-getsockname.c (main): Likewise.
2783         * tests/test-getsockopt.c (main): Likewise.
2784         * tests/test-listen.c (main): Likewise.
2785         * tests/test-recv.c (main): Likewise.
2786         * tests/test-recvfrom.c (main): Likewise.
2787         * tests/test-send.c (main): Likewise.
2788         * tests/test-sendto.c (main): Likewise.
2789         * tests/test-setsockopt.c (main): Likewise.
2790         * tests/test-shutdown.c (main): Likewise.
2791
2792 2012-01-21  Bruno Haible  <bruno@clisp.org>
2793
2794         locale-fr.m4: Fix for Android.
2795         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
2796         failure of the test program on Bionic libc.
2797
2798 2012-01-21  Jim Meyering  <meyering@redhat.com>
2799
2800         bootstrap: fail when bootstrap_post_import_hook fails
2801         Otherwise, it's far too easy to miss diagnostics emitted
2802         between gnulib-tool's output and that of running configure.
2803         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
2804
2805 2012-01-17  Jim Meyering  <meyering@redhat.com>
2806
2807         maint: enable sc_trailing_blank
2808         * build-aux/pmccabe.css: Remove trailing blanks.
2809         * doc/acl-cygwin.txt: Likewise.
2810         * doc/gnu-oids.texi: Likewise
2811         * cfg.mk: Enable sc_trailing_blank.
2812         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
2813
2814 2012-01-17  Jim Meyering  <meyering@redhat.com>
2815
2816         maint: enable sc_prohibit_openat_without_use
2817         * cfg.mk: Enable sc_prohibit_openat_without_use.
2818         Exempt lib/selinux-at.c.
2819
2820 2012-01-17  Jim Meyering  <meyering@redhat.com>
2821
2822         maint: enable sc_prohibit_cloexec_without_use
2823         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
2824         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
2825
2826 2012-01-17  Jim Meyering  <meyering@redhat.com>
2827
2828         maint: enable sc_prohibit_intprops_without_use
2829         * cfg.mk: Enable sc_prohibit_intprops_without_use
2830         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
2831
2832 2012-01-17  Jim Meyering  <meyering@redhat.com>
2833
2834         maint: enable sc_prohibit_hash_pjw_without_use
2835         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
2836         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
2837         to match any use of \<hash_pjw\>, i.e., not necessarily with a
2838         following " (".
2839
2840 2012-01-17  Jim Meyering  <meyering@redhat.com>
2841
2842         maint: enable double-word-prohibiting rule
2843         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
2844         Exempt three files.
2845
2846 2012-01-17  Jim Meyering  <meyering@redhat.com>
2847
2848         maint: remove empty lines at EOF, but excluding modules/*
2849         Apply syntax rules at home as well as abroad.  Most changes
2850         were induced by running this:
2851           make srcdir=. _build-aux=build-aux -f top/maint.mk \
2852             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
2853             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
2854         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
2855         Exempt modules/* and two binary files.
2856         Also exempt doc/INSTALL*, per request from Bruno Haible.
2857         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
2858         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
2859         * doc/Copyright/request-assign.future: Likewise.
2860         * doc/Copyright/request-disclaim.changes: Likewise.
2861         * doc/INSTALL: Likewise.
2862         * doc/INSTALL.ISO: Likewise.
2863         * doc/INSTALL.UTF-8: Likewise.
2864         * doc/acl-cygwin.txt: Likewise.
2865         * doc/acl-resources.txt: Likewise.
2866         * doc/fdl-1.2.texi: Likewise.
2867         * doc/fdl-1.3.texi: Likewise.
2868         * doc/fdl.texi: Likewise.
2869         * lib/argp-pin.c: Likewise.
2870         * lib/round.c: Likewise.
2871         * lib/unicase/u16-totitle.c: Likewise.
2872         * lib/unictype/block_test.c: Likewise.
2873         * lib/uninorm/canonical-decomposition.c: Likewise.
2874         * m4/README: Likewise.
2875         * m4/relocatable-lib.m4: Likewise.
2876         * tests/test-isnand-nolibm.c: Likewise.
2877         * tests/test-isnand.c: Likewise.
2878         * tests/uninorm/NormalizationTest.txt: Likewise.
2879
2880 2012-01-17  Jim Meyering  <meyering@redhat.com>
2881
2882         maint: add framework to run syntax-check rules against gnulib sources
2883         * cfg.mk: New file, to disable all currently-failing tests.
2884         We'll enable them one by one, as they are made to pass.
2885         * Makefile (sc_maint): New rule.
2886
2887 2012-01-21  Bruno Haible  <bruno@clisp.org>
2888
2889         stdint: Add support for Android.
2890         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
2891         include the system's <stdint.h>.
2892         Reported by Simon Josefsson <simon@josefsson.org>.
2893
2894 2012-01-19  Jim Meyering  <meyering@redhat.com>
2895
2896         bootstrap: add bootstrap_post_import_hook
2897         Bison does still need something like the gnulib_mk_hook whose
2898         invocation I had to remove along with slurp in commit 767ccd40.
2899         Technically, we could get along without it, but doing so would
2900         have required living with a warning and a mandatory post-bootstrap
2901         automake rerun.
2902         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
2903         (bootstrap_post_import_hook): New function.
2904         Invoke it after gnulib-tool --import and before autoreconf.
2905
2906 2012-01-18  Jim Meyering  <meyering@redhat.com>
2907
2908         gitlog-to-changelog: don't use "no_"-prefixed variable name
2909         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
2910         to enable both --cluster and --no-cluster.  Change variable name,
2911         s/\$no_cluster/$cluster/, and reverse usage to match.
2912
2913         gitlog-to-changelog: use "||", not "or" in expressions
2914         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
2915         expressions.
2916
2917 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
2918
2919         gitlog-to-changelog: new option --no-cluster
2920         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
2921         clustering of adjacent commit messages.
2922
2923 2012-01-17  Jim Meyering  <meyering@redhat.com>
2924
2925         maint: spell file systems with two words, not one
2926         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
2927         two words, not one.
2928
2929 2012-01-16  Jim Meyering  <meyering@redhat.com>
2930
2931         bootstrap: add a FIXME comment to ensure we eventually remove the hack
2932         * build-aux/bootstrap (gnulib_tool_options): Add comment.
2933
2934 2012-01-16  Eric Blake  <eblake@redhat.com>
2935
2936         bootstrap: cater to autoconf 2.59
2937         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
2938         is not available.
2939
2940         bootstrap: properly check for libtool
2941         * build-aux/bootstrap (libtoolize): Also run libtool when older
2942         usage is detected.
2943
2944 2012-01-15  Bruno Haible  <bruno@clisp.org>
2945
2946         Improve support for MSVC 9.
2947         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
2948         clashes on MSVC.
2949         * lib/fcntl.in.h: Likewise.
2950         * lib/stdlib.in.h: Likewise.
2951         * lib/sys_stat.in.h: Likewise.
2952
2953 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
2954
2955         gnupload: we hold the master copy of this script now
2956         For motivation and more information, see:
2957         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
2958         * build-aux/gnupload: Make it clear in the heading comments that the
2959         master copy of this file is maintained by gnulib.  Since we are at
2960         it, bump its copyright year and ...
2961         ($scriptversion): ... the date in its version.
2962         ($usage): Patches and bug reports should be sent to the gnulib list,
2963         not the automake one.
2964         * config/srclist.txt: Don't try to sync 'gnupload' from automake
2965         anymore.
2966
2967 2012-01-15  Bruno Haible  <bruno@clisp.org>
2968
2969         Fix module 'random'.
2970         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
2971         initstate, setstate are declared.
2972
2973 2012-01-14  Bruno Haible  <bruno@clisp.org>
2974
2975         Tests for module 'random'.
2976         * modules/random-tests: New file.
2977         * tests/test-random.c: New file, based on tests/test-random_r.c.
2978
2979         New module 'random'.
2980         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
2981         declarations.
2982         * lib/random.c: New file, based on glibc/stdlib/random.c.
2983         * m4/random.m4: New file.
2984         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
2985         HAVE_RANDOM.
2986         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
2987         * modules/random: New file.
2988         * config/srclist.txt: Add an entry for random.c.
2989         * doc/posix-functions/random.texi: Mention the 'random' module.
2990         * doc/posix-functions/initstate.texi: Likewise.
2991         * doc/posix-functions/setstate.texi: Likewise.
2992         * doc/posix-functions/srandom.texi: Likewise.
2993
2994 2012-01-12  Bruno Haible  <bruno@clisp.org>
2995
2996         random_r: Use common idioms.
2997         * lib/random_r.c: Include <stdlib.h> first.
2998
2999         random_r: Override incompatible API on AIX, OSF/1.
3000         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
3001         Override the system function if REPLACE_RANDOM_R is 1.
3002         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
3003         and OSF/1, set REPLACE_RANDOM_R.
3004         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
3005         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
3006         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
3007         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
3008         * doc/glibc-functions/random_r.texi: Likewise.
3009         * doc/glibc-functions/setstate_r.texi: Likewise.
3010
3011         random_r: Support for MSVC 9.
3012         * lib/random_r.c: Include stdint.h, not inttypes.h.
3013
3014 2012-01-12  Eric Blake  <eblake@redhat.com>
3015
3016         inet_ntop: guard extra work by IF_LINT
3017         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
3018         better code generation when not checking for warnings.
3019         Suggested by Paul Eggert and Jim Meyering.
3020
3021         strptime: fix regression on mingw
3022         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
3023         Fix regression.  Reported by Bruno Haible.
3024
3025 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
3026             Bruno Haible  <bruno@clisp.org>
3027
3028         copy-file: add error-code-returning variant.
3029         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
3030         (qcopy_file_preserving): New declaration.
3031         * lib/copy-file.c (qcopy_file_preserving): Renamed from
3032         copy_file_preserving. Change return type to 'int'. Don't emit an error
3033         message here.
3034         (copy_file_preserving): New function.
3035         * tests/test-copy-file.c: Include <stdlib.h>.
3036         (main): Test qcopy_file_preserving if the environment variable
3037         NO_STDERR_OUTPUT is set.
3038         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
3039         with NO_STDERR_OUTPUT
3040         * tests/test-copy-file-2.sh: Likewise.
3041
3042 2012-01-10  Bruno Haible  <bruno@clisp.org>
3043
3044         copy-file: Use 'quote' module consistently.
3045         * lib/copy-file.c (copy_file_preserving): Use quote().
3046
3047         copy-file: Refactor.
3048         * lib/copy-file.c: Include quote.h.
3049         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
3050         message here.
3051         * modules/copy-file (Depends-on): Add quote.
3052
3053         acl: Export qcopy_acl.
3054         * lib/acl.h (qcopy_acl): New declaration.
3055         * lib/copy-acl.c (qcopy_acl): Make non-static.
3056
3057         acl: Rename a local variable.
3058         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
3059
3060         acl: Align return values of copy_acl and qcopy_acl.
3061         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
3062         maybe < -1.
3063
3064 2012-01-11  Eric Blake  <eblake@redhat.com>
3065
3066         strptime: silence gcc warnings
3067         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
3068         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
3069         Reported by Daniel P. Berrange.
3070
3071         inet_ntop: silence gcc warning
3072         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
3073         Reported by Daniel P. Berrange.
3074
3075 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
3076
3077         getloadavg test: skip the test on GNU/Linux without /proc mounted
3078         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
3079         file.  When /proc is not mounted, it always fails with ENOENT.
3080         * tests/test-getloadavg.c (main): Treat ENOENT return code from
3081         getloadavg(3) the same way as ENOSYS and ENOTSUP.
3082
3083 2012-01-10  Bruno Haible  <bruno@clisp.org>
3084
3085         regex: Avoid link error on MSVC 9.
3086         * modules/regex (Depends-on): Add wctype.
3087
3088 2012-01-10  Bruno Haible  <bruno@clisp.org>
3089
3090         doc: Mention --with-tests option.
3091         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
3092         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
3093         --with-tests.
3094         Reported by Reuben Thomas.
3095
3096 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
3097
3098         users.txt: order package names lexicographically.
3099         * users.txt: Order package names lexicographically.
3100
3101 2012-01-10  Jim Meyering  <meyering@redhat.com>
3102
3103         maint.mk: fix description in comment
3104         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
3105
3106         ignore-value: remove deprecated ignore_ptr function
3107         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
3108         * NEWS: Note this.
3109
3110 2012-01-09  Jim Meyering  <meyering@redhat.com>
3111
3112         test-init.sh: avoid a subshell
3113         * tests/test-init.sh: Remove protective subshell.
3114         Suggested by Bernhard Voelker.  While a subshell is normally
3115         required to protect against older shells (Solaris, FreeBSD) that
3116         warn about a missing program before performing redirection, the
3117         shell-selection tests performed by init.sh probably exclude any
3118         offending shell.
3119
3120 2012-01-08  Bruno Haible  <bruno@clisp.org>
3121
3122         setlocale tests: Avoid test failure on Solaris 11 2011-11.
3123         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
3124         variable.
3125
3126 2012-01-08  Bruno Haible  <bruno@clisp.org>
3127
3128         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
3129         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3130         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3131         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
3132         macro.
3133         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
3134         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3135         * lib/spawn_faction_addopen.c: Add workaround implementation if
3136         HAVE_WORKING_POSIX_SPAWN.
3137         * modules/spawn (Makefile): Substitute
3138         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3139         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
3140         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
3141         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3142         (Depends-on): Update conditions.
3143         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
3144         the Solaris 11 bug.
3145
3146 2012-01-08  Bruno Haible  <bruno@clisp.org>
3147
3148         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
3149         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3150         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3151         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
3152         macro.
3153         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
3154         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3155         * lib/spawn_faction_adddup2.c: Add workaround implementation if
3156         HAVE_WORKING_POSIX_SPAWN.
3157         * modules/spawn (Makefile): Substitute
3158         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3159         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
3160         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
3161         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3162         (Depends-on): Update conditions.
3163         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
3164         the Solaris 11 bug.
3165
3166 2012-01-08  Bruno Haible  <bruno@clisp.org>
3167
3168         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
3169         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3170         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3171         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
3172         HAVE_WORKING_POSIX_SPAWN.
3173         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
3174         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
3175         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3176         * lib/spawn_faction_addclose.c: Add workaround implementation if
3177         HAVE_WORKING_POSIX_SPAWN.
3178         * modules/spawn (Makefile): Substitute
3179         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3180         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
3181         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
3182         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3183         (Depends-on): Update conditions.
3184         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
3185         the Solaris 11 bug.
3186
3187 2012-01-08  Bruno Haible  <bruno@clisp.org>
3188
3189         doc: Update for Solaris 11 2011-11.
3190         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
3191         * m4/printf.m4: Update comments.
3192
3193 2012-01-08  Bruno Haible  <bruno@clisp.org>
3194
3195         mktime: Avoid compilation error on Solaris 11.
3196         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
3197
3198 2012-01-08  Bruno Haible  <bruno@clisp.org>
3199
3200         doc: Small fix.
3201         * doc/posix-headers/nl_types.texi: Correct platforms list.
3202
3203 2012-01-08  Simon Josefsson  <simon@josefsson.org>
3204
3205         Add lgpl-3.0 module.
3206         * MODULES.html.sh (Support for building documentation): Add
3207         lgpl-3.0.
3208         * modules/lgpl-3.0: New file.
3209
3210 2012-01-08  Jim Meyering  <meyering@redhat.com>
3211
3212         select.c: indent with spaces, not TABs
3213         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
3214
3215 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3216
3217         quotearg: do not use grave accent for left quote
3218         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
3219         locale_quoting_style.
3220         (quotearg_buffer_restyled): Fix example.
3221         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
3222
3223 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3224
3225         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
3226         Most programs do not have translation catalogs for English and much
3227         less separate catalogs for British and American English.  Drop the
3228         suggestion to translators about these two, and provide it
3229         automatically for Unicode locales.  Like most programs, even those
3230         using American English, we use single quotation marks.  This conflicts
3231         with the American typographic convention, but works better when you
3232         cite the entire error message within double quotes.  It also tries not
3233         to clash with established practice and with what non-gnulib programs
3234         will usually do.
3235         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
3236         using an UTF-8 or GB-18030 locale.  The list of other locales with
3237         quotes was provided by Bruno Haible.
3238         (quotearg_buffer_restyled): Adjust instructions to translators.
3239         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
3240         text, since this would be wrong when using Unicode.
3241         * modules/quotearg: Depend on c-strcaseeq.
3242
3243 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3244
3245         quotearg: fix Wikipedia link
3246         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
3247
3248 2012-01-07  Simon Josefsson  <simon@josefsson.org>
3249
3250         Fix for mingw with MSVC9.
3251         * m4/ld-version-script.m4: Check that compiler rejects version
3252         scripts with syntax errors.  Reported by Bruno Haible
3253         <bruno@clisp.org>.
3254
3255 2012-01-06  Bruno Haible  <bruno@clisp.org>
3256
3257         Talk about "native Windows API", not "Woe32".
3258         * lib/accept4.c: Update comments to mention native Windows.
3259         * lib/execute.c: Likewise.
3260         * lib/fatal-signal.c: Likewise.
3261         * lib/localcharset.c: Likewise.
3262         * lib/nanosleep.c: Likewise.
3263         * lib/nl_langinfo.c: Likewise.
3264         * lib/pclose.c: Likewise.
3265         * lib/pipe-filter-gi.c: Likewise.
3266         * lib/pipe-filter-ii.c: Likewise.
3267         * lib/pipe.c: Likewise.
3268         * lib/pipe2.c: Likewise.
3269         * lib/popen.c: Likewise.
3270         * lib/progreloc.c: Likewise.
3271         * lib/relocatable.c: Likewise.
3272         * lib/sigaction.c: Likewise.
3273         * lib/sigprocmask.c: Likewise.
3274         * lib/spawn-pipe.h: Likewise.
3275         * lib/spawn-pipe.c: Likewise.
3276         * lib/spawni.c: Likewise.
3277         * lib/stat-time.h: Likewise.
3278         * lib/w32spawn.h: Likewise.
3279         * tests/test-isatty.c: Likewise.
3280         * lib/config.charset: More comments.
3281         * doc/gnulib-intro.texi: Mention native Windows.
3282         * doc/posix-functions/_Exit_C99.texi: Likewise.
3283         * doc/posix-headers/fcntl.texi: Likewise.
3284
3285 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
3286
3287         argp: Avoid crash if translator uses % characters in a translation.
3288         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
3289         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3290
3291 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
3292
3293         doc: C11 and C++11 are now official
3294         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
3295         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
3296         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
3297         * modules/stdalign:
3298         Replace references to draft C1X to C11, and to draft C++0X to C++11.
3299
3300 2012-01-06  Bruno Haible  <bruno@clisp.org>
3301
3302         uc-is-grapheme-break tests: Tweak.
3303         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
3304         message.
3305
3306 2012-01-06  Bruno Haible  <bruno@clisp.org>
3307
3308         test-init.sh: correct the test for diff -u
3309         * tests/test-init.sh: Also redirect stdout to /dev/null.
3310
3311 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3312
3313         Use ', not `, for quoting output.
3314         * build-aux/announce-gen (usage, sizes, print_news_deltas)
3315         (print_changelog_deltas, get_tool_versions, main program):
3316         * build-aux/git-version-gen:
3317         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
3318         * build-aux/move-if-change (help):
3319         * build-aux/useless-if-before-free (usage, main program):
3320         * check-module (parse_module_file, usage)
3321         (find_included_lib_files, check_module):
3322         * lib/argmatch.c (main) [TEST]:
3323         * lib/argp-help.c (_help):
3324         * lib/getopt1.c (main) [TEST]:
3325         * lib/git-merge-changelog.c (usage):
3326         * lib/xstrtol-error.c (xstrtol_error):
3327         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
3328         * m4/argz.m4 (gl_FUNC_ARGZ):
3329         * m4/bison.m4 (gl_BISON):
3330         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
3331         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
3332         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3333         * m4/fpending.m4 (gl_PREREQ_FPENDING):
3334         * m4/gc-random.m4 (gl_GC_RANDOM):
3335         * m4/intl.m4 (gt_CHECK_DECL):
3336         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
3337         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
3338         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
3339         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
3340         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
3341         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
3342         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
3343         * tests/test-dirname.c (main):
3344         * tests/test-getpass.c (main):
3345         * tests/test-iconvme.c (main):
3346         * tests/test-parse-datetime.c (LOG):
3347         * tests/test-xstrtoimax.sh:
3348         * tests/test-xstrtol.sh:
3349         * tests/test-xstrtoll.sh:
3350         * tests/test-xstrtoumax.sh:
3351         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
3352         * top/GNUmakefile (abort-due-to-no-makefile):
3353         Quote 'like this', not `like this', as per the recent change to
3354         the GNU coding standards.
3355
3356 2012-01-05  Bruno Haible  <bruno@clisp.org>
3357
3358         strtoimax: Don't force a replacement on systems where intmax_t is int.
3359         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
3360         'intmax_t' is not larger than 'int'.
3361         Reported by Pádraig Brady <P@draigBrady.com>.
3362
3363 2012-01-05  Bruno Haible  <bruno@clisp.org>
3364
3365         doc: Mention NetBSD bugs.
3366         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
3367         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
3368
3369 2012-01-05  Bruno Haible  <bruno@clisp.org>
3370
3371         strtoumax tests: Enhance tests.
3372         * tests/test-strtoumax.c (main): Add tests for large values.
3373
3374 2012-01-05  Bruno Haible  <bruno@clisp.org>
3375
3376         strtoimax: Work around AIX 5.1 bug.
3377         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
3378         definition.
3379         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
3380         Set HAVE_STRTOIMAX.
3381         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
3382         REPLACE_STRTOIMAX.
3383         * modules/inttypes-incomplete (Makefile.am): Substitute
3384         REPLACE_STRTOIMAX.
3385         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
3386         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
3387         (Depends-on): Update conditions.
3388         * tests/test-strtoimax.c (main): Add tests for large values.
3389         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
3390
3391 2012-01-05  Bruno Haible  <bruno@clisp.org>
3392
3393         inttypes: Modernize.
3394         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
3395         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
3396         (Makefile.am): Update inttypes.h rule.
3397
3398 2012-01-05  Jim Meyering  <meyering@redhat.com>
3399
3400         init.sh: don't waste a subshell just to redirect stderr
3401         * tests/init.sh: In testing for diff -u and diff -c, use a
3402         stderr-redirecting exec inside `...` rather than a subshell.
3403
3404         test-init.sh: avoid failure on HP-UX 11.00
3405         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
3406         resolves to diff -c or cmp.  Reported by Bruno Haible.
3407
3408 2012-01-05  Bruno Haible  <bruno@clisp.org>
3409
3410         Tests for module 'strtoull'.
3411         * modules/strtoull-tests: New file.
3412         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
3413
3414 2012-01-05  Bruno Haible  <bruno@clisp.org>
3415
3416         Tests for module 'strtoll'.
3417         * modules/strtoll-tests: New file.
3418         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
3419
3420 2012-01-05  Bruno Haible  <bruno@clisp.org>
3421
3422         Tests for module 'strtoul'.
3423         * modules/strtoul-tests: New file.
3424         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
3425
3426 2012-01-05  Bruno Haible  <bruno@clisp.org>
3427
3428         Tests for module 'strtol'.
3429         * modules/strtol-tests: New file.
3430         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
3431
3432 2012-01-04  Jim Meyering  <meyering@redhat.com>
3433
3434         test-init.sh: accommodate Solaris 5.10's different diff -u output
3435         * tests/test-init.sh: Also exempt @@ lines from the comparison
3436         of diff output, since Solaris 5.10 and GNU diff formats differ.
3437         Reported by Stefano Lattarini.
3438
3439 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3440
3441         test-posixtm: don't assume signed integer wraparound
3442         * tests/test-posixtm.c (main): Don't assume wraparound semantics
3443         after signed integer overflow.  Inspired by (though it may not
3444         fix) Bruno Haible's bug report in
3445         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
3446
3447         Spell out "Windows 9x" and "Windows XP".
3448         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
3449         "Windows 9x" and "WinXP" with "Windows XP".
3450
3451 2012-01-04  Jim Meyering  <meyering@redhat.com>
3452
3453         test-vc-list-files-cvs.sh: remove obsolete comment
3454         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
3455         double exit.  Now that's all encapsulated via skip_ and Exit.
3456
3457 2012-01-04  Bruno Haible  <bruno@clisp.org>
3458
3459         Talk about "native Windows API", not "Win32".
3460         * lib/classpath.c: Update comments to mention native Windows.
3461         * lib/csharpexec.c: Likewise.
3462         * lib/dup2.c: Likewise.
3463         * lib/error.c: Likewise.
3464         * lib/fcntl.c: Likewise.
3465         * lib/filename.h: Likewise.
3466         * lib/findprog.c: Likewise.
3467         * lib/get-rusage-as.c: Likewise.
3468         * lib/get-rusage-data.c: Likewise.
3469         * lib/getpagesize.c: Likewise.
3470         * lib/javaexec.c: Likewise.
3471         * lib/msvc-inval.c: Likewise.
3472         * lib/msvc-nothrow.c: Likewise.
3473         * lib/nanosleep.c: Likewise.
3474         * lib/nonblocking.c: Likewise.
3475         * lib/printf-parse.c: Likewise.
3476         * lib/setlocale.c: Likewise.
3477         * lib/sigaction.c: Likewise.
3478         * lib/strerror_r.c: Likewise.
3479         * lib/tmpdir.c: Likewise.
3480         * lib/vasnprintf.c: Likewise.
3481         * lib/w32spawn.h: Likewise.
3482         * lib/waitpid.c: Likewise.
3483         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
3484         * m4/locale-ar.m4: Likewise.
3485         * m4/locale-fr.m4: Likewise.
3486         * m4/locale-ja.m4: Likewise.
3487         * m4/locale-tr.m4: Likewise.
3488         * m4/locale-zh.m4: Likewise.
3489         * m4/printf.m4: Likewise.
3490         * tests/test-cloexec.c: Likewise.
3491         * tests/test-copy-acl.sh: Likewise.
3492         * tests/test-copy-file.sh: Likewise.
3493         * tests/test-file-has-acl.sh: Likewise.
3494         * tests/test-set-mode-acl.sh: Likewise.
3495         * tests/test-dup-safer.c: Likewise.
3496         * tests/test-dup2.c: Likewise.
3497         * tests/test-dup3.c: Likewise.
3498         * tests/test-fcntl.c: Likewise.
3499         * tests/test-nonblocking-pipe.h: Likewise.
3500         * tests/test-nonblocking-socket.h: Likewise.
3501         * tests/test-pipe.c: Likewise.
3502         * tests/test-pipe2.c: Likewise.
3503         * tests/test-spawn-pipe-child.c: Likewise.
3504         * doc/acl-resources.txt: Likewise.
3505         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3506         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
3507         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
3508         * lib/localcharset.c: Update comments to mention native Windows.
3509         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3510         * lib/localename.c: Likewise.
3511         * lib/progreloc.c: Likewise.
3512         * lib/relocatable.c: Likewise.
3513         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3514         (windows_compute_revents): Renamed from win32_compute_revents.
3515         (windows_compute_revents_socket): Renamed from
3516         win32_compute_revents_socket.
3517         * lib/select.c: Update comments to mention native Windows.
3518         (windows_poll_handle): Renamed from win32_poll_handle.
3519         * m4/threadlib.m4: Update comments to mention native Windows.
3520         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
3521         --enable-threads=windows instead of --enable-threads=win32. Set
3522         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
3523         * lib/glthread/lock.h: Update comments to mention native Windows.
3524         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
3525         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
3526         USE_WIN32_THREADS.
3527         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
3528         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
3529         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
3530         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
3531         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
3532         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
3533         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
3534         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
3535         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
3536         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
3537         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
3538         * tests/test-tls.c: Likewise.
3539         Rationale:
3540         Microsoft renamed the "Win32 API" to "Windows API", as it is available
3541         on both 32-bit and 64-bit Windows systems.
3542         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
3543         line of distinction is between "native Windows" on one side and Unix/
3544         POSIX systems on the other side. More details in
3545         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
3546         Suggested by Paul Eggert.
3547
3548 2012-01-03  Bruno Haible  <bruno@clisp.org>
3549
3550         isatty: Support for MSVC 9.
3551         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
3552         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
3553         (_isatty_nothrow): New function.
3554         (isatty): Use it instead of _isatty.
3555         (IsConsoleHandle): Add comment, from Paolo Bonzini.
3556         * lib/poll.c (IsConsoleHandle): Likewise.
3557         * lib/select.c (IsConsoleHandle): Likewise.
3558         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
3559         (gl_PREREQ_ISATTY): New macro.
3560         * modules/isatty (Depends-on): Add msvc-inval.
3561         (configure.ac): Invoke gl_PREREQ_ISATTY.
3562
3563 2012-01-03  Jim Meyering  <meyering@redhat.com>
3564
3565         maint.mk: remove temporary transition aid from over 1.5 years ago
3566         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
3567         purpose was to aid in the transition (avoiding silent malfunction)
3568         from that old name to the new _sc_search_regexp.  This shim was
3569         added by commit 219c504b.
3570
3571         init.sh: do not try to accommodate compare arguments starting with "-"
3572         * tests/init.sh (compare_dev_null_): Do not try to accommodate
3573         compare arguments that start with "-".  Besides, we do not worry
3574         about this when invoking diff or cmp; why start now with sed?
3575         Using "--" to separate options from argument would trigger sed
3576         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
3577         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
3578
3579 2012-01-02  Bruno Haible  <bruno@clisp.org>
3580
3581         Enhance tests for module 'isatty'.
3582         * modules/isatty-tests (Depends-on): Add pipe-posix.
3583         * tests/test-isatty.c: Include <fcntl.h>.
3584         (DEV_NULL): New macro.
3585         (main): Test the resut of isatty() also on regular files, pipes, and
3586         /dev/null.
3587
3588         New module 'isatty'.
3589         * lib/unistd.in.h (isatty): New declaration.
3590         * lib/isatty.c: New file, based on an idea of
3591         Bastien Roucariès <roucaries.bastien@gmail.com>.
3592         * m4/isatty.m4: New file.
3593         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
3594         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
3595         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
3596         REPLACE_ISATTY.
3597         * modules/isatty: New file.
3598         * doc/posix-functions/isatty.texi: Mention the new module.
3599         Suggested by Paolo Bonzini.
3600
3601 2012-01-02  Bruno Haible  <bruno@clisp.org>
3602
3603         canonicalize: Tweak 2011-12-29 commit.
3604         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
3605         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
3606
3607 2012-01-02  Jim Meyering  <meyering@redhat.com>
3608
3609         gitlog-to-changelog: describe input syntax in --help output
3610         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
3611
3612         gitlog-to-changelog: fix typo in --help: show backslash before email @
3613         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
3614         in sources, but not in actual output.
3615
3616 2011-12-30  Jim Meyering  <meyering@redhat.com>
3617
3618         gitlog-to-changelog: don't malfunction when name contains %-directive
3619         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
3620         in a name string cause trouble.  E.g., with a user name of "%s",
3621         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
3622
3623 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
3624
3625         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
3626         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
3627         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
3628         the "  (tiny change)" notation that is appended to the standard
3629         ChangeLog "date  name  email" header line.
3630
3631 2012-01-01  Jim Meyering  <meyering@redhat.com>
3632
3633         test-framework-sh: init.sh: fix "make dist" failure
3634         When using gnulib-tool's --with-tests option and any module that
3635         depends on test-framework-sh, "make dist" would fail due to the
3636         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
3637         in the gltests directory, and not in the gllib/ directory.
3638         One way to work around that is to move the EXTRA_DIST += init.sh
3639         from the primary module to the -tests one:
3640         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
3641         * modules/test-framework-sh (Makefile.am): ...not here.
3642         Reported by Tom G. Christensen in
3643         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
3644
3645         version-etc: update copyright year reported by --version
3646         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
3647
3648 2011-12-31  Pádraig Brady  <P@draigBrady.com>
3649
3650         canonicalize: only stat() if required
3651         * lib/canonicalize.c (canonicalize_filename_mode):
3652         Avoid calling l?stat() when both CAN_MISSING,
3653         and CAN_NOLINKS are set, as we neither need
3654         to resolve symlinks or test component existence.
3655
3656 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
3657
3658         doc: cover st_ino issues once; add OpenVMS etc.
3659         * doc/posix-functions/stat.texi (stat):
3660         * doc/posix-functions/lstat.texi (lstat):
3661         * doc/posix-functions/fstatat.texi (fstatat):
3662         * doc/posix-functions/fstat.texi (fstat):
3663         Move general 'struct stat' stuff to sys_stat.texi,
3664         leaving behind a pointer.
3665         * doc/posix-headers/sys_stat.texi (sys/stat.h):
3666         Merge duplicate info about 'struct stat' problems into here.
3667         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
3668         and suggest partial workarounds.
3669
3670         same-inode: port to OpenVMS
3671         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
3672         three st_ino values.
3673
3674 2011-12-30  Pádraig Brady  <P@draigBrady.com>
3675
3676         canonicalize: fix references to stat() and lstat()
3677         * lib/canonicalize.c (canonicalize_filename_mode):
3678         Ensure references always resolve to a replacement
3679         function if required (even via a macro).
3680
3681 2011-12-30  Jim Meyering  <meyering@redhat.com>
3682
3683         gitlog-to-changelog: remove a little duplication
3684         * build-aux/gitlog-to-changelog (main): Grep @lines once,
3685         rather than twice.
3686
3687 2011-12-29  Pádraig Brady  <P@draigBrady.com>
3688
3689         canonicalize: add support for not resolving symlinks
3690         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
3691         indicate we don't want to follow symlinks.  Also
3692         provide CAN_MODE_MASK to aid setting these existing
3693         mutually exclusive values.
3694         * lib/canonicalize.c (canonicalize_filename_mode):
3695         Extract the flags from can_mode parameter, which
3696         are currently just used to select between stat()
3697         and lstat().  Also ensure that mutually exclusive
3698         values are flagged immediately as invalid.
3699         * tests/test-canonicalize.c: Verify symlinks are
3700         not followed, and that invalid flag combinations
3701         are diagnosed.
3702
3703 2011-12-25  Jim Meyering  <meyering@redhat.com>
3704
3705         gitlog-to-changelog: do not clump multi-paragraph entries
3706         Identical header lines (date,name,email+coauthors) are suppressed,
3707         thus putting all entries with those same characteristics under
3708         a single header.  However, when a log entry consists of two or
3709         more paragraphs, it may not be clear where it starts and ends.
3710         This change makes it so that such an entry is always separated
3711         from others by a header line, even when that header would
3712         otherwise be suppressed.
3713         * build-aux/gitlog-to-changelog: Implement the above.
3714         Inspired by a related request from Stefano Lattarini in
3715         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
3716
3717 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3718
3719         announce-gen: fix `cmd' typo in diagnostic
3720         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
3721         diagnostic: a missing '$' meant that the command was not output.
3722
3723 2011-12-23  Jim Meyering  <meyering@redhat.com>
3724
3725         test-framework-sh: distribute init.sh
3726         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
3727         Otherwise, "make -C gnulib-tests check" (at least in grep) would
3728         fail due to the lack of init.sh.
3729
3730         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
3731         * modules/atexit-tests: Rather than listing tests/init.sh,
3732         now that there's a module for it, simply depend on that new module.
3733         * modules/closein-tests: Likewise.
3734         * modules/exclude-tests: Likewise.
3735         * modules/getcwd-tests: Likewise.
3736         * modules/perror-tests: Likewise.
3737         * modules/pread-tests: Likewise.
3738         * modules/pwrite-tests: Likewise.
3739         * modules/vc-list-files-tests: Likewise.
3740         * modules/verify-tests: Likewise.
3741         * modules/xalloc-die-tests: Likewise.
3742         * modules/xstrtoimax-tests: Likewise.
3743         * modules/xstrtol-tests: Likewise.
3744         * modules/xstrtoll-tests: Likewise.
3745         * modules/xstrtoumax-tests: Likewise.
3746         * modules/yesno-tests: Likewise.
3747
3748 2011-12-22  Jim Meyering  <meyering@redhat.com>
3749
3750         test-framework-sh: add minimal tests of init.sh's compare function
3751         * modules/test-framework-sh-tests: New file.
3752         * tests/test-init.sh: New file.
3753
3754         test-framework-sh: new module
3755         * modules/test-framework-sh: New file.
3756         * MODULES.html.sh (Support for maintaining and releasing projects):
3757         List it.
3758
3759         init.sh: do not emit simulated diff output to stderr
3760         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
3761
3762 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3763
3764         .gitignore: ignore gnulib.dvi and regex.info
3765         * doc/.gitignore:add gnulib.dvi and regex.info
3766
3767 2011-12-22  Jim Meyering  <meyering@redhat.com>
3768
3769         init.sh: correct previous change
3770         * tests/init.sh (compare): My previous change was wrong.
3771         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
3772
3773         init.sh: avoid unwarranted test failure when using "set -e"
3774         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
3775         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
3776         a use like "compare exp out" would get evoke an unconditional failure.
3777
3778 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
3779
3780         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
3781         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
3782         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
3783         autoreconf that did not.
3784         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
3785         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3786
3787 2011-12-17  Jim Meyering  <meyering@redhat.com>
3788
3789         bootstrap: remove some now-unneeded code
3790         This script arose back when gnulib-tool was young.
3791         Since then, it has seen improvements that render much of this
3792         script unnecessary.  In particular, it can now make symlinks
3793         to the files it uses.  Also, I no longer see as much value in
3794         marking files as read-only via comments.
3795         If you relied on the symlink-creation feature of the preceding
3796         version of this script, you can get most of that functionality
3797         by adding the --symlink option to the definition of
3798         gnulib_tool_option_extras in your bootstrap.conf file.
3799         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
3800         Run autopoint and libtoolize *before* gnulib-tool.
3801         After it, run an abbreviated autoreconf, rather than a loop around
3802         all tools.
3803         (slirp, bt_mark_as_generated): Remove functions.
3804
3805 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3806
3807         ftoastr: fix typo
3808         * lib/ftoastr.h: Fix misspelling in comment.
3809
3810 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
3811
3812         * top/README-release: fix punctuation.
3813
3814 2011-12-17  Jim Meyering  <meyering@redhat.com>
3815
3816         bootstrap: correct the recent buildreq change
3817         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
3818         had no effect.
3819         * build-aux/bootstrap (buildreq): Bracket each search term with
3820         "*...*", so that the shell "case" statement works as intended.
3821         Add comments.
3822
3823 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
3824
3825         build: let bootstrap resort to wget when downloading .po files
3826         * build-aux/bootstrap (download_po_files): Fallback to wget when
3827         downloading the .po files via rsync fails.  This is necessary to
3828         bootstrap from behind a strict firewall.
3829
3830 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3831
3832         stdint: don't assume C++11 when compiling with g++
3833         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
3834         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
3835         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
3836         work also in C++ before C++11, as that improperly inhibits
3837         generating a substitute stdint.h for that case.
3838
3839 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3840
3841         alloca: protect comment from gnulib-tool
3842         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
3843         that gnulib-tool doesn't think it's a license, and munge it to
3844         say "GCC version 3".
3845
3846 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
3847
3848         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
3849         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
3850         $(abs_top_builddir) instead of $(top_builddir).
3851
3852 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
3853
3854         strftime-tests: also test nanoseconds
3855         * tests/test-strftime.c (T): Add a test of %N.
3856
3857 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
3858
3859         inttypes, stdint: add C++11 support
3860         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
3861         when including inttypes.h and stdint.h.  Support this change to
3862         the standard.
3863         * doc/posix-headers/inttypes.texi (inttypes.h):
3864         * doc/posix-headers/stdint.texi (stdint.h): Document this.
3865         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
3866         Define if not defined already, for the benefit of pre-C++11 hosts.
3867         Define the standard format macros (e.g., PRId8) always.
3868         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
3869         Likewise, if __cpluspus.  Define the standard constant and limit
3870         macros (e.g., INT8_C, INT8_MAX) always.
3871         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
3872         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
3873         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
3874         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
3875         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
3876         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
3877         Likewise.
3878
3879 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3880
3881         nonblocking tests: Fix test failure on Linux/PPC.
3882         Suggested by Prerna Saxena in
3883         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
3884         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
3885         Set to 1100000.
3886
3887 2011-12-12  Jim Meyering  <meyering@redhat.com>
3888
3889         argmatch: don't hard-code `' when listing valid option arguments
3890         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
3891         use the quote function to add quotes.  Use fputs rather than
3892         fprintf for the format string with no format directive.
3893
3894 2011-12-07  Eric Blake  <eblake@redhat.com>
3895
3896         bootstrap: detect tools required by gnulib-tool
3897         * build-aux/bootstrap (buildreq): Provide minimum implicit
3898         dependencies.
3899         * DEPENDENCIES: Mention patch as a prereq.
3900
3901 2011-12-04  Bruno Haible  <bruno@clisp.org>
3902
3903         sethostname: Port to Windows platforms.
3904         * lib/sethostname.c: Provide an alternate implementation for Windows
3905         platforms.
3906         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
3907         (main): Skip the test if sethostname() fails with EPERM. On Windows
3908         platforms, don't check the result of gethostname().
3909
3910 2011-12-04  Bruno Haible  <bruno@clisp.org>
3911             Jim Meyering  <meyering@redhat.com>
3912
3913         tests: Avoid spurious error message on platforms without mktemp program.
3914         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
3915
3916 2011-12-04  Bruno Haible  <bruno@clisp.org>
3917
3918         sethostname: Fix documentation.
3919         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
3920         "not fixed" section.
3921
3922 2011-12-03  Bruno Haible  <bruno@clisp.org>
3923
3924         gnulib-tool: Verify that the License field is present and non-empty.
3925         * gnulib-tool (func_get_license_raw): New function, extracted from
3926         func_get_license.
3927         (func_get_license): Use it. Warn if the module is not a test module and
3928         has no license.
3929         Suggested by Jim Meyering.
3930
3931 2011-12-03  Bruno Haible  <bruno@clisp.org>
3932
3933         sethostname tests: Fix link error on mingw.
3934         * tests/test-sethostname1.c: New file, extracted from
3935         tests/test-sethostname.c.
3936         * tests/test-sethostname2.c: New file, extracted from
3937         tests/test-sethostname.c.
3938         * tests/test-sethostname.c: Remove file.
3939         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
3940         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
3941         (Depends-on): Add gethostname.
3942         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
3943         Link the latter with $(GETHOSTNAME_LIB).
3944
3945         sethostname tests: Fix compilation error on mingw.
3946         * tests/test-sethostname.c: Don't include <sys/types.h>.
3947         (geteuid): Use a dummy value without uid_t.
3948         * modules/sethostname-tests (Depends-on): Remove sys_types.
3949
3950         sethostname tests: Avoid a gcc warning.
3951         * tests/test-sethostname.c (main): Remove an unused variable.
3952
3953         Tweak last commit.
3954         * modules/sethostname-tests (Files): Sort by decreasing importance.
3955         (configure.ac): Check for geteuid.
3956         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
3957         the test when there's nothing to test. Drop an unnecessary cast.
3958         Improve an error message. Verify that the final sethostname() call
3959         succeeds.
3960
3961 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3962
3963         Add a test suite for the sethostname module.
3964         * modules/sethostname-tests: New file.  A test program
3965         for the sethostname module.
3966         * tests/test-sethostname.c: Likewise.
3967
3968 2011-12-03  Bruno Haible  <bruno@clisp.org>
3969
3970         Tweak last commit.
3971         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
3972         Fix preprocessor directives indentation. Fix typos.
3973         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
3974         * modules/unistd (Makefile): Likewise.
3975
3976 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3977
3978         Integrate the sethostname module into unistd.
3979         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
3980         into the unistd.h header.
3981         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
3982         preprocessor directives.
3983         * modules/unistd: Setup the Makefile substitutions of the
3984         SETHOSTNAME preprocessor directives.
3985
3986 2011-12-03  Bruno Haible  <bruno@clisp.org>
3987
3988         Tweak last commit.
3989         * lib/sethostname.c: Don't include <string.h>.
3990         (sethostname): No need to copy the argument string to the stack. Don't
3991         call clearerr. Preserve errno when fprintf failed.
3992         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
3993         Don't invoke AC_REPLACE_FUNCS.
3994         * modules/sethostname (Link): Remove empty section.
3995         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
3996         failure problem.
3997
3998 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3999
4000         New module 'sethostname'.
4001         * lib/sethostname.c (sethostname): New file.  Provide sethostname
4002         for systems that lack it.
4003         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
4004         sethostname declaration and function.
4005         * modules/sethostname: New file.  Define the sethostname module.
4006
4007 2011-12-03  Bruno Haible  <bruno@clisp.org>
4008
4009         Tweak last commit.
4010         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
4011
4012 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4013
4014         Split the HOST_NAME_MAX detection into a separate m4 macro.
4015         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
4016         macro so it can be used by the pending sethostname module.
4017
4018 2011-12-03  Bruno Haible  <bruno@clisp.org>
4019
4020         Fix module descriptions syntax.
4021         * modules/argv-iter (License): Fix syntax.
4022         * modules/di-set (License): Likewise.
4023         * modules/ino-map (License): Likewise.
4024         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
4025
4026 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
4027
4028         stdalign: port to Clang 3.0
4029         Problem reported by Simon Josefsson in
4030         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
4031         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
4032         which has <stdalign.h> but which does not define alignof.
4033         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
4034
4035 2011-12-01  Eric Blake  <eblake@redhat.com>
4036
4037         mktempd: silence dd usage
4038         * build-aux/mktempd (rand_bytes): Silence dd.
4039
4040 2011-11-30  Simon Josefsson  <simon@josefsson.org>
4041
4042         manywarnings: Don't mention gcc version in docstring.
4043         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
4044         Jim Meyering <meyering@redhat.com>.
4045
4046 2011-11-30  Jim Meyering  <meyering@redhat.com>
4047
4048         hash: mark a few floating point constants with "f" suffix
4049         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
4050         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
4051         floating point constants with "f", since they're destined to be
4052         saved/used as "float"s.
4053
4054 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
4055
4056         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
4057         * tests/test-float.c (test_long_double): Correct and re-enable the
4058         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
4059
4060 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
4061
4062         Avoid subtracting two pointers that don't point into the same block.
4063         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
4064         only pointers into the same memory block are subtracted. We cannot
4065         assume that sizeof (ptrdiff_t) == sizeof (void *).
4066
4067 2011-11-29  Eric Blake  <eblake@redhat.com>
4068
4069         maint.mk: add syntax check for use of compare from init.sh
4070         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
4071         moved here from coreutils.
4072
4073         manywarnings: drop -Wunsuffixed-float-constants
4074         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
4075         '1.0D', which is the only way to silence this warning for 'double'.
4076
4077 2011-11-29  Jim Meyering  <meyering@redhat.com>
4078
4079         hash: mark compute_bucket_size with the pure attribute
4080         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
4081
4082         quotearg, propername: correct pragma guard expression
4083         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
4084         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
4085
4086 2011-11-28  Jim Meyering  <meyering@redhat.com>
4087
4088         propername: do not mark proper_name with the const attribute
4089         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
4090         since it examines data pointed to by its parameter.
4091         * lib/propername.c (proper_name): Instead, add a pragma to suppress
4092         the suggestion from -Wsuggest-attribute=const.
4093
4094         propername: mark one more function as const
4095         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
4096
4097 2011-11-27  Jim Meyering  <meyering@redhat.com>
4098
4099         mark functions with const and pure attributes
4100
4101         Mark functions per suggestions from gcc-4.6 when using these options:
4102         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
4103         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
4104         Follow these guidelines: when possible, apply the attribute to
4105         an extern declaration, not to its definition.  Apply it to the
4106         definition only when the definition is static.
4107         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
4108         * lib/argv-iter.h (argv_iter_n_args): Likewise.
4109         * lib/base64.h (isbase64): Likewise.
4110         * lib/basename-lgpl.c (last_component, base_len): Likewise.
4111         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
4112         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
4113         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
4114         (c_tolower, c_toupper): Likewise.
4115         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
4116         * lib/chdir-long.c (find_non_slash): Likewise.
4117         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
4118         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
4119         * lib/file-type.h (file_type): Likewise.
4120         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
4121         * lib/filevercmp.c (verrevcmp): Likewise.
4122         * lib/freadahead.h (freadahead): Likewise.
4123         * lib/fts.c (fts_maxarglen): Likewise.
4124         * lib/hash-pjw.h (hash_pjw): Likewise.
4125         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
4126         * lib/hash.c (is_prime, next_prime): Likewise.
4127         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
4128         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
4129         (hash_table_ok, hash_get_first, hash_string): Likewise.
4130         (compute_bucket_size): Likewise.
4131         * lib/i-ring.h (i_ring_empty): Likewise.
4132         * lib/isnan.c (isnanl): Likewise.
4133         * lib/math.h (isnanl, rpl_isnanl): Likewise.
4134         * lib/memcasecmp.h (memcasecmp): Likewise.
4135         * lib/memchr2.h (memchr2): Likewise.
4136         * lib/memcmp2.h (memcmp2): Likewise.
4137         * lib/parse-datetime.y (lookup_zone): Likewise.
4138         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
4139         [!WINDOWS_SOCKETS]: Likewise.
4140         * lib/strnlen1.h (strnlen1): Likewise.
4141         * lib/uniwidth.in.h (uc_width): Likewise.
4142         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
4143         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
4144         (quoting_options_from_style): Add a comment.
4145         * lib/propername.h (proper_name): Add a comment.
4146
4147 2011-11-27  Bruno Haible  <bruno@clisp.org>
4148
4149         Remove unused macros from !_LIBC code in glibc-borrowed files.
4150         * lib/fnmatch.c (STRCOLL): Remove macro.
4151         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
4152         * lib/glob.c (__stat, __readdir64): Remove macros.
4153         * lib/tempname.c (__open64, __xstat64): Remove macros.
4154         Suggested by Paul Eggert.
4155
4156 2011-11-27  Bruno Haible  <bruno@clisp.org>
4157
4158         getcwd: Fix link error on MSVC 9.
4159         * modules/getcwd (Depends-on): Add readdir, rewinddir.
4160
4161 2011-11-27  Bruno Haible  <bruno@clisp.org>
4162
4163         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
4164         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
4165         HAVE_OPENDIR is 0.
4166         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
4167         HAVE_CLOSEDIR is 0.
4168         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
4169         is 0.
4170         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
4171
4172 2011-11-27  Bruno Haible  <bruno@clisp.org>
4173
4174         getcwd: Fix bug from 2011-08-17.
4175         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
4176         platforms that need it.
4177         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
4178         code of 4 to be a failure, not a success. This ensures that
4179         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
4180
4181 2011-11-27  Bruno Haible  <bruno@clisp.org>
4182
4183         binary-io tests: Avoid test failure on mingw when libtool is used.
4184         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
4185         Don't verify the size of t-bin-out1.tmp here.
4186         * tests/test-binary-io.sh: Verify it here.
4187         Reported by Simon Josefsson.
4188
4189 2011-11-26  Bruno Haible  <bruno@clisp.org>
4190
4191         Fix conflict between two instantiations of module 'unistd'.
4192         * gnulib-tool (func_emit_autoconf_snippet): Substitute
4193         ${include_guard_prefix} also in the autoconf snippet.
4194         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
4195         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
4196         GNULIB_UNISTD_H_GETOPT.
4197         * modules/getopt-posix (configure.ac): Set the
4198         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
4199         * modules/getopt-gnu (configure.ac): Likewise.
4200         * modules/unistd (Makefile.am): Change the substitution value of
4201         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
4202         Reported by Simon Josefsson.
4203
4204 2011-11-25  Bruno Haible  <bruno@clisp.org>
4205
4206         pagealign_alloc: Doc and comments.
4207         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
4208         module.
4209         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
4210
4211 2011-11-25  Jim Meyering  <meyering@redhat.com>
4212
4213         test-update-copyright.sh: avoid false-positive failure
4214         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
4215         around false positive failure on Cygwin/Windows.  The latter was
4216         matching erroneously-created files with names like
4217         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
4218
4219 2011-11-25  Simon Josefsson  <simon@josefsson.org>
4220
4221         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
4222         * m4/valgrind-tests.m4: Check that the parameters that will be
4223         used works, not just a subset of them.  Reported by Bruno Haible
4224         <bruno@clisp.org>.
4225
4226 2011-11-24  Jim Meyering  <meyering@redhat.com>
4227
4228         test-stdalign.c: comment out long double tests
4229         * tests/test-stdalign.c: Don't try to reduce alignment of long double
4230         variables.  That provokes errors like this from gcc-4.7.0 20111124:
4231         error: '_Alignas' specifiers cannot reduce alignment of \
4232         'static_longdouble_alignas'.
4233
4234 2011-11-22  Jim Meyering  <meyering@redhat.com>
4235
4236         init.sh: make "compare /dev/null FILE" output more readable
4237         * tests/init.sh (compare_): Document the preferred order of arguments.
4238         (emit_diff_u_header_): New function.
4239         (compare_dev_null_): Emit a simulated diff, rather than just the
4240         contents of the unexpected file.  Suggestion from Bruno Haible.
4241
4242 2011-11-21  Jim Meyering  <meyering@redhat.com>
4243             Eric Blake  <eblake@redhat.com>
4244
4245         init.sh: work around OSF/1 5.1's mishandling of /dev/null
4246         * tests/init.sh: Make our compare function slightly more portable.
4247         Reported by Bruno Haible in
4248         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
4249
4250 2011-11-21  Simon Josefsson  <simon@josefsson.org>
4251
4252         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
4253         before using it, in code that ends up in config.h.
4254
4255 2011-11-20  Bruno Haible  <bruno@clisp.org>
4256
4257         getcwd: Work around getcwd bug on AIX 5..7.
4258         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
4259         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
4260         Use a different value for gl_cv_func_getcwd_path_max. Move the
4261         definition of HAVE_PARTLY_WORKING_GETCWD from here...
4262         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
4263         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
4264         Define HAVE_MINIMALLY_WORKING_GETCWD.
4265         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
4266         where it is not even minimally working, that is, on AIX.
4267         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
4268         m4/getcwd-path-max.m4.
4269         (main): Update exit code computation.
4270         * doc/posix-functions/getcwd.texi: Mention list of platforms where
4271         getcwd does not handle long file names.
4272
4273 2011-11-20  Bruno Haible  <bruno@clisp.org>
4274
4275         getcwd: Fix bug from 2009-09-10.
4276         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
4277         like "no".
4278
4279 2011-11-20  Simon Josefsson  <simon@josefsson.org>
4280
4281         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
4282
4283 2011-11-20  Bruno Haible  <bruno@clisp.org>
4284
4285         fma tests: Avoid shadowing local variables.
4286         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
4287         expected.
4288
4289 2011-11-20  Bruno Haible  <bruno@clisp.org>
4290
4291         copysignf tests: Fix.
4292         * tests/test-copysignf.c: Fix signature check.
4293
4294 2011-11-20  Bruno Haible  <bruno@clisp.org>
4295
4296         fma: Remove unused code.
4297         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
4298         unused macros.
4299
4300 2011-11-20  Bruno Haible  <bruno@clisp.org>
4301
4302         sethostname: Fix doc about AIX.
4303         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
4304         sethostname; it has it.
4305
4306         sethostname: Mention more portability problems.
4307         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
4308         problem.
4309         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
4310
4311 2011-11-19  Bruno Haible  <bruno@clisp.org>
4312
4313         Depend on module fcntl-h when AT_FDCWD is used.
4314         * modules/utimens (Depends-on): Add fcntl-h.
4315         * modules/areadlinkat (Depends-on): Likewise.
4316         * modules/areadlinkat-with-size (Depends-on): Likewise.
4317         * modules/faccessat (Depends-on): Likewise.
4318         * modules/fchmodat (Depends-on): Likewise.
4319         * modules/fchownat (Depends-on): Likewise.
4320         * modules/getcwd (Depends-on): Likewise.
4321         * modules/mkdirat (Depends-on): Likewise.
4322         * modules/mkfifoat (Depends-on): Likewise.
4323         * modules/readlinkat (Depends-on): Likewise.
4324         * modules/symlinkat (Depends-on): Likewise.
4325         * modules/dup2-tests (Depends-on): Likewise.
4326         * modules/fdutimensat-tests (Depends-on): Likewise.
4327         * modules/futimens-tests (Depends-on): Likewise.
4328
4329 2011-11-19  Bruno Haible  <bruno@clisp.org>
4330
4331         euidaccess: Update a comment.
4332         * lib/euidaccess.c: Update comment about platforms with faccessat.
4333
4334 2011-11-19  Bruno Haible  <bruno@clisp.org>
4335
4336         openat: Fix file list.
4337         * modules/openat (Files): Remove lib/at-func.c.
4338
4339 2011-11-19  Bruno Haible  <bruno@clisp.org>
4340
4341         fstatat: Simplify.
4342         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
4343         gnulib should define rpl_fstatat, there is a
4344         "#define fstatat rpl_fstatat" in <sys/stat.h>.
4345
4346 2011-11-19  Bruno Haible  <bruno@clisp.org>
4347
4348         Ensure 'inline' can be used in tests/test-utimens-common.h.
4349         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
4350         * modules/futimens-tests (configure.ac): Likewise.
4351         * modules/utimens-tests (configure.ac): Likewise.
4352         * modules/utimensat-tests (configure.ac): Likewise.
4353
4354 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4355
4356         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
4357         not hash_insert0.
4358         (hash_insert_if_absent): Doc fix.
4359
4360 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4361
4362         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
4363
4364 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4365
4366         test-getcwd: disambiguate exit status
4367         * tests/test-getcwd.c (test_long_name): Return 0..7.
4368         (main): Exit with an unambiguous exit status.  The old
4369         code yielded a mysterious mixture of two failure codes.
4370
4371         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
4372         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
4373         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
4374         rpl_fstatat or fstatat.  This should fix the other problem
4375         reported by Kai Habel in
4376         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4377         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
4378         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
4379         and I reproduced it on a Solaris 8 host we still have in production.
4380
4381 2011-11-18  Jim Meyering  <meyering@redhat.com>
4382
4383         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
4384         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
4385         Add a sentence to the comment.
4386         (hash_insert0): New function that simply calls hash_insert_if_absent.
4387         * lib/hash.h (hash_insert_if_absent): Declare it.
4388         (hash_insert0): Add deprecation attribute.
4389         (_GL_ATTRIBUTE_DEPRECATED): Define.
4390         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
4391         not hash_insert0.
4392         * NEWS: Mention it, even though it's not really an incompatible change.
4393
4394 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
4395
4396         openat: avoid compilation failure due to lack of <errno.h> inclusion
4397         * lib/openat.c: Include <errno.h>.
4398
4399 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4400
4401         * modules/getcwd (Depends-on): Add fdopendir.
4402         This fixes one of the two problems reported by Kai Habel in
4403         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4404
4405         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
4406         stdalign problem reported by Ian Beckwith in
4407         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
4408         * modules/crypto/gc-arcfour (Depends-on):
4409         Depend conditionally on crypto/arcfour.
4410         * modules/crypto/gc-arctwo (Depends-on):
4411         Depend conditionally on crypto/arctwo.
4412         * modules/crypto/gc-des (Depends-on):
4413         Depend conditionally on crypto/des.
4414         * modules/crypto/gc-hmac-md5 (Depends-on):
4415         Depend conditionally on crypto/hmac-md5.
4416         * modules/crypto/gc-hmac-sha1 (Depends-on):
4417         Depend conditionally on crypto/hmac-sha1.
4418         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
4419         * modules/crypto/gc-md4 (Depends-on):
4420         Depend conditionally on crypto/md4.
4421         * modules/crypto/gc-md5 (Depends-on):
4422         Depend conditionally on crypto/md5.
4423         * modules/crypto/gc-rijndael (Depends-on):
4424         Depend conditionally on crypto/rijndael.
4425         * modules/crypto/gc-sha1 (Depends-on):
4426         Depend conditionally on crypto/sha1.
4427         * modules/crypto/gc-arcfour:
4428         * modules/crypto/gc-arctwo:
4429         * modules/crypto/gc-des:
4430         * modules/crypto/gc-hmac-md5:
4431         * modules/crypto/gc-hmac-sha1:
4432         * modules/crypto/gc-md2:
4433         * modules/crypto/gc-md4:
4434         * modules/crypto/gc-md5:
4435         * modules/crypto/gc-rijndael:
4436         * modules/crypto/gc-sha1:
4437         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
4438         now that the conditional dependencies do the work for us.
4439
4440 2011-11-17  Jim Meyering  <meyering@redhat.com>
4441
4442         tests: factor st_ctime-comparison out of two headers
4443         * tests/test-utimens-common.h (ctime_compare): Define.
4444         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
4445         * tests/test-lutimens.h (test_lutimens): Likewise.
4446         * tests/test-utimens.h (test_utimens): Likewise.
4447
4448         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
4449         Invoke the test program via an init.sh-using wrapper.
4450         * tests/test-getcwd.sh: New file.
4451         * modules/getcwd-tests (Files): Add it.
4452         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
4453
4454 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
4455
4456         gitlog-to-changelog: support multi-author commits.
4457         The FSF cares about keeping track of all authors of patches to its
4458         projects, but Git doesn't provide obvious support for multi-author
4459         changesets. Consensus seems to be forming around the use of extra
4460         Signed-off-by inspired lines in the log message formatted as
4461         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
4462         multi-author commits between version control systems.
4463         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
4464         log message and output in standard ChangeLog multi-author format.
4465         Reported by Peter Rosin <peda@lysator.liu.se>
4466
4467 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
4468             Bruno Haible  <bruno@clisp.org>
4469
4470         Fix some modules' file list.
4471         * modules/fstatat (Files): Add m4/lstat.m4.
4472         * modules/openat (Files): Likewise.
4473         * modules/unlinkat (Files): Likewise.
4474
4475 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
4476
4477         maint.mk: fix tight-scope.mk generation in VPATH builds.
4478         * top/maint.mk (tight-scope.mk): Make sure to prefix file
4479         reference with $(srcdir) so that the file is found correctly even
4480         when running `make syntax-check' in a VPATH build.
4481
4482 2011-11-13  Bruno Haible  <bruno@clisp.org>
4483             Jim Meyering  <meyering@redhat.com>
4484
4485         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
4486         * tests/init.sh (compare): Remove "No differences encountered" or
4487         synonymous output from the 'diff' program.
4488
4489 2011-11-13  Bruno Haible  <bruno@clisp.org>
4490
4491         Makefile: Tweak indentation.
4492         * Makefile: Use tab as first character in every line that contains rule
4493         commands.
4494
4495 2011-11-13  Bruno Haible  <bruno@clisp.org>
4496
4497         Syntax check for copyright statements.
4498         * check-copyright: New file.
4499         * Makefile (sc_check_copyright): New rule.
4500
4501 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4502
4503         * build-aux/git-version-gen: Add --prefix to configure the tag
4504         match string.
4505
4506 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4507
4508         * build-aux/git-version-gen: Add --help and --version.
4509
4510 2011-11-12  Jim Meyering  <meyering@redhat.com>
4511
4512         revamp the other test-exclude?.sh scripts to use init.sh, too
4513         * tests/test-exclude1.sh: Use init.sh.
4514         * tests/test-exclude2.sh: Likewise.
4515         * tests/test-exclude3.sh: Likewise.
4516         * tests/test-exclude4.sh: Likewise.
4517         * tests/test-exclude5.sh: Likewise.
4518         * tests/test-exclude6.sh: Likewise.
4519         * tests/test-exclude7.sh: Likewise.
4520         * tests/test-exclude8.sh: Likewise.
4521         * modules/exclude-tests (Files): List init.sh.
4522
4523         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
4524         These shell scripts ignored failure of the binary test-exclude,
4525         so making the latter return 77 didn't cause them to be skipped.
4526         * tests/test-exclude5.sh: Exit with test-exclude's error status
4527         when that program fails.  Revamp to use init.sh.
4528         * tests/test-exclude2.sh: Likewise.
4529
4530         test-exclude: fix a typo
4531         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
4532
4533 2011-11-11  Bruno Haible  <bruno@clisp.org>
4534
4535         obstack: Fix compilation error on MSVC 9.
4536         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
4537
4538 2011-11-11  Jim Meyering  <meyering@redhat.com>
4539
4540         test-exclude: skip tests rather than failing on deficient systems
4541         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
4542         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
4543         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
4544         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
4545
4546 2011-11-10  Bruno Haible  <bruno@clisp.org>
4547
4548         ptsname_r test: Avoid gcc warning on glibc systems.
4549         * tests/test-ptsname_r.c (null_ptr): New function.
4550         (test_errors): Use it.
4551
4552 2011-11-10  Bruno Haible  <bruno@clisp.org>
4553
4554         ptsname_r: Avoid compilation error on OSF/1 5.1.
4555         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
4556         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
4557         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
4558         function is not declared or incompatibly declared.
4559         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
4560         * modules/ptsname_r (Depends-on, configure.ac): Update.
4561         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
4562
4563 2011-11-10  Bruno Haible  <bruno@clisp.org>
4564
4565         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
4566         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
4567         When cross-compiling, guess yes on all platforms except AIX.
4568         Reported by Ludovic Courtès <ludo@gnu.org>.
4569
4570 2011-11-09  Bruno Haible  <bruno@clisp.org>
4571
4572         ptsname_r tests: Fix bugs.
4573         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
4574         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
4575
4576 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4577
4578         fstatat: work with cross-compilation
4579         Problem reported by Ludovic Courtès in
4580         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
4581         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
4582         "cross-compiling" and assume the bug is present.  Replace
4583         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
4584         an inverted sense, to be more conservative about our assumptions.
4585         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
4586
4587 2011-11-09  Bruno Haible  <bruno@clisp.org>
4588
4589         Improve MODULES.html output.
4590         * modules/mkfifoat (Description): Use the word "function".
4591         * modules/readlinkat (Description): Likewise.
4592         * modules/symlinkat (Description): Likewise.
4593
4594 2011-11-09  Eric Blake  <eblake@redhat.com>
4595
4596         ptsname_r-tests: new test module
4597         * modules/ptsname_r-tests: New module.
4598         * tests/test-ptsname_r.c: New file.
4599
4600         ptsname_r: new module
4601         * modules/ptsname_r: New module.
4602         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
4603         * lib/ptsname.c (__ptsname_r): Split...
4604         * lib/ptsname_r.c: ...into new file.
4605         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4606         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
4607         * modules/stdlib (Makefile.am): Substitute witnesses.
4608         * lib/stdlib.in.h (ptsname_r): Declare it.
4609         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
4610         * MODULES.html.sh (Misc): Likewise.
4611         * modules/ptsname (Depends-on): Alter dependency.
4612         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
4613
4614 2011-11-09  Jim Meyering  <meyering@redhat.com>
4615
4616         announce-gen: be more concise when there's only one URL+tarball
4617         * build-aux/announce-gen (get_tool_versions): When you distribute
4618         only one type of tarball, combine the first two "Here are..."
4619         sections and make the key-checking grammar independent of
4620         how many tarballs there are.
4621
4622 2011-11-09  Eric Blake  <eblake@redhat.com>
4623
4624         openpty: provide a stub on mingw
4625         * lib/pty.in.h (includes): Provide forward declarations.
4626         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
4627
4628         raise: fix mingw handling of SIGPIPE
4629         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
4630
4631 2011-11-08  Bruno Haible  <bruno@clisp.org>
4632
4633         More conditional dependencies.
4634         * modules/faccessat (Depends-on): Add conditions.
4635         * modules/fchmodat (Depends-on): Likewise.
4636         * modules/fchownat (Depends-on): Likewise.
4637         * modules/fstatat (Depends-on): Likewise.
4638         * modules/mkfifoat (Depends-on): Likewise.
4639         * modules/readlinkat (Depends-on): Likewise.
4640         * modules/symlinkat (Depends-on): Likewise.
4641         * modules/unlinkat (Depends-on): Likewise.
4642         * modules/utimensat (Depends-on): Likewise.
4643         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
4644         * modules/linkat (Depends-on): Refine the conditions.
4645         * modules/renameat (Depends-on): Likewise.
4646
4647 2011-11-08  Bruno Haible  <bruno@clisp.org>
4648
4649         faccessat: Move AC_LIBOBJ invocation to module description.
4650         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
4651         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
4652         invocation from here...
4653         * modules/faccessat (configure.ac): ... to here. Invoke
4654         gl_PREREQ_FACCESSAT.
4655
4656 2011-11-08  Bruno Haible  <bruno@clisp.org>
4657
4658         faccessat: Simplify autoconf macro.
4659         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
4660         gl_FUNC_EUIDACCESS.
4661
4662 2011-11-08  Bruno Haible  <bruno@clisp.org>
4663
4664         renameat: Fix dependencies.
4665         * modules/renameat (Depends-on): Add stdbool.
4666
4667 2011-11-08  Bruno Haible  <bruno@clisp.org>
4668
4669         mkfifoat: Fix module description.
4670         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
4671         not gl_UNISTD_MODULE_INDICATOR.
4672
4673 2011-11-08  Bruno Haible  <bruno@clisp.org>
4674
4675         fstatat: Remove unused dependency.
4676         * modules/fstatat (Depends-on): Remove fstat.
4677
4678 2011-11-08  Simon Josefsson  <simon@josefsson.org>
4679
4680         GNUmakefile: behave when Makefile is missing.
4681         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
4682
4683 2011-11-08  Bruno Haible  <bruno@clisp.org>
4684
4685         openat: Conditionalize dependencies.
4686         * lib/openat.c: Reduce the scope of some #includes.
4687         * modules/openat (Depends-on): Add conditions.
4688
4689 2011-11-07  Jim Meyering  <meyering@redhat.com>
4690
4691         maint.mk: extract GPG key ID without using a temporary file
4692         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
4693         without using a temporary file.  Based on a suggestion from Werner Koch
4694         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
4695
4696 2011-11-07  Eric Blake  <eblake@redhat.com>
4697
4698         grantpt: fix typo
4699         * lib/stdlib.in.h (grantpt): Check correct function.
4700
4701         maint.mk: silence new syntax check
4702         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
4703
4704 2011-11-06  Bruno Haible  <bruno@clisp.org>
4705
4706         Doc about floating-point and math API.
4707         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
4708         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
4709
4710 2011-11-06  Bruno Haible  <bruno@clisp.org>
4711
4712         stdalign tests: Skip the test when compiled by Sun C.
4713         * tests/test-stdalign.c (main): Skip the test on Sun C.
4714
4715 2011-11-06  Bruno Haible  <bruno@clisp.org>
4716
4717         ansi-c++-opt: Complete the 2011-06-05 change.
4718         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
4719         does not support namespaces, set the variable to "no", not to ":".
4720
4721 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4722
4723         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
4724
4725 2011-11-06  Bruno Haible  <bruno@clisp.org>
4726
4727         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
4728         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
4729         (minus_zerol) [HP-UX]: New macro.
4730         (unary_minus) [HP-UX]: New function.
4731         (copysignl) [HP-UX]: Use unary_minus function.
4732
4733 2011-11-06  Bruno Haible  <bruno@clisp.org>
4734
4735         ldexp, ldexpf, ldexpl: Enhance tests.
4736         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
4737         and tests/test-ldexpl.c.
4738         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
4739         LDEXP, MIN_EXP, MAX_EXP): New macros.
4740         Include test-ldexp.h.
4741         (main): Just call test_function.
4742         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
4743         infinity.h, nan.h.
4744         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4745         MAX_EXP): New macros.
4746         Include test-ldexp.h.
4747         (x, y): Remove variables.
4748         (main): Just call test_function.
4749         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
4750         infinity.h, nan.h.
4751         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4752         MAX_EXP): New macros.
4753         Include test-ldexp.h.
4754         (x, y): Remove variables.
4755         (main): Just call test_function.
4756         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
4757         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
4758         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4759         (Depends-on): Add isnand-nolibm, signbit, float.
4760         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
4761         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4762         (Depends-on): Add isnanf-nolibm, signbit, float.
4763
4764 2011-11-06  Bruno Haible  <bruno@clisp.org>
4765
4766         math tests: Cosmetics.
4767         * tests/test-math-c++.cc: Reorder declarations.
4768
4769 2011-11-05  Bruno Haible  <bruno@clisp.org>
4770
4771         fma*: Simplify test.
4772         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
4773         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
4774
4775         Tests for module 'fmal'.
4776         * modules/fmal-tests: New file.
4777         * tests/test-fmal1.c: New file.
4778         * tests/test-fmal2.c: New file.
4779
4780         New module 'fmal'.
4781         * lib/math.in.h (fmal): New declaration.
4782         * lib/fmal.c: New file.
4783         * m4/fmal.m4: New file.
4784         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
4785         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
4786         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
4787         REPLACE_FMAL.
4788         * modules/fmal: New file.
4789         * doc/posix-functions/fmal.texi: Mention the new module and the various
4790         bugs.
4791
4792         Tests for module 'fmaf'.
4793         * modules/fmaf-tests: New file.
4794         * tests/test-fmaf1.c: New file.
4795         * tests/test-fmaf2.c: New file.
4796
4797         New module 'fmaf'.
4798         * lib/math.in.h (fmaf): New declaration.
4799         * lib/fmaf.c: New file.
4800         * m4/fmaf.m4: New file.
4801         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
4802         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
4803         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
4804         REPLACE_FMAF.
4805         * modules/fmaf: New file.
4806         * doc/posix-functions/fmaf.texi: Mention the new module and the various
4807         bugs.
4808
4809         Tests for module 'fma'.
4810         * modules/fma-tests: New file.
4811         * tests/test-fma1.c: New file.
4812         * tests/test-fma1.h: New file.
4813         * tests/test-fma2.c: New file.
4814         * tests/test-fma2.h: New file.
4815
4816         New module 'fma'.
4817         * lib/math.in.h (fma): New declaration.
4818         * lib/fma.c: New file.
4819         * m4/fma.m4: New file.
4820         * m4/fegetround.m4: New file.
4821         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
4822         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
4823         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
4824         REPLACE_FMA.
4825         * modules/fma: New file.
4826         * doc/posix-functions/fma.texi: Mention the new module and the various
4827         bugs.
4828
4829         Extend gl_MATHFUNC.
4830         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
4831         Support 'void' as argument type.
4832         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
4833
4834 2011-11-05  Jim Meyering  <meyering@redhat.com>
4835
4836         maint.mk: also prohibit inclusion of dirent.h without use
4837         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
4838
4839 2011-11-05  Bruno Haible  <bruno@clisp.org>
4840
4841         ldexpl tests: Avoid test failure on MSVC 9.
4842         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
4843         value. Needed in order to enforce the conversion from a value greater
4844         than LDBL_MAX to Infinity.
4845
4846 2011-11-05  Bruno Haible  <bruno@clisp.org>
4847
4848         New modules 'at-internal', 'openat-h', split off from module 'openat'.
4849         * modules/at-internal: New file, extracted from modules/openat.
4850         * modules/openat-h: New file.
4851         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
4852         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
4853         * modules/openat (Description): Add reference to POSIX function.
4854         (Files): Remove lib/openat.h, lib/openat-proc.c.
4855         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
4856         intprops, unistd.
4857         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
4858         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
4859         gl_FCNTL_MODULE_INDICATOR.
4860         (Include): Remove unistd.h, openat.h.
4861         * modules/areadlinkat (Files): Add lib/at-func.c.
4862         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4863         openat-die, openat-h, save-cwd.
4864         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
4865         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4866         openat-die, openat-h, save-cwd, unistd.
4867         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
4868         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4869         openat-h, save-cwd. Remove fcntl-h, openat.
4870         * modules/fchmodat (Files): Remove lib/openat.h.
4871         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4872         openat, stdbool, unistd.
4873         * modules/fchownat (Files): Remove lib/openat.h.
4874         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4875         openat, stdbool, sys_stat.
4876         * modules/fdopendir (Files): Remove lib/openat-priv.h,
4877         lib/openat-proc.c.
4878         (Depends-on): Add at-internal.
4879         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
4880         * modules/fstatat (Files): Remove lib/openat.h.
4881         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4882         stdbool, unistd.
4883         * modules/fts (Depends-on): Add openat-h.
4884         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
4885         openat.
4886         * modules/mkdirat (Files): Remove lib/openat.h.
4887         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4888         openat, stdbool, sys_stat.
4889         * modules/mkfifoat (Files): Add lib/at-func.c.
4890         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4891         openat-h, save-cwd. Remove fcntl-h, openat.
4892         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
4893         * modules/readlinkat (Files): Add lib/at-func.c.
4894         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4895         openat-h, save-cwd. Remove fcntl-h, openat.
4896         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
4897         openat.
4898         * modules/selinux-at (Files): Add lib/at-func.c.
4899         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4900         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
4901         * modules/symlinkat (Files): Add lib/at-func.c.
4902         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4903         openat-h, save-cwd. Remove fcntl-h, openat.
4904         * modules/unlinkat (Files): Remove lib/openat.h.
4905         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4906         stdbool.
4907         * modules/utimensat (Files): Add lib/at-func.c.
4908         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
4909         openat-die, openat-h, save-cwd.
4910         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
4911         * modules/fdutimensat-tests (Depends-on): Add openat.
4912         * modules/fstatat-tests (Depends-on): Add openat-h.
4913         * modules/readlinkat-tests (Depends-on): Add openat.
4914         * modules/symlinkat-tests (Depends-on): Add openat.
4915
4916 2011-11-05  Bruno Haible  <bruno@clisp.org>
4917
4918         openat: Include <stdbool.h>.
4919         * lib/openat.c: Include <stdbool.h>.
4920
4921 2011-11-04  Bruno Haible  <bruno@clisp.org>
4922
4923         fchownat, renameat, unlinkat: Fix dependencies.
4924         * modules/fchownat (Depends-on): Add fstatat.
4925         * modules/renameat (Depends-on): Likewise.
4926         * modules/unlinkat (Depends-on): Likewise.
4927
4928 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
4929
4930         openat: remove direct dependency on dirent
4931         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
4932         and hasn't been needed ever since fdopendir was split into its own
4933         module on 2009-08-31.
4934         * modules/openat (Depends-on): Remove dirent.
4935
4936 2011-11-04  Bruno Haible  <bruno@clisp.org>
4937
4938         renameat: Optimize code size.
4939         * modules/renameat (configure.ac): Don't compile at-func2.c if
4940         REPLACE_RENAMEAT is 1.
4941
4942 2011-11-04  Bruno Haible  <bruno@clisp.org>
4943
4944         openat tests: Fix file list.
4945         * modules/openat-tests (Files): Add tests/test-open.h.
4946
4947 2011-11-04  Bruno Haible  <bruno@clisp.org>
4948
4949         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
4950         * modules/fchmodat (Depends-on): Add openat-die.
4951         * modules/fchownat (Depends-on): Likewise.
4952         * modules/linkat (Depends-on): Likewise.
4953         * modules/renameat (Depends-on): Likewise.
4954         * modules/openat (Depends-on): Add dirent.
4955
4956 2011-11-04  Jim Meyering  <meyering@redhat.com>
4957
4958         at-func*.c: fix comments
4959         * lib/at-func2.c: Correct/improve first-line comment.
4960         * lib/at-func.c: Correct grammar in first-line comment.
4961
4962 2011-11-04  Bruno Haible  <bruno@clisp.org>
4963
4964         New module 'mkdirat', split off from module 'openat'.
4965         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
4966         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
4967         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
4968         * modules/mkdirat: New file, extracted from modules/openat.
4969         * modules/openat (Files): Remove lib/mkdirat.c.
4970         (Depends-on): Remove mkdir.
4971         (configure.ac): Remove AC_LIBOBJ of mkdirat.
4972         (Include): Remove <sys/stat.h>.
4973         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
4974         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
4975         tests/test-mkdir.h.
4976         (Depends-on): Remove ignore-value.
4977         (Makefile.am): Remove rules for test-mkdirat.
4978         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
4979         of module 'openat'.
4980         * NEWS: Mention the change.
4981
4982 2011-11-04  Bruno Haible  <bruno@clisp.org>
4983
4984         closedir: Avoid warning on mingw.
4985         * lib/closedir.c: Include <unistd.h>.
4986
4987 2011-11-04  Bruno Haible  <bruno@clisp.org>
4988
4989         New module 'fstatat', split off from module 'openat'.
4990         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
4991         defined.
4992         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
4993         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
4994         gl_FUNC_FSTATAT.
4995         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
4996         * modules/fstatat: New file, extracted from modules/openat.
4997         * modules/openat (Files): Remove lib/fstatat.c.
4998         (Depends-on): Remove lstat.
4999         (configure.ac): Remove AC_LIBOBJ of fstatat.
5000         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
5001         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
5002         tests/test-lstat.h, tests/test-stat.h.
5003         (Depends-on): Remove getcwd-lgpl.
5004         (Makefile.am): Remove rules for test-fstatat.
5005         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
5006         of module 'openat'.
5007         * NEWS: Mention the change.
5008         * modules/getcwd (Depends-on): Add fstatat.
5009         * modules/linkat (Depends-on): Likewise.
5010         * modules/mkfifoat-tests (Depends-on): Likewise.
5011         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
5012
5013 2011-11-03  Bruno Haible  <bruno@clisp.org>
5014
5015         New module 'unlinkat', split off from module 'openat'.
5016         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
5017         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
5018         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
5019         * modules/unlinkat: New file, extracted from modules/openat. Correct
5020         the dependency conditions.
5021         * modules/openat (Files): Remove lib/unlinkat.c.
5022         (Depends-on): Remove rmdir, unlink.
5023         (configure.ac): Remove AC_LIBOBJ of unlinkat.
5024         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
5025         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
5026         tests/test-rmdir.h, tests/test-unlink.h.
5027         (Depends-on): Remove unlinkdir.
5028         (Makefile.am): Remove rules for test-unlinkat.
5029         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
5030         of module 'openat'.
5031         * NEWS: Mention the change.
5032         * modules/linkat-tests (Depends-on): Add unlinkat.
5033         * modules/mkfifoat-tests (Depends-on): Likewise.
5034         * modules/readlinkat-tests (Depends-on): Likewise.
5035
5036 2011-11-02  Bruno Haible  <bruno@clisp.org>
5037
5038         New module 'fchmodat', split off from module 'openat'.
5039         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
5040         defined.
5041         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
5042         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
5043         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
5044         * modules/fchmodat: New file, extracted from modules/openat.
5045         * modules/openat (Files): Remove lib/fchmodat.c.
5046         (configure.ac): Remove AC_LIBOBJ of fchmodat.
5047         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
5048         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
5049         (Makefile.am): Remove rules for test-fchmodat.
5050         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
5051         of module 'openat'.
5052         * NEWS: Mention the change.
5053
5054 2011-11-02  Jim Meyering  <meyering@redhat.com>
5055
5056         putenv: indent #definition of "environ" to placate cppi
5057         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
5058
5059         gitlog-to-changelog: provide a ChangeLog-repair mechanism
5060         Git logs are often treated as immutable, because editing them
5061         changes the SHA1 checksums of all descendants.  Thus, errors in
5062         git logs tend to stay there forever.  However, when we generate
5063         a ChangeLog file -- typically for distribution -- from that git log,
5064         we can actually make corrections in the generated file.  The key
5065         lies in recording in machine-readable/applicable form the desired
5066         corrections.  See --help for description and an example.
5067         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
5068         (usage): Describe it; alphabetize option descriptions.
5069         (main): Honor the new option, carefully.
5070
5071 2011-11-01  Jim Meyering  <meyering@redhat.com>
5072
5073         gitlog-to-changelog: avoid an infloop
5074         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
5075         that ends up being empty.
5076
5077 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5078
5079         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
5080         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
5081         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
5082         contains (possibly-quoted) backslashes.  This should avoid
5083         all-too-common shell bugs if COMPLICATED contains backslashes in
5084         the "wrong" places.  Reported by David Evans in
5085         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
5086         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
5087         because we want ASCII ranges.  Is there some reason we don't use
5088         the C locale everywhere in this script?
5089         (func_module, top level): Avoid unwanted pathname expansion when
5090         $repo_url_prefix or $repo_url_suffix_repl contain shell
5091         metacharacters like '?' and '*'.
5092
5093 2011-11-01  Bruno Haible  <bruno@clisp.org>
5094
5095         fchownat: Improve description.
5096         * modules/fchownat (Description): Add link to function.
5097
5098 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5099
5100         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
5101         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
5102         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
5103         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
5104
5105 2011-11-01  Bruno Haible  <bruno@clisp.org>
5106
5107         alignof: Avoid collision with stdalign module.
5108         * lib/alignof.h (alignof): Remove macro.
5109         * NEWS: Mention the change.
5110         Reported by Paul Eggert.
5111
5112 2011-11-01  Bruno Haible  <bruno@clisp.org>
5113
5114         New module 'fchownat', split off from module 'openat'.
5115         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
5116         defined.
5117         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
5118         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
5119         invoke gl_FUNC_FCHOWNAT.
5120         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
5121         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
5122         * modules/fchownat: New file, extracted from modules/openat.
5123         * modules/openat (Files): Remove lib/fchownat.c.
5124         (Depends-on): Remove lchown.
5125         (configure.ac): Remove AC_LIBOBJ of fchownat.
5126         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
5127         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
5128         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
5129         (Depends-on): Remove mgetgroups, usleep, stat-time.
5130         (configure.ac): Remove test for getegid.
5131         (Makefile.am): Remove rules for test-fchownat.
5132         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
5133         of module 'openat'.
5134         * NEWS: Mention the change.
5135
5136 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
5137
5138         stdalign: port better to MSVC and to Sun C 5.11
5139         This fixes some of the problems reported by Bruno Haible in
5140         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
5141         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
5142         shortcomings of MSVC and of Sun C 5.11.
5143         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
5144         around __declspec arg.
5145         * modules/stdalign-tests (Files): Add tests/macros.h.
5146         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
5147         Include macros.h, for ASSERT.
5148         (DECLARE_ALIGNED): Remove.
5149         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
5150         to catch bug), and to 1 if not (simplifies the rest of the code).
5151         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
5152         (CHECK_AUTO): Remove.
5153         (CHECK_ALIGNED): Check only the alignment of the static vars,
5154         since auto var alignment isn't supported by Sun C 5.11.
5155         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
5156         ASSERT failures are easier to diagnose.
5157
5158 2011-10-31  Bruno Haible  <bruno@clisp.org>
5159
5160         doc about some IRIX 5.3 problems.
5161         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
5162         on IRIX 5.3.
5163         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
5164         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
5165         5.3.
5166         * doc/posix-functions/grantpt.texi: Likewise.
5167         * doc/posix-functions/unlockpt.texi: Likewise.
5168         * doc/posix-functions/lgamma.texi: Likewise.
5169         * doc/posix-functions/nextafter.texi: Likewise.
5170         * doc/posix-functions/remainder.texi: Likewise.
5171         * doc/posix-functions/select.texi: Mention misplaced declaration on
5172         IRIX 5.3.
5173         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5174
5175 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
5176
5177         gitlog-to-changelog: fix git-log invocation.
5178         git-log mishandles date strings before 1970-01-01 UTC, and there is
5179         no use to specify --since=1970-01-01 by default anyway.
5180         * build-aux/gitlog-to-changelog: By default, when no --since option
5181         was given, do not specify explicit --since option to git-log.
5182
5183 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
5184
5185         gitlog-to-changelog: new option --append-dot.
5186         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
5187         first non-blank line of each commit message terminated with a dot.
5188
5189 2011-10-30  Bruno Haible  <bruno@clisp.org>
5190
5191         ffsl, ffsll: Avoid compilation error due to 'restrict'.
5192         * lib/ffsl.h: Include <config.h>.
5193         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
5194
5195 2011-10-30  Jim Meyering  <meyering@redhat.com>
5196
5197         GNUmakefile: reenable "make syntax-check" for most projects
5198         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
5199         build-aux variable", "syntax-check" would do nothing but succeed with
5200         the "No version control files detected..." diagnostic (unless you
5201         happened to override _build-aux via cfg.mk).
5202         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
5203         to precede inclusion of maint.mk.  Otherwise, these variables would
5204         be used undefined in any project that does not override the default.
5205
5206 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
5207
5208         gitlog-to-changelog: treat a message with only blank lines as empty.
5209         * build-aux/gitlog-to-changelog: Move the code that removes leading and
5210         trailing blank lines before the code that issues a warning about an
5211         empty commit message.
5212
5213 2011-10-30  Jim Meyering  <meyering@redhat.com>
5214
5215         test-parse-datetime.c: avoid new DST-related false positive test failure
5216         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
5217         based on the time/date we'll convert, not the current time.
5218         Otherwise, the moment we cross a DST boundary like today's in
5219         Europe, (CEST to CET), that offset ends up being one hour off.
5220
5221 2011-10-27  Bruno Haible  <bruno@clisp.org>
5222
5223         fstat: Tweak documentation.
5224         * modules/fstat (Description): More precise description.
5225
5226 2011-10-27  Bruno Haible  <bruno@clisp.org>
5227
5228         Update documentation regarding 'largefile' module.
5229         * doc/posix-functions/fstat.texi: Tweak wording.
5230         * doc/posix-functions/opendir.texi: Mention that the module fixes the
5231         problems with huge directories and/or small ino_t types.
5232         * doc/posix-functions/readdir.texi: Likewise.
5233         * doc/posix-functions/rewinddir.texi: Likewise.
5234
5235 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
5236
5237         maint.mk: don't maintain a second build-aux variable.
5238         * maint.mk (build_aux): Removed.  The maintainer-makefile module
5239         depends on GNUmakefile, which already maintains a cfg.mk
5240         overridable $(_build-aux) for projects with a non-standard
5241         build-aux directory location, although without the $(srcdir)
5242         prefix.  Use that variable consistently instead of introducing a
5243         second one.  Adjust all call sites.
5244
5245 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
5246
5247         Add stdalign module and use it in other modules.
5248         This is based on a previous proposal by Bruno Haible
5249         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
5250
5251         stdalign: new module
5252         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
5253         * modules/stdalign: New files.
5254         * MODULES.html.sh (c1x_core_properties): Add stdalign.
5255         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
5256
5257         stdalign-tests: new module
5258         * modules/stdalign-tests, tests/test-stdalign.c: New files.
5259
5260         argp: use stdalign
5261         * lib/argp-parse.c: Include <stdalign.h>.
5262         (alignof): Remove.
5263         * modules/argp (Depends-on): Add stdalign.
5264
5265         crypto libraries: use stdalign
5266         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
5267         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
5268         Do not include <stdlib.h> twice, in md4.c.
5269         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
5270         because we are accessing a pointer's bit-pattern, not a size.
5271         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
5272         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
5273         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
5274         * modules/crypto/sha512: Likewise.
5275
5276         sys_socket: use stdalign, not alignof
5277         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
5278         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
5279
5280 2011-10-27  Bruno Haible  <bruno@clisp.org>
5281
5282         raise test: Avoid a test failure on Linux/MIPS.
5283         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
5284         because 99 is a valid signal on Linux/MIPS.
5285
5286 2011-10-27  Bruno Haible  <bruno@clisp.org>
5287
5288         nonblocking tests: Fix test failure on Linux/MIPS.
5289         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
5290         Set to 270000.
5291
5292 2011-10-27  Bruno Haible  <bruno@clisp.org>
5293
5294         utimensat: Work around problem on Linux/hppa.
5295         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
5296         values.
5297         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
5298
5299 2011-10-25  Jim Meyering  <meyering@redhat.com>
5300
5301         maint.mk: fix a bug in sc_prohibit_stddef_without_use
5302         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
5303         after symbols like NULL, size_t, etc.
5304         Reported by Alfred M. Szmidt.
5305
5306         maint.mk: exempt ENODATA from a syntax-check rule
5307         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
5308         from the sc_prohibit_always-defined_macros syntax-check rule.
5309         Add a comment.  See this for more details:
5310         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
5311
5312 2011-10-23  Jim Meyering  <meyering@redhat.com>
5313
5314         fts: close parent dir FD before returning from post-traversal fts_read
5315         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
5316         unlink A, even though an FD open on A remained.  This is suboptimal
5317         (holding a file descriptor open longer than needed), but otherwise not
5318         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
5319         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
5320         that represents a real problem: it causes the removal of A to fail
5321         with e.g., "rm: cannot remove `A': Device or resource busy"
5322
5323         fts visits each directory twice and keeps a cache (fts_fd_ring) of
5324         directory file descriptors.  After completing the final, FTS_DP,
5325         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
5326         cache, but then proceeded to add a new FD to it via the subsequent
5327         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
5328         final file descriptor would be closed only via fts_close's call to
5329         fd_ring_clear.  Now, it is usually closed earlier, via the final
5330         FTS_DP-returning fts_read call.
5331         * lib/fts.c (restore_initial_cwd): New function, converted from
5332         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
5333         Update callers.
5334         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
5335         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
5336
5337 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
5338             Bruno Haible  <bruno@clisp.org>
5339             Jim Meyering  <jim@meyering.net>
5340
5341         readme-release: improve safety of release prep instructions.
5342         * README-release: Don't git pull all branches when only master
5343         is needed for the release process.
5344         Run make maintainer-clean before changing trees and merging.
5345         Don't try to run ./configure right after git pull in case files
5346         that influence the bootstrap process have changed, move the
5347         ./configure step to after running ./bootstrap.
5348         Don't bootstrap "one last time"... it's the first time!
5349
5350 2011-10-22  Bruno Haible  <bruno@clisp.org>
5351
5352         errno, strerror-override: Support for MSVC 10.
5353         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
5354         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
5355         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
5356         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
5357         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
5358         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
5359         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
5360         Assign values compatible with MSVC 10.
5361         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
5362         New macros.
5363         (GNULIB_defined_EWINSOCK): New macro.
5364         * lib/strerror-override.c (strerror_override): Update accordingly.
5365         * lib/strerror-override.h: Likewise.
5366         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
5367         longer equal to the corresponding errno value.
5368         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5369
5370 2011-10-22  Bruno Haible  <bruno@clisp.org>
5371
5372         perror: Recognize when test program crashes.
5373         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
5374         strerror, set gl_cv_func_perror_works to no.
5375         Reported by Daniel Richard G. <skunk@iskunk.org>.
5376
5377         perror: Fix indentation.
5378         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
5379
5380 2011-10-22  Bruno Haible  <bruno@clisp.org>
5381
5382         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
5383         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
5384         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
5385         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
5386         functions, not as a macro.
5387         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
5388         macros.
5389         (isfinite, isinf, isnan, signbit): Check overloaded functions and
5390         absence of macro.
5391         Suggested by Eric Blake.
5392         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5393
5394 2011-10-21  Bruno Haible  <bruno@clisp.org>
5395
5396         relocatable-prog-wrapper: Don't leave object files behind.
5397         * build-aux/install-reloc: Re-synchronize list of .o files to be
5398         removed with list of compilation units.
5399
5400 2011-10-20  Bruno Haible  <bruno@clisp.org>
5401
5402         openpty, posix_openpt: Remove code duplication.
5403         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
5404         * lib/openpty.c: Include <stdlib.h>.
5405         (openpty): Use posix_openpt on all platforms except IRIX.
5406         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
5407
5408 2011-10-20  Bruno Haible  <bruno@clisp.org>
5409
5410         unlockpt: Detect invalid argument.
5411         * lib/unlockpt.c: Include <fcntl.h>.
5412         (unlockpt): Check whether fd is valid, using fcntl().
5413         * modules/unlockpt (Depends-on): Add fcntl-h.
5414
5415 2011-10-20  Bruno Haible  <bruno@clisp.org>
5416
5417         openpty: Avoid compilation error on AIX 6.1.
5418         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
5419
5420 2011-10-20  Bruno Haible  <bruno@clisp.org>
5421
5422         posix_openpt: Support for OpenBSD.
5423         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
5424         (posix_openpt) [OpenBSD]: New code.
5425         * lib/grantpt.c: Include <fcntl.h>.
5426         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
5427         * modules/grantpt (Depends-on): Add fcntl-h.
5428
5429 2011-10-20  Bruno Haible  <bruno@clisp.org>
5430
5431         posix_openpt test: Coding style.
5432         * tests/test-posix_openpt.c: Use GNU coding style.
5433
5434 2011-10-20  Bruno Haible  <bruno@clisp.org>
5435
5436         grantpt: Support --avoid=pt_chown.
5437         * modules/grantpt (Files): Add lib/pty-private.h.
5438
5439 2011-10-20  Bruno Haible  <bruno@clisp.org>
5440
5441         posix_openpt: Fix autoconf macro.
5442         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
5443         unneeded check for _getpty.
5444
5445 2011-10-20  Bruno Haible  <bruno@clisp.org>
5446
5447         openpty: Update comments.
5448         * lib/openpty.c: Add comments about Minix.
5449
5450 2011-10-19  Eric Blake  <eblake@redhat.com>
5451
5452         openpty: relax license
5453         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
5454
5455         pt_chown: use configmake to simplify build
5456         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
5457
5458         ptsname and others: relax license
5459         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
5460         * modules/unlockpt (License): Likewise.
5461         * modules/pt_chown (License): Likewise.
5462         * modules/ptsname (License): Likewise.
5463         * modules/ttyname_r (License): Likewise.
5464
5465 2011-10-19  Jim Meyering  <meyering@redhat.com>
5466
5467         posix_openpt: remove spurious #endif
5468         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
5469
5470 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
5471
5472         maint.mk: Respect $(build_aux) in web-manual rule.
5473         * top/maint.mk (web-manual): Find gen-announce script in user's
5474         $(build_aux) directory instead of hard-coding 'build-aux'.
5475
5476 2011-10-19  Bruno Haible  <bruno@clisp.org>
5477
5478         posix_openpt: Fix compilation error.
5479         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
5480         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
5481         Mention the openpty module as an alternative.
5482
5483 2011-10-19  Bruno Haible  <bruno@clisp.org>
5484
5485         Support for old NeXTstep 3.3 frexp().
5486         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
5487         execution time of the test to 5 seconds.
5488         Reported by Daniel Richard G. <skunk@iskunk.org>.
5489
5490 2011-10-19  Bruno Haible  <bruno@clisp.org>
5491
5492         Support for old NeXTstep 3.3 sed.
5493         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
5494         part, use /.../, not \|...|. Escape periods in the header file name.
5495         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5496         Reported by Daniel Richard G. <skunk@iskunk.org>.
5497
5498 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5499
5500         Support for old NeXTstep 3.3 gcc.
5501         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
5502         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
5503         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
5504         * lib/spawn.in.h (_Restrict_arr_): Likewise.
5505         * lib/regex.h (_Restrict_arr_): Likewise.
5506         * lib/regex_internal.h (re_token_t): Likewise.
5507         * lib/regexec.c (check_node_accept_bytes): Likewise.
5508         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
5509
5510 2011-10-18  Eric Blake  <eblake@redhat.com>
5511
5512         posix_openpt: new module
5513         * modules/posix_openpt: New module.
5514         * m4/posix_openpt.m4: New file.
5515         * lib/posix_openpt.c: Likewise.
5516         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
5517         (gl_STDLIB_H_DEFAULTS): Set defaults.
5518         * modules/stdlib (Makefile.am): Substitute macros.
5519         * lib/stdlib.in.h (posix_openpt): Declare.
5520         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
5521         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
5522         * modules/posix_openpt-tests: New test module.
5523         * tests/test-posix_openpt.c: New test.
5524
5525 2011-10-15  Bruno Haible  <bruno@clisp.org>
5526
5527         xstrtoll: Fix compilation failure.
5528         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
5529         from lib/strtol.c.
5530         * doc/posix-headers/limits.texi: Mention missing numerical limits on
5531         some platforms.
5532         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5533
5534 2011-10-15  Bruno Haible  <bruno@clisp.org>
5535
5536         vasnprintf: Optimize bit search operation.
5537         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
5538         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
5539         gl_DOUBLE_EXPONENT_LOCATION.
5540         * modules/vasnprintf (Files): Add m4/exponentd.m4.
5541         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5542         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5543         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5544         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5545         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5546         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5547         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5548         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
5549
5550 2011-10-15  Bruno Haible  <bruno@clisp.org>
5551
5552         vasnprintf: Fix comments.
5553         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
5554
5555 2011-10-14  Bruno Haible  <bruno@clisp.org>
5556
5557         Tests for module 'integer_length_ll'.
5558         * modules/integer_length_ll-tests: New file.
5559         * tests/test-integer_length_ll.c: New file.
5560
5561         New module 'integer_length_ll'.
5562         * lib/integer_length_ll.c: New file.
5563         * modules/integer_length_ll: New file.
5564
5565 2011-10-14  Bruno Haible  <bruno@clisp.org>
5566
5567         Tests for module 'integer_length_l'.
5568         * modules/integer_length_l-tests: New file.
5569         * tests/test-integer_length_l.c: New file.
5570
5571         New module 'integer_length_l'.
5572         * lib/integer_length_l.c: New file.
5573         * modules/integer_length_l: New file.
5574
5575 2011-10-14  Bruno Haible  <bruno@clisp.org>
5576
5577         Tests for module 'integer_length'.
5578         * modules/integer_length-tests: New file.
5579         * tests/test-integer_length.c: New file.
5580
5581         New module 'integer_length'.
5582         * lib/integer_length.h: New file.
5583         * lib/integer_length.c: New file.
5584         * modules/integer_length: New file.
5585
5586 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5587
5588         popen: Fix dependency conditions.
5589         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
5590
5591 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5592
5593         perror: Fix autoconf test.
5594         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
5595         <stdlib.h> and <string.h>.
5596
5597 2011-10-14  Bruno Haible  <bruno@clisp.org>
5598
5599         ffsl: Optimize on 64-bit platforms.
5600         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
5601         unrolling.
5602
5603 2011-10-13  Bruno Haible  <bruno@clisp.org>
5604
5605         ffsl: Optimize on 32-bit platforms.
5606         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
5607         use ffs() without a loop.
5608
5609         ffsl, ffsll: Optimize for GCC.
5610         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
5611         * lib/ffsl.c (GCC_BUILTIN): New macro.
5612         * lib/ffsll.c (GCC_BUILTIN): Likewise.
5613
5614 2011-10-13  Bruno Haible  <bruno@clisp.org>
5615
5616         ffs, bcopy, memset: Support symbol renaming via config.h.
5617         * lib/ffs.c: Include <config.h>.
5618         * lib/bcopy.c: Likewise.
5619         * lib/memset.c: Likewise.
5620
5621 2011-10-10  Bruno Haible  <bruno@clisp.org>
5622
5623         atanl: Simplify for platforms where 'long double' == 'double'.
5624         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5625         alternative implementation.
5626         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5627         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5628         * modules/atanl (Depends-on): Add atan. Update conditions.
5629
5630 2011-10-10  Bruno Haible  <bruno@clisp.org>
5631
5632         acosl: Simplify for platforms where 'long double' == 'double'.
5633         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5634         alternative implementation.
5635         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5636         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5637         * modules/acosl (Depends-on): Add acos. Update conditions.
5638
5639 2011-10-10  Bruno Haible  <bruno@clisp.org>
5640
5641         asinl: Simplify for platforms where 'long double' == 'double'.
5642         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5643         alternative implementation.
5644         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5645         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5646         * modules/asinl (Depends-on): Add asin. Update conditions.
5647
5648 2011-10-10  Bruno Haible  <bruno@clisp.org>
5649
5650         tanl: Simplify for platforms where 'long double' == 'double'.
5651         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5652         implementation.
5653         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5654         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5655         * modules/tanl (Depends-on): Add tan. Update conditions.
5656         (configure.ac): Don't compile trigl.c if
5657         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5658
5659 2011-10-10  Bruno Haible  <bruno@clisp.org>
5660
5661         cosl: Simplify for platforms where 'long double' == 'double'.
5662         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5663         implementation.
5664         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5665         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5666         * modules/cosl (Depends-on): Add cos. Update conditions.
5667         (configure.ac): Don't compile sincosl.c and trigl.c if
5668         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5669
5670 2011-10-10  Bruno Haible  <bruno@clisp.org>
5671
5672         sinl: Simplify for platforms where 'long double' == 'double'.
5673         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5674         implementation.
5675         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5676         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5677         * modules/sinl (Depends-on): Add sin. Update conditions.
5678         (configure.ac): Don't compile sincosl.c and trigl.c if
5679         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5680
5681 2011-10-10  Bruno Haible  <bruno@clisp.org>
5682
5683         logl: Simplify for platforms where 'long double' == 'double'.
5684         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5685         implementation.
5686         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5687         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5688         * modules/logl (Depends-on): Add log. Update conditions.
5689
5690 2011-10-10  Bruno Haible  <bruno@clisp.org>
5691
5692         expl: Simplify for platforms where 'long double' == 'double'.
5693         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5694         implementation.
5695         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5696         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5697         * modules/expl (Depends-on): Add exp. Update conditions.
5698
5699 2011-10-10  Bruno Haible  <bruno@clisp.org>
5700
5701         sqrtl: Simplify for platforms where 'long double' == 'double'.
5702         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5703         alternative implementation.
5704         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5705         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5706         * modules/sqrtl (Depends-on): Update conditions.
5707
5708 2011-10-10  Bruno Haible  <bruno@clisp.org>
5709
5710         ldexpl: Simplify for platforms where 'long double' == 'double'.
5711         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5712         alternative implementation.
5713         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5714         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5715         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
5716
5717 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
5718
5719         ffsll: set correct witness
5720         * modules/ffsll (configure.ac): Fix typo.
5721
5722 2011-10-10  Bruno Haible  <bruno@clisp.org>
5723
5724         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
5725         * lib/printf-frexpl.c: Include <config.h>.
5726         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5727         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
5728         second time.
5729         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
5730         gl_LONG_DOUBLE_VS_DOUBLE.
5731         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
5732         conditions.
5733
5734 2011-10-10  Bruno Haible  <bruno@clisp.org>
5735
5736         frexpl: Simplify for platforms where 'long double' == 'double'.
5737         * lib/frexpl.c: Include <config.h>.
5738         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5739         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5740         time.
5741         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5742         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5743         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
5744         * modules/frexpl (Depends-on): Add frexp. Update conditions.
5745         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
5746         conditions.
5747
5748 2011-10-10  Jim Meyering  <meyering@redhat.com>
5749
5750         test-renameat: don't leave behind a temporary file
5751         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
5752           ERROR: files left in build directory after distclean:
5753           ./gltests/test-renameat.too
5754           make[1]: *** [distcleancheck] Error 1
5755         Reported by Tom G. Christensen.
5756
5757 2011-10-09  Bruno Haible  <bruno@clisp.org>
5758
5759         rint: Determine RINT_LIBM correctly on AIX 7.
5760         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
5761         directly, not only through a function pointer. Also accept an optional
5762         4th argument with extra code.
5763         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
5764         rintf() call by gcc when optimizing.
5765
5766         mathfunc.m4: Refactor.
5767         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
5768         m4 variable.
5769
5770 2011-10-09  Bruno Haible  <bruno@clisp.org>
5771
5772         rintl: Simplify for platforms where 'long double' == 'double'.
5773         * lib/rintl.c: Include <config.h>.
5774         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5775         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5776         time.
5777         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5778         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5779         * modules/rintl (Depends-on): Add rint. Update conditions.
5780
5781 2011-10-09  Bruno Haible  <bruno@clisp.org>
5782
5783         roundl: Simplify for platforms where 'long double' == 'double'.
5784         * lib/roundl.c: Include <config.h>.
5785         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5786         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5787         time.
5788         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5789         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5790         * modules/roundl (Depends-on): Add round. Update conditions.
5791
5792 2011-10-09  Bruno Haible  <bruno@clisp.org>
5793
5794         truncl: Simplify for platforms where 'long double' == 'double'.
5795         * lib/truncl.c: Include <config.h>.
5796         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5797         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5798         time.
5799         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5800         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5801         * modules/truncl (Depends-on): Add trunc. Update conditions.
5802
5803 2011-10-09  Bruno Haible  <bruno@clisp.org>
5804
5805         ceill: Simplify for platforms where 'long double' == 'double'.
5806         * lib/ceill.c: Include <config.h>.
5807         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5808         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5809         time.
5810         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5811         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5812         * modules/ceill (Depends-on): Add ceil. Update conditions.
5813
5814 2011-10-09  Bruno Haible  <bruno@clisp.org>
5815
5816         floorl: Simplify for platforms where 'long double' == 'double'.
5817         * lib/floorl.c: Include <config.h>.
5818         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5819         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5820         time.
5821         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5822         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5823         * modules/floorl (Depends-on): Add floor. Update conditions.
5824
5825 2011-10-09  Bruno Haible  <bruno@clisp.org>
5826
5827         rint: Fix ordering constraints.
5828         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
5829         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
5830         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5831
5832 2011-10-09  Bruno Haible  <bruno@clisp.org>
5833
5834         copysignl: Simplify for platforms where 'long double' == 'double'.
5835         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5836         alternative.
5837         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5838         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5839         * modules/copysignl (Depends-on): Add copysign. Update conditions.
5840
5841 2011-10-09  Bruno Haible  <bruno@clisp.org>
5842
5843         Tests for module 'rintl'.
5844         * modules/rintl-tests: New file.
5845         * tests/test-rintl.c: New file.
5846
5847         New module 'rintl'.
5848         * lib/math.in.h (rintl): New declaration.
5849         * lib/rintl.c: New file.
5850         * m4/rintl.m4: New file.
5851         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
5852         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
5853         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
5854         * modules/rintl: New file.
5855         * tests/test-math-c++.cc: Check the declaration of rintl.
5856         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5857         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
5858         * doc/posix-functions/rintl.texi: Mention the new module.
5859
5860 2011-10-09  Bruno Haible  <bruno@clisp.org>
5861
5862         Tests for module 'rintf'.
5863         * modules/rintf-tests: New file.
5864         * tests/test-rintf.c: New file.
5865
5866         New module 'rintf'.
5867         * lib/math.in.h (rintf): New declaration.
5868         * lib/rintf.c: New file.
5869         * m4/rintf.m4: New file.
5870         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
5871         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
5872         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
5873         * modules/rintf: New file.
5874         * tests/test-math-c++.cc: Check the declaration of rintf.
5875         * doc/posix-functions/rintf.texi: Mention the new module.
5876
5877 2011-10-09  Bruno Haible  <bruno@clisp.org>
5878
5879         rint: Support for MSVC.
5880         * lib/math.in.h (rint): New declaration.
5881         * lib/rint.c: New file.
5882         * m4/rint.m4: New file.
5883         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
5884         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
5885         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
5886         * modules/rint (Description): Fix.
5887         (Files): Add lib/rint.c, m4/rint.m4.
5888         (Depends-on): Add math.
5889         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
5890         gl_MATH_MODULE_INDICATOR.
5891         * tests/test-math-c++.cc: Check the declaration of rint.
5892         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5893         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
5894         * doc/posix-functions/rint.texi: Mention the replacement provided by
5895         the module.
5896
5897         rint tests: More tests.
5898         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
5899         minus-zero.h, infinity.h, nan.h.
5900         (main): Skip the test if the current rounding mode is not standard. Add
5901         tests for negative numbers, minus zero, infinity, NaN.
5902         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
5903         tests/nan.h.
5904         (Depends-on): Add isnand-nolibm.
5905
5906 2011-10-09  Bruno Haible  <bruno@clisp.org>
5907
5908         Tests for module 'copysignl'.
5909         * modules/copysignl-tests: New file.
5910         * tests/test-copysignl.c: New file.
5911
5912         New module 'copysignl'.
5913         * lib/math.in.h (copysignl): New declaration.
5914         * lib/copysignl.c: New file.
5915         * m4/copysignl.m4: New file.
5916         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
5917         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
5918         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
5919         HAVE_COPYSIGNL.
5920         * modules/copysignl: New file.
5921         * tests/test-math-c++.cc: Check the declaration of copysignl.
5922         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5923         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
5924         * doc/posix-functions/copysignl.texi: Mention the new module.
5925
5926 2011-10-09  Bruno Haible  <bruno@clisp.org>
5927
5928         Tests for module 'copysignf'.
5929         * modules/copysignf-tests: New file.
5930         * tests/test-copysignf.c: New file.
5931
5932         New module 'copysignf'.
5933         * lib/math.in.h (copysignf): New declaration.
5934         * lib/copysignf.c: New file.
5935         * m4/copysignf.m4: New file.
5936         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
5937         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
5938         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
5939         HAVE_COPYSIGNF.
5940         * modules/copysignf: New file.
5941         * tests/test-math-c++.cc: Check the declaration of copysignf.
5942         * doc/posix-functions/copysignf.texi: Mention the new module.
5943
5944 2011-10-09  Bruno Haible  <bruno@clisp.org>
5945
5946         Ensure that HAVE_* variables are set to 1 before they are set to 0.
5947         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
5948         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
5949         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5950         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
5951         gl_SIGNAL_H_DEFAULTS.
5952
5953 2011-10-09  Bruno Haible  <bruno@clisp.org>
5954
5955         poll: Make macro safer.
5956         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
5957         ac_cv_header_poll_h is not set.
5958
5959 2011-10-09  Bruno Haible  <bruno@clisp.org>
5960
5961         copysign: Provide replacement.
5962         * lib/math.in.h (copysign): New declaration.
5963         * lib/copysign.c: New file.
5964         * m4/copysign.m4: New file.
5965         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
5966         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
5967         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
5968         HAVE_COPYSIGN.
5969         * modules/copysign (Description): Clarify.
5970         (Files): Add lib/copysign.c, m4/copysign.m4.
5971         (Depends-on): Add math, signbit.
5972         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
5973         gl_MATH_MODULE_INDICATOR.
5974         * tests/test-math-c++.cc: Check the declaration of copysign.
5975         * doc/posix-functions/copysign.texi: Mention the effects of the module
5976         on Minix and MSVC.
5977
5978 2011-10-09  Bruno Haible  <bruno@clisp.org>
5979
5980         isinf: Ensure macro on AIX 5.1.
5981         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
5982         macro.
5983         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
5984
5985 2011-10-09  Bruno Haible  <bruno@clisp.org>
5986
5987         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
5988         * modules/snprintf-posix-tests (configure.ac): Require
5989         gl_LONG_DOUBLE_VS_DOUBLE.
5990         * modules/sprintf-posix-tests (configure.ac): Likewise.
5991         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
5992         * modules/vasprintf-posix-tests (configure.ac): Likewise.
5993         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
5994         * modules/vsprintf-posix-tests (configure.ac): Likewise.
5995         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
5996         tests on platforms where 'long double' is the same as 'double'.
5997         * tests/test-sprintf-posix.h (test_function): Likewise.
5998         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5999         * tests/test-vasprintf-posix.c (test_function): Likewise.
6000
6001         *printf: Fix for platforms where 'long double' == 'double'.
6002         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
6003         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
6004         * modules/dprintf-posix (Files): Add m4/math_h.m4.
6005         * modules/fprintf-posix (Files): Likewise.
6006         * modules/obstack-printf-posix (Files): Likewise.
6007         * modules/snprintf-posix (Files): Likewise.
6008         * modules/sprintf-posix (Files): Likewise.
6009         * modules/vasnprintf (Files): Likewise.
6010         * modules/vasnprintf-posix (Files): Likewise.
6011         * modules/vasprintf-posix (Files): Likewise.
6012         * modules/vdprintf-posix (Files): Likewise.
6013         * modules/vfprintf-posix (Files): Likewise.
6014         * modules/vsnprintf-posix (Files): Likewise.
6015         * modules/vsprintf-posix (Files): Likewise.
6016         * modules/unistdio/u8-vasnprintf (Files): Likewise.
6017         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
6018         * modules/unistdio/u16-vasnprintf (Files): Likewise.
6019         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
6020         * modules/unistdio/u32-vasnprintf (Files): Likewise.
6021         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
6022         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
6023
6024         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
6025         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
6026         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6027         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
6028         'long double'.
6029         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
6030
6031         isinf: Fix for platforms where 'long double' == 'double'.
6032         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6033         Don't blindly assume 80-bit 'long double'.
6034
6035         isfinite: Fix for platforms where 'long double' == 'double'.
6036         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6037         Don't blindly assume 80-bit 'long double'.
6038
6039         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
6040         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
6041         * modules/isfinite-tests (configure.ac): Require
6042         gl_LONG_DOUBLE_VS_DOUBLE.
6043         * modules/isinf-tests (configure.ac): Likewise.
6044         * modules/isnan-tests (configure.ac): Likewise.
6045         * modules/isnanl-tests (configure.ac): Likewise.
6046         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
6047         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
6048         tests on platforms where 'long double' is the same as 'double'.
6049         * tests/test-isinf.c (test_isinfl): Likewise.
6050         * tests/test-isnan.c (test_long_double): Likewise.
6051         * tests/test-isnanl.h (main): Likewise.
6052
6053 2011-10-08  Bruno Haible  <bruno@clisp.org>
6054
6055         Tests for module 'tanhf'.
6056         * modules/tanhf-tests: New file.
6057         * tests/test-tanhf.c: New file.
6058
6059         New module 'tanhf'.
6060         * lib/math.in.h (tanhf): New declaration.
6061         * lib/tanhf.c: New file.
6062         * m4/tanhf.m4: New file.
6063         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
6064         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
6065         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
6066         * modules/tanhf: New file.
6067         * tests/test-math-c++.cc: Check the declaration of tanhf.
6068         * doc/posix-functions/tanhf.texi: Mention the new module.
6069
6070         tanh: Use a .m4 file.
6071         * m4/tanh.m4: New file.
6072         * modules/tanh (Files): Add it.
6073         (configure.ac): Just invoke gl_FUNC_TANH.
6074
6075 2011-10-08  Bruno Haible  <bruno@clisp.org>
6076
6077         Tests for module 'coshf'.
6078         * modules/coshf-tests: New file.
6079         * tests/test-coshf.c: New file.
6080
6081         New module 'coshf'.
6082         * lib/math.in.h (coshf): New declaration.
6083         * lib/coshf.c: New file.
6084         * m4/coshf.m4: New file.
6085         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
6086         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
6087         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
6088         * modules/coshf: New file.
6089         * tests/test-math-c++.cc: Check the declaration of coshf.
6090         * doc/posix-functions/coshf.texi: Mention the new module.
6091
6092         cosh: Use a .m4 file.
6093         * m4/cosh.m4: New file.
6094         * modules/cosh (Files): Add it.
6095         (configure.ac): Just invoke gl_FUNC_COSH.
6096
6097 2011-10-08  Bruno Haible  <bruno@clisp.org>
6098
6099         Tests for module 'sinhf'.
6100         * modules/sinhf-tests: New file.
6101         * tests/test-sinhf.c: New file.
6102
6103         New module 'sinhf'.
6104         * lib/math.in.h (sinhf): New declaration.
6105         * lib/sinhf.c: New file.
6106         * m4/sinhf.m4: New file.
6107         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
6108         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
6109         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
6110         * modules/sinhf: New file.
6111         * tests/test-math-c++.cc: Check the declaration of sinhf.
6112         * doc/posix-functions/sinhf.texi: Mention the new module.
6113
6114         sinh: Use a .m4 file.
6115         * m4/sinh.m4: New file.
6116         * modules/sinh (Files): Add it.
6117         (configure.ac): Just invoke gl_FUNC_SINH.
6118
6119 2011-10-08  Bruno Haible  <bruno@clisp.org>
6120
6121         Tests for module 'atan2f'.
6122         * modules/atan2f-tests: New file.
6123         * tests/test-atan2f.c: New file.
6124
6125         New module 'atan2f'.
6126         * lib/math.in.h (atan2f): New declaration.
6127         * lib/atan2f.c: New file.
6128         * m4/atan2f.m4: New file.
6129         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
6130         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
6131         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
6132         * modules/atan2f: New file.
6133         * tests/test-math-c++.cc: Check the declaration of atan2f.
6134         * doc/posix-functions/atan2f.texi: Mention the new module.
6135
6136         atan2: Use a .m4 file.
6137         * m4/atan2.m4: New file.
6138         * modules/atan2 (Files): Add it.
6139         (configure.ac): Just invoke gl_FUNC_ATAN2.
6140
6141 2011-10-08  Bruno Haible  <bruno@clisp.org>
6142
6143         Tests for module 'atanf'.
6144         * modules/atanf-tests: New file.
6145         * tests/test-atanf.c: New file.
6146
6147         New module 'atanf'.
6148         * lib/math.in.h (atanf): New declaration.
6149         * lib/atanf.c: New file.
6150         * m4/atanf.m4: New file.
6151         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
6152         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
6153         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
6154         * modules/atanf: New file.
6155         * tests/test-math-c++.cc: Check the declaration of atanf.
6156         * doc/posix-functions/atanf.texi: Mention the new module.
6157
6158         atan: Use a .m4 file.
6159         * m4/atan.m4: New file.
6160         * modules/atan (Files): Add it.
6161         (configure.ac): Just invoke gl_FUNC_ATAN.
6162
6163 2011-10-08  Bruno Haible  <bruno@clisp.org>
6164
6165         Tests for module 'acosf'.
6166         * modules/acosf-tests: New file.
6167         * tests/test-acosf.c: New file.
6168
6169         New module 'acosf'.
6170         * lib/math.in.h (acosf): New declaration.
6171         * lib/acosf.c: New file.
6172         * m4/acosf.m4: New file.
6173         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
6174         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
6175         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
6176         * modules/acosf: New file.
6177         * tests/test-math-c++.cc: Check the declaration of acosf.
6178         * doc/posix-functions/acosf.texi: Mention the new module.
6179
6180         acos: Use a .m4 file.
6181         * m4/acos.m4: New file.
6182         * modules/acos (Files): Add it.
6183         (configure.ac): Just invoke gl_FUNC_ACOS.
6184
6185 2011-10-08  Bruno Haible  <bruno@clisp.org>
6186
6187         Tests for module 'asinf'.
6188         * modules/asinf-tests: New file.
6189         * tests/test-asinf.c: New file.
6190
6191         New module 'asinf'.
6192         * lib/math.in.h (asinf): New declaration.
6193         * lib/asinf.c: New file.
6194         * m4/asinf.m4: New file.
6195         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
6196         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
6197         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
6198         * modules/asinf: New file.
6199         * tests/test-math-c++.cc: Check the declaration of asinf.
6200         * doc/posix-functions/asinf.texi: Mention the new module.
6201
6202         asin: Use a .m4 file.
6203         * m4/asin.m4: New file.
6204         * modules/asin (Files): Add it.
6205         (configure.ac): Just invoke gl_FUNC_ASIN.
6206
6207 2011-10-08  Bruno Haible  <bruno@clisp.org>
6208
6209         Tests for module 'tanf'.
6210         * modules/tanf-tests: New file.
6211         * tests/test-tanf.c: New file.
6212
6213         New module 'tanf'.
6214         * lib/math.in.h (tanf): New declaration.
6215         * lib/tanf.c: New file.
6216         * m4/tanf.m4: New file.
6217         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
6218         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
6219         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
6220         * modules/tanf: New file.
6221         * tests/test-math-c++.cc: Check the declaration of tanf.
6222         * doc/posix-functions/tanf.texi: Mention the new module.
6223
6224         tan: Use a .m4 file.
6225         * m4/tan.m4: New file.
6226         * modules/tan (Files): Add it.
6227         (configure.ac): Just invoke gl_FUNC_TAN.
6228
6229 2011-10-08  Bruno Haible  <bruno@clisp.org>
6230
6231         Tests for module 'cosf'.
6232         * modules/cosf-tests: New file.
6233         * tests/test-cosf.c: New file.
6234
6235         New module 'cosf'.
6236         * lib/math.in.h (cosf): New declaration.
6237         * lib/cosf.c: New file.
6238         * m4/cosf.m4: New file.
6239         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
6240         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
6241         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
6242         * modules/cosf: New file.
6243         * tests/test-math-c++.cc: Check the declaration of cosf.
6244         * doc/posix-functions/cosf.texi: Mention the new module.
6245
6246         cos: Use a .m4 file.
6247         * m4/cos.m4: New file.
6248         * modules/cos (Files): Add it.
6249         (configure.ac): Just invoke gl_FUNC_COS.
6250
6251 2011-10-08  Bruno Haible  <bruno@clisp.org>
6252
6253         Tests for module 'sinf'.
6254         * modules/sinf-tests: New file.
6255         * tests/test-sinf.c: New file.
6256
6257         New module 'sinf'.
6258         * lib/math.in.h (sinf): New declaration.
6259         * lib/sinf.c: New file.
6260         * m4/sinf.m4: New file.
6261         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
6262         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
6263         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
6264         * modules/sinf: New file.
6265         * tests/test-math-c++.cc: Check the declaration of sinf.
6266         * doc/posix-functions/sinf.texi: Mention the new module.
6267
6268         sin: Use a .m4 file.
6269         * m4/sin.m4: New file.
6270         * modules/sin (Files): Add it.
6271         (configure.ac): Just invoke gl_FUNC_SIN.
6272
6273 2011-10-08  Bruno Haible  <bruno@clisp.org>
6274
6275         Tests for module 'powf'.
6276         * modules/powf-tests: New file.
6277         * tests/test-powf.c: New file.
6278
6279         New module 'powf'.
6280         * lib/math.in.h (powf): New declaration.
6281         * lib/powf.c: New file.
6282         * m4/powf.m4: New file.
6283         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
6284         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
6285         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
6286         * modules/powf: New file.
6287         * tests/test-math-c++.cc: Check the declaration of powf.
6288         * doc/posix-functions/powf.texi: Mention the new module.
6289
6290         pow: Use a .m4 file.
6291         * m4/pow.m4: New file.
6292         * modules/pow (Files): Add it.
6293         (configure.ac): Just invoke gl_FUNC_POW.
6294
6295 2011-10-08  Bruno Haible  <bruno@clisp.org>
6296
6297         Tests for module 'log10f'.
6298         * modules/log10f-tests: New file.
6299         * tests/test-log10f.c: New file.
6300
6301         New module 'log10f'.
6302         * lib/math.in.h (log10f): New declaration.
6303         * lib/log10f.c: New file.
6304         * m4/log10f.m4: New file.
6305         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
6306         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
6307         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
6308         * modules/log10f: New file.
6309         * tests/test-math-c++.cc: Check the declaration of log10f.
6310         * doc/posix-functions/log10f.texi: Mention the new module.
6311
6312         log10: Use a .m4 file.
6313         * m4/log10.m4: New file.
6314         * modules/log10 (Files): Add it.
6315         (configure.ac): Just invoke gl_FUNC_LOG10.
6316
6317 2011-10-08  Bruno Haible  <bruno@clisp.org>
6318
6319         Tests for module 'logf'.
6320         * modules/logf-tests: New file.
6321         * tests/test-logf.c: New file.
6322
6323         New module 'logf'.
6324         * lib/math.in.h (logf): New declaration.
6325         * lib/logf.c: New file.
6326         * m4/logf.m4: New file.
6327         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
6328         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
6329         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
6330         * modules/logf: New file.
6331         * tests/test-math-c++.cc: Check the declaration of logf.
6332         * doc/posix-functions/logf.texi: Mention the new module.
6333
6334         log: Use a .m4 file.
6335         * m4/log.m4: New file.
6336         * modules/log (Files): Add it.
6337         (configure.ac): Just invoke gl_FUNC_LOG.
6338
6339 2011-10-08  Bruno Haible  <bruno@clisp.org>
6340
6341         Tests for module 'expf'.
6342         * modules/expf-tests: New file.
6343         * tests/test-expf.c: New file.
6344
6345         New module 'expf'.
6346         * lib/math.in.h (expf): New declaration.
6347         * lib/expf.c: New file.
6348         * m4/expf.m4: New file.
6349         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
6350         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
6351         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
6352         * modules/expf: New file.
6353         * tests/test-math-c++.cc: Check the declaration of expf.
6354         * doc/posix-functions/expf.texi: Mention the new module.
6355
6356         exp: Use a .m4 file.
6357         * m4/exp.m4: New file.
6358         * modules/exp (Files): Add it.
6359         (configure.ac): Just invoke gl_FUNC_EXP.
6360
6361 2011-10-08  Bruno Haible  <bruno@clisp.org>
6362
6363         Tests for module 'sqrtf'.
6364         * modules/sqrtf-tests: New file.
6365         * tests/test-sqrtf.c: New file.
6366
6367         New module 'sqrtf'.
6368         * lib/math.in.h (sqrtf): New declaration.
6369         * lib/sqrtf.c: New file.
6370         * m4/sqrtf.m4: New file.
6371         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
6372         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
6373         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
6374         * modules/sqrtf: New file.
6375         * tests/test-math-c++.cc: Check the declaration of sqrtf.
6376         * doc/posix-functions/sqrtf.texi: Mention the new module.
6377
6378 2011-10-08  Bruno Haible  <bruno@clisp.org>
6379
6380         Tests: Avoid link failures w.r.t. libintl.
6381         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
6382         $(LIBINTL).
6383         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
6384         $(LIBINTL).
6385         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
6386         against $(LIBINTL).
6387         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
6388         $(LIBINTL).
6389         * modules/openat-tests (Makefile.am): Link test-fchmodat against
6390         $(LIBINTL).
6391         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
6392
6393 2011-10-08  Bruno Haible  <bruno@clisp.org>
6394
6395         pow tests: Defeat compiler optimizations.
6396         * tests/test-pow.c (main): Assign arguments to x and y before use.
6397
6398 2011-10-08  Bruno Haible  <bruno@clisp.org>
6399
6400         gnulib-tool: Improve last commit.
6401         * gnulib-tool (func_modules_transitive_closure): Simplify code.
6402         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
6403         ignore dependencies that are not among the modules list.
6404
6405 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
6406
6407         gnulib-tool: don't follow dependencies to avoided modules
6408         This fixes a bug that is related to the previous one.
6409         * gnulib-tool (func_modules_transitive_closure)
6410         (func_emit_autoconf_snippets):
6411         Check whether a dependency is acceptable before using it.
6412         (--extract-dependencies): Report an error if --avoid is also used,
6413         since this combination of options is not yet supported.
6414
6415         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
6416         Problem reported by Peter Dyballa in
6417         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
6418         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
6419         when echoing "$condition".
6420
6421 2011-10-07  Bruno Haible  <bruno@clisp.org>
6422
6423         Fix documentation about math functions on MacOS X.
6424         * doc/posix-functions/exp2.texi: Don't say the function is missing on
6425         MacOS X 10.5.
6426         * doc/posix-functions/fdim.texi: Likewise.
6427         * doc/posix-functions/feclearexcept.texi: Likewise.
6428         * doc/posix-functions/fegetenv.texi: Likewise.
6429         * doc/posix-functions/fegetround.texi: Likewise.
6430         * doc/posix-functions/feholdexcept.texi: Likewise.
6431         * doc/posix-functions/feraiseexcept.texi: Likewise.
6432         * doc/posix-functions/fesetenv.texi: Likewise.
6433         * doc/posix-functions/fesetround.texi: Likewise.
6434         * doc/posix-functions/fetestexcept.texi: Likewise.
6435         * doc/posix-functions/feupdateenv.texi: Likewise.
6436         * doc/posix-functions/fmax.texi: Likewise.
6437         * doc/posix-functions/fmin.texi: Likewise.
6438         * doc/posix-functions/log2.texi: Likewise.
6439         * doc/posix-functions/modff.texi: Likewise.
6440         * doc/posix-functions/nan.texi: Likewise.
6441         * doc/posix-functions/nanf.texi: Likewise.
6442         * doc/posix-functions/nextafterf.texi: Likewise.
6443         * doc/posix-functions/remquo.texi: Likewise.
6444
6445 2011-10-07  Bruno Haible  <bruno@clisp.org>
6446
6447         modff: Drop assumption about library that defines modff.
6448         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
6449         AC_CHECK_FUNCS.
6450         * modules/modff (Files): Add m4/mathfunc.m4.
6451
6452 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
6453
6454         raise tests: Avoid a GCC warning.
6455         * tests/test-raise.c (handler): Use _Noreturn.
6456
6457 2011-10-07  Bruno Haible  <bruno@clisp.org>
6458
6459         Tests for module 'ldexpf'.
6460         * modules/ldexpf-tests: New file.
6461         * tests/test-ldexpf.c: New file.
6462
6463         New module 'ldexpf'.
6464         * lib/math.in.h (ldexpf): New declaration.
6465         * lib/ldexpf.c: New file.
6466         * m4/ldexpf.m4: New file.
6467         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
6468         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
6469         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
6470         * modules/ldexpf: New file.
6471         * tests/test-math-c++.cc: Check the declaration of ldexpf.
6472         * doc/posix-functions/ldexpf.texi: Mention the new module.
6473
6474 2011-10-06  Bruno Haible  <bruno@clisp.org>
6475
6476         frexpf: Work around problems on IRIX and mingw.
6477         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
6478         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
6479         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
6480         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
6481         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
6482         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
6483         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
6484
6485 2011-10-06  Bruno Haible  <bruno@clisp.org>
6486
6487         fabsf: Drop assumption about library that defines fabsf.
6488         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
6489         AC_CHECK_FUNCS.
6490         * modules/fabsf (Files): Add m4/mathfunc.m4.
6491
6492 2011-10-06  Bruno Haible  <bruno@clisp.org>
6493
6494         frexpf: Drop assumption about library that defines frexpf.
6495         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
6496         'int *', 'float *', 'long double *', 'float', 'long double'.
6497         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
6498         AC_CHECK_FUNCS.
6499         * modules/frexpf (Files): Add m4/mathfunc.m4.
6500
6501         Tests for module 'frexpf'.
6502         * modules/frexpf-tests: New file.
6503         * tests/test-frexpf.c: New file.
6504
6505         New module 'frexpf'.
6506         * lib/math.in.h (frexpf): New declaration.
6507         * lib/frexpf.c: New file.
6508         * m4/frexpf.m4: New file.
6509         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
6510         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
6511         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
6512         * modules/frexpf: New file.
6513         * tests/test-math-c++.cc: Check the declaration of frexpf.
6514         * doc/posix-functions/frexpf.texi: Mention the new module.
6515
6516 2011-10-06  Bruno Haible  <bruno@clisp.org>
6517
6518         math: Sort function declarations of math.in.h.
6519         * lib/math.in.h (frexp, logb): Move declarations.
6520
6521 2011-10-05  Bruno Haible  <bruno@clisp.org>
6522
6523         Tests for module 'modff'.
6524         * modules/modff-tests: New file.
6525         * tests/test-modff.c: New file.
6526
6527         New module 'modff'.
6528         * lib/math.in.h (modff): New declaration.
6529         * lib/modff.c: New file.
6530         * m4/modff.m4: New file.
6531         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
6532         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
6533         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
6534         * modules/modff: New file.
6535         * tests/test-math-c++.cc: Check the declaration of modff.
6536         * doc/posix-functions/modff.texi: Mention the new module.
6537
6538         modf tests: Make test sharper.
6539         * tests/test-modf.c (main): Strengthen upper bound.
6540
6541         modf: Use a .m4 file.
6542         * m4/modf.m4: New file.
6543         * modules/modf (Files): Add it.
6544         (configure.ac): Just invoke gl_FUNC_MODF.
6545
6546 2011-10-05  Bruno Haible  <bruno@clisp.org>
6547
6548         Tests for module 'fmodf'.
6549         * modules/fmodf-tests: New file.
6550         * tests/test-fmodf.c: New file.
6551
6552         New module 'fmodf'.
6553         * lib/math.in.h (fmodf): New declaration.
6554         * lib/fmodf.c: New file.
6555         * m4/fmodf.m4: New file.
6556         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
6557         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
6558         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
6559         * modules/fmodf: New file.
6560         * tests/test-math-c++.cc: Check the declaration of fmodf.
6561         * doc/posix-functions/fmodf.texi: Mention the new module.
6562
6563         fmod: Use a .m4 file.
6564         * m4/fmod.m4: New file.
6565         * modules/fmod (Files): Add it.
6566         (configure.ac): Just invoke gl_FUNC_FMOD.
6567
6568 2011-10-05  Bruno Haible  <bruno@clisp.org>
6569
6570         Tests for module 'fabsf'.
6571         * modules/fabsf-tests: New file.
6572         * tests/test-fabsf.c: New file.
6573
6574         New module 'fabsf'.
6575         * lib/math.in.h (fabsf): New declaration.
6576         * lib/fabsf.c: New file.
6577         * m4/fabsf.m4: New file.
6578         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
6579         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
6580         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
6581         * modules/fabsf: New file.
6582         * tests/test-math-c++.cc: Check the declaration of fabsf.
6583         * doc/posix-functions/fabsf.texi: Mention the new module.
6584
6585         fabs: Use a .m4 file.
6586         * m4/fabs.m4: New file.
6587         * modules/fabs (Files): Add it.
6588         (configure.ac): Just invoke gl_FUNC_FABS.
6589
6590 2011-10-05  Jim Meyering  <meyering@redhat.com>
6591
6592         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
6593         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
6594         ls -lL regression introduced in coreutils-8.12, it does so at the
6595         cost of an additional stat call in the common case.  Besides, now
6596         that the kernel change that prompted commit 95f7c57f has been reverted
6597         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
6598         we have no use for commit 95f7c57f, "file-has-acl: use
6599         acl_extended_file_nofollow if available".
6600
6601 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
6602
6603         file-has-acl: revert unintended change in behavior of ls -L
6604         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
6605         derived from...
6606         (file_has_acl): ...code here.  Call it.
6607         This problem was introduced with 2011-07-22 commit 95f7c57f,
6608         "file-has-acl: use acl_extended_file_nofollow if available".
6609         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
6610
6611 2011-10-03  Bruno Haible  <bruno@clisp.org>
6612
6613         poll: Avoid link errors on MSVC.
6614         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
6615         * modules/poll (Depends-on): Add sockets.
6616         (Link): New section.
6617         * NEWS: Mention the change.
6618         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
6619         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
6620         $(LIB_POLL) instead of $(LIBSOCKET).
6621
6622 2011-10-03  Bruno Haible  <bruno@clisp.org>
6623
6624         sys_select tests: Fix link error on MSVC 9.
6625         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
6626         with $(LIB_SELECT) instead of $(LIBSOCKET).
6627
6628 2011-10-03  Bruno Haible  <bruno@clisp.org>
6629
6630         sys_select: Fix compilation error on mingw.
6631         * lib/sys_select.in.h: On native Windows, include <io.h>.
6632
6633 2011-10-03  Bruno Haible  <bruno@clisp.org>
6634
6635         wmemset: Support for MSVC.
6636         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
6637         whether wmemset() exists.
6638
6639 2011-10-03  Bruno Haible  <bruno@clisp.org>
6640
6641         wmemmove: Support for MSVC.
6642         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
6643         whether wmemmove() exists.
6644
6645 2011-10-03  Bruno Haible  <bruno@clisp.org>
6646
6647         wmemcpy: Support for MSVC.
6648         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
6649         whether wmemcpy() exists.
6650
6651 2011-10-03  Bruno Haible  <bruno@clisp.org>
6652
6653         wmemcmp: Support for MSVC.
6654         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
6655         whether wmemcmp() exists.
6656
6657 2011-10-03  Bruno Haible  <bruno@clisp.org>
6658
6659         wmemchr: Support for MSVC.
6660         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
6661         whether wmemchr() exists.
6662
6663 2011-10-03  Bruno Haible  <bruno@clisp.org>
6664
6665         glthread/*, strsignal: Support for MSVC.
6666         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
6667         including <winsock.h> on MSVC 9.
6668         * lib/glthread/lock.h: Likewise.
6669         * lib/glthread/thread.h: Likewise.
6670         * lib/glthread/tls.h: Likewise.
6671         * lib/glthread/yield.h: Likewise.
6672         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
6673         if HAVE_UNISTD_H is false.
6674         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
6675
6676 2011-10-03  Bruno Haible  <bruno@clisp.org>
6677
6678         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
6679         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
6680         Set to 100000.
6681
6682 2011-10-03  Bruno Haible  <bruno@clisp.org>
6683
6684         acl: Fix specification.
6685         * lib/file-has-acl.c (file_has_acl): Fix specification.
6686
6687 2011-10-03  Bruno Haible  <bruno@clisp.org>
6688
6689         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
6690         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
6691         (compute_curr_prefix, shared_library_fullname,
6692         find_shared_library_fullname, get_shared_library_fullname, relocate):
6693         Use it together with PIC && INSTALLDIR.
6694         Reported by <jojelino@gmail.com>
6695         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
6696
6697 2011-10-01  Jim Meyering  <meyering@redhat.com>
6698
6699         maint.mk: adjust a release-related rule not to require use of gzip
6700         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
6701         Instead, check each file in $(DIST_ARCHIVES).  This is better for
6702         projects that build only .tar.xz files.  Also fix an erroneous test.
6703
6704         test-linkat: don't leave behind a temporary file
6705         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
6706         Otherwise, coreutils' "make distcheck" would fail with this:
6707           Only in /c/cu/tests/torture/coreutils/test/\
6708             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
6709           make[2]: *** [my-distcheck] Error 1
6710
6711         float, math: add omitted file
6712         * lib/itold.c: Add file, required for yesterday's float change.
6713
6714 2011-10-01  Bruno Haible  <bruno@clisp.org>
6715
6716         isinf: Fix for OpenBSD/x86.
6717         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
6718         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
6719         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
6720
6721 2011-10-01  Bruno Haible  <bruno@clisp.org>
6722
6723         isfinite: Fix syntax error in configure test.
6724         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
6725
6726         isfinite: Fix typo.
6727         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
6728         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
6729
6730 2011-10-01  Bruno Haible  <bruno@clisp.org>
6731
6732         nonblocking tests: Fix test failure on Linux/IA-64.
6733         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
6734         Set to 270000.
6735
6736 2011-10-01  Bruno Haible  <bruno@clisp.org>
6737
6738         mkfifoat tests: Fix a test failure on mingw.
6739         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
6740         with error ENOSYS.
6741
6742 2011-09-30  Bruno Haible  <bruno@clisp.org>
6743
6744         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
6745         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
6746         'long double'. Set REPLACE_ITOLD.
6747         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
6748         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
6749         * lib/itold.c: New file.
6750         * modules/float (Files): Add lib/itold.c.
6751         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
6752         (Makefile.am): Substitute REPLACE_ITOLD.
6753         * modules/math (Depends-on): Add float.
6754         (Makefile.am): Substitute REPLACE_ITOLD.
6755         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
6756         * doc/posix-headers/math.texi: Likewise.
6757         * doc/posix-functions/logl.texi: Likewise.
6758
6759 2011-09-30  Bruno Haible  <bruno@clisp.org>
6760
6761         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
6762         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
6763         Set to 140000.
6764
6765 2011-09-30  Bruno Haible  <bruno@clisp.org>
6766
6767         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
6768         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
6769         invocation, say "right after AC_PROG_CC_STDC", not "right after
6770         AC_PROG_CC".
6771         Reported by Gary V. Vaughan <gary@gnu.org>.
6772
6773 2011-09-30  Bruno Haible  <bruno@clisp.org>
6774
6775         Centralize C99 requirement.
6776         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
6777         * modules/stdarg (configure.ac-early): Invoke it instead of
6778         AC_PROG_CC_STDC.
6779         Reported by Gary V. Vaughan and Paul Eggert.
6780
6781 2011-09-29  Bruno Haible  <bruno@clisp.org>
6782
6783         float: Fix LDBL_MAX value on Linux/PowerPC.
6784         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
6785         on Linux/PowerPC.
6786         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
6787         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
6788         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
6789         platform.
6790         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
6791
6792 2011-09-29  Bruno Haible  <bruno@clisp.org>
6793
6794         doc: Improve doc about gl_EARLY.
6795         * doc/gnulib-tool.texi (Initial import): Mention where to place an
6796         AC_PROG_CC_STDC invocation.
6797         Reported by Gary V. Vaughan <gary@gnu.org>.
6798
6799 2011-09-28  Bruno Haible  <bruno@clisp.org>
6800
6801         fgetc, fputc, fread, fwrite tests: Fix link error.
6802         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
6803         on non-MSVC platforms.
6804         * tests/test-fputc.c (main): Likewise.
6805         * tests/test-fread.c (main): Likewise.
6806         * tests/test-fwrite.c (main): Likewise.
6807         Reported by Jim Meyering.
6808
6809 2011-09-27  Bruno Haible  <bruno@clisp.org>
6810
6811         fputc, fwrite tests: Avoid test failure on MSVC.
6812         * tests/test-fgetc.c: Include msvc-inval.h.
6813         (main): Invoke gl_msvc_inval_ensure_handler.
6814         * tests/test-fputc.c: Include msvc-inval.h.
6815         (main): Invoke gl_msvc_inval_ensure_handler.
6816         * tests/test-fread.c: Include msvc-inval.h.
6817         (main): Invoke gl_msvc_inval_ensure_handler.
6818         * tests/test-fwrite.c: Include msvc-inval.h.
6819         (main): Invoke gl_msvc_inval_ensure_handler.
6820         * modules/fgetc-tests (Depends-on): Add msvc-inval.
6821         * modules/fputc-tests (Depends-on): Likewise.
6822         * modules/fread-tests (Depends-on): Likewise.
6823         * modules/fwrite-tests (Depends-on): Likewise.
6824
6825 2011-09-27  Bruno Haible  <bruno@clisp.org>
6826
6827         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
6828         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
6829         (raise): Remove older, duplicated declaration.
6830         (_gl_raise_SIGPIPE): New declaration.
6831         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
6832         (rpl_raise): Remove function.
6833         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
6834         a gnulib-defined SIGPIPE here.
6835         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
6836         'sigprocmask' has detected missing signal-blocking and the module
6837         'sigpipe' is enabled.
6838         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
6839
6840 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
6841
6842         base64-tests: avoid memory leak
6843         * tests/test-base64.c (main): Plug memory leak.
6844
6845         base32: new module
6846         * modules/base32: New module.
6847         * lib/base32.c: New file.
6848         * lib/base32.h: Likewise.
6849         * m4/base32.m4: Likewise.
6850         * modules/base32-tests: New test.
6851         * tests/test-base32.c: Likewise.
6852         * MODULES.html.sh (Misc): Mention it.
6853
6854 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
6855
6856         gnulib: use more-standard license notice wording
6857         * gnulib-tool (func_emit_copyright_notice): When emitting a
6858         license notice into a file, use the standard wording as suggested
6859         by the current information for GNU maintainers, except say "file"
6860         rather than "program".  The new wording gives a license version
6861         number, which addresses an issue raised by Glenn Morris in
6862         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
6863         * m4/onceonly.m4: Use that same wording here, too.
6864
6865         dup2: minor simplification
6866         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
6867         as lib/dup2.c no longer uses 'inline'.
6868
6869 2011-09-25  Bruno Haible  <bruno@clisp.org>
6870
6871         strings: Fix compilation error on MSVC.
6872         * lib/strings.in.h: Include <stddef.h> for size_t.
6873
6874 2011-09-25  Bruno Haible  <bruno@clisp.org>
6875
6876         fflush et al.: Document limitation on MSVC.
6877         * doc/posix-functions/fflush.texi: Document possible crash in handling
6878         mode other than DEFAULT_HANDLING.
6879         * doc/posix-functions/fgetc.texi: Likewise.
6880         * doc/posix-functions/fputc.texi: Likewise.
6881         * doc/posix-functions/fread.texi: Likewise.
6882         * doc/posix-functions/fwrite.texi: Likewise.
6883
6884 2011-09-25  Bruno Haible  <bruno@clisp.org>
6885
6886         msvc-inval: Allow three invalid parameter handling modes.
6887         * lib/msvc-inval.h: Don't include <stdlib.h> here.
6888         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
6889         macros.
6890         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
6891         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
6892         SANE_LIBRARY_HANDLING as a no-op.
6893         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
6894         <stdlib.h>.
6895         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
6896
6897 2011-09-25  Bruno Haible  <bruno@clisp.org>
6898
6899         msvc-inval: Make handler multithread-safe.
6900         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
6901         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
6902         declarations.
6903         (gl_msvc_inval_current): New declaration.
6904         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6905         Operate on the structure returned by gl_msvc_inval_current().
6906         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
6907         Remove varaiables.
6908         (tls_index, tls_initialized): New variables.
6909         (not_per_thread): New variable.
6910         (gl_msvc_inval_current): New function.
6911         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
6912         returned by gl_msvc_inval_current().
6913
6914 2011-09-25  Bruno Haible  <bruno@clisp.org>
6915
6916         msvc-inval: Install handler globally.
6917         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
6918         !_MSC_VER.
6919         (gl_msvc_invalid_parameter_handler): Remove declaration.
6920         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
6921         declarations.
6922         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6923         Install the handler globally, don't uninstall it.
6924         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
6925         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
6926         currently valid, call RaiseException instead.
6927         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
6928         for !_MSC_VER.
6929
6930 2011-09-25  Bruno Haible  <bruno@clisp.org>
6931
6932         strerror_r-posix: Fix for MSVC 9.
6933         * lib/strerror_r.c (local_snprintf): New function.
6934         (snprintf): Define to local_snprintf, not to _snprintf.
6935
6936 2011-09-25  Bruno Haible  <bruno@clisp.org>
6937
6938         ftruncate: Support for MSVC 9.
6939         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
6940         (chsize_nothrow): New function.
6941         (chsize): Redefine as a macro.
6942         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
6943         * modules/ftruncate (Depends-on): Add msvc-inval.
6944
6945 2011-09-25  Bruno Haible  <bruno@clisp.org>
6946
6947         New module 'fstat'.
6948         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
6949         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
6950         * lib/fchdir.c (rpl_fstat): Remove function.
6951         * m4/fstat.m4: New file.
6952         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
6953         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
6954         declared.
6955         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
6956         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
6957         * modules/fstat: New file.
6958         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
6959         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
6960         is set.
6961         * doc/posix-functions/fstat.texi: Mention the new module and the
6962         problem on MSVC.
6963         * NEWS: Mention the change.
6964         * modules/acl (Depends-on): Add fstat.
6965         * modules/chdir-safer (Depends-on): Likewise.
6966         * modules/chown (Depends-on): Likewise.
6967         * modules/copy-file (Depends-on): Likewise.
6968         * modules/fchdir (Depends-on): Likewise.
6969         * modules/fdopendir (Depends-on): Likewise.
6970         * modules/fopen (Depends-on): Likewise.
6971         * modules/fts (Depends-on): Likewise.
6972         * modules/getcwd (Depends-on): Likewise.
6973         * modules/isapipe (Depends-on): Likewise.
6974         * modules/linkat (Depends-on): Likewise.
6975         * modules/lseek (Depends-on): Likewise.
6976         * modules/mkdir-p (Depends-on): Likewise.
6977         * modules/open (Depends-on): Likewise.
6978         * modules/openat (Depends-on): Likewise.
6979         * modules/read-file (Depends-on): Likewise.
6980         * modules/renameat (Depends-on): Likewise.
6981         * modules/utimens (Depends-on): Likewise.
6982
6983 2011-09-25  Bruno Haible  <bruno@clisp.org>
6984
6985         linkat: Fix compilation on MSVC 9.
6986         * lib/linkat.c: Don't include <stdint.h>.
6987
6988 2011-09-25  Bruno Haible  <bruno@clisp.org>
6989
6990         fclose: Support for MSVC 9.
6991         * lib/fclose.c: Include msvc-inval.h.
6992         (fclose_nothrow): New function.
6993         (rpl_fclose): Use it.
6994         * modules/fclose (Depends-on): Add msvc-inval.
6995         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
6996
6997 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
6998
6999         dup2: minor simplifications
7000         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
7001         that it's a performance win.
7002         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
7003         ! defined __CYGWIN__)" to "ifdef F_GETFL".
7004
7005 2011-09-24  Jim Meyering  <meyering@redhat.com>
7006
7007         test-futimens: avoid a warning from gcc -Wshadow
7008         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
7009         to avoid a shadowing warning.
7010
7011 2011-09-24  Bruno Haible  <bruno@clisp.org>
7012
7013         fdopen: Support for MSVC 9.
7014         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
7015         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
7016         * lib/fdopen.c: Include msvc-inval.h.
7017         (fdopen_nothrow): New function.
7018         (rpl_fdopen): Use it.
7019         * modules/fdopen (Depends-on): Add msvc-inval.
7020         * modules/fclose-tests (Depends-on): Add fdopen.
7021         * modules/fflush-tests (Depends-on): Likewise.
7022         * modules/fgetc-tests (Depends-on): Likewise.
7023         * modules/fputc-tests (Depends-on): Likewise.
7024         * modules/fread-tests (Depends-on): Likewise.
7025         * modules/freopen-tests (Depends-on): Likewise.
7026         * modules/fseeko-tests (Depends-on): Likewise.
7027         * modules/ftello-tests (Depends-on): Likewise.
7028         * modules/fwrite-tests  (Depends-on): Likewise.
7029         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
7030
7031 2011-09-24  Bruno Haible  <bruno@clisp.org>
7032
7033         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
7034         * modules/fgetc-tests (Depends-on): Add unistd.
7035         * modules/fputc-tests (Depends-on): Likewise.
7036         * modules/fread-tests (Depends-on): Likewise.
7037         * modules/fwrite-tests (Depends-on): Likewise.
7038
7039 2011-09-24  Bruno Haible  <bruno@clisp.org>
7040
7041         dup: Simplify autoconf test.
7042         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
7043         on gl_MSVC_INVAL's result.
7044
7045 2011-09-24  Bruno Haible  <bruno@clisp.org>
7046
7047         Tests for function fwrite().
7048         * modules/fwrite-tests: New file.
7049         * tests/test-fwrite.c: New file.
7050         * modules/stdio-tests (Depends-on): Add fwrite-tests.
7051
7052         Tests for function fread().
7053         * modules/fread-tests: New file.
7054         * tests/test-fread.c: New file.
7055         * modules/stdio-tests (Depends-on): Add fread-tests.
7056
7057         Activate fputc tests.
7058         * modules/stdio-tests (Depends-on): Add fputc-tests.
7059
7060         Enhance fgetc, fputc tests.
7061         * tests/test-fgetc.c (main): Also test the stream's error indicator.
7062         * tests/test-fputc.c (main): Likewise.
7063
7064 2011-09-24  Bruno Haible  <bruno@clisp.org>
7065
7066         write: Support for MSVC 9.
7067         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7068         is not 1.
7069         * lib/write.c (write_nothrow): New function.
7070         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
7071         not 1. Use write_nothrow.
7072         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
7073         invalid parameter handler.
7074         (gl_PREREQ_WRITE): New macro.
7075         * modules/write (Depends-on): Add msvc-inval.
7076         (configure.ac): Invoke gl_PREREQ_WRITE.
7077         * doc/posix-functions/write.texi: Mention the problem on MSVC.
7078
7079 2011-09-24  Bruno Haible  <bruno@clisp.org>
7080
7081         read: Fix last commit.
7082         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
7083
7084 2011-09-24  Bruno Haible  <bruno@clisp.org>
7085
7086         dup2: Fix last commit.
7087         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
7088         (rpl_dup2): Disable fcntl workaround on native Windows.
7089
7090         sigprocmask: Make code safer.
7091         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
7092         section that changes macro definitions for this compilation unit.
7093
7094 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
7095
7096         dup2: clarify by coalescing Windows-specific material
7097         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
7098         "msvc-nothrow.h"' to the Windows-specific section, so that the
7099         Emacs source need not contain these include files.
7100         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
7101         Windows-specific fixes into this function rather than just the
7102         nothrow fix, as this shortens and clarifies the code.  Always
7103         define as a function, as that's a bit cleaner than having it be
7104         sometimes a function and sometimes a macro.
7105         (rpl_dup2): Move the Windows-specific stuff out of here and into
7106         ms_windows_dup2.  Don't protect the Haiku-related fix with
7107         "#if !defined __linux__", as the same code also works around
7108         a Linux kernel bug, and it doesn't add any system calls on any
7109         platform.  Add comment about FreeBSD 6.1.
7110
7111         sigprocmask: move #include directive
7112         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
7113         Windows-specific section, so that the Emacs source need not
7114         contain msvc-inval.h.
7115
7116 2011-09-23  Bruno Haible  <bruno@clisp.org>
7117
7118         read: Support for MSVC 9.
7119         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7120         is not 1.
7121         * lib/read.c (read_nothrow): New function.
7122         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
7123         read_nothrow.
7124         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
7125         invalid parameter handler.
7126         (gl_PREREQ_READ): New macro.
7127         * modules/read (Depends-on): Add msvc-inval.
7128         (configure.ac): Invoke gl_PREREQ_READ.
7129         * doc/posix-functions/read.texi: Mention the problem on MSVC.
7130
7131 2011-09-23  Bruno Haible  <bruno@clisp.org>
7132
7133         close: Support for MSVC 9.
7134         * lib/close.c: Include <errno.h>, msvc-inval.h.
7135         (close_nothrow): New function.
7136         (rpl_close): Use it.
7137         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
7138         invalid parameter handler.
7139         * modules/close (Depends-on): Add msvc-inval.
7140         * modules/dup2-tests (Depends-on): Add close.
7141         * modules/dup3-tests (Depends-on): Likewise.
7142         * modules/fcntl-tests (Depends-on): Likewise.
7143         * modules/spawn-pipe-tests (Depends-on): Likewise.
7144         * modules/unistd-safer-tests (Depends-on): Likewise.
7145         * doc/posix-functions/close.texi: Mention the problem on MSVC.
7146
7147 2011-09-23  Bruno Haible  <bruno@clisp.org>
7148
7149         New module 'dup'.
7150         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
7151         Allow replacement.
7152         * lib/dup.c: New file.
7153         * lib/fchdir.c (rpl_dup): Remove function.
7154         * m4/dup.m4: New file.
7155         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
7156         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
7157         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
7158         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
7159         * modules/dup: New file.
7160         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
7161         'dup' module is in use.
7162         * modules/fdopendir (Depends-on): Add dup.
7163         * modules/fdutimensat-tests (Depends-on): Likewise.
7164         * modules/fts (Depends-on): Likewise.
7165         * modules/futimens-tests (Depends-on): Likewise.
7166         * modules/posix_spawnp-tests (Depends-on): Likewise.
7167         * modules/unistd-safer-tests (Depends-on): Likewise.
7168         * modules/utimens-tests (Depends-on): Likewise.
7169         * doc/posix-functions/dup.texi: Mention the new module and the problem
7170         on MSVC.
7171
7172 2011-09-23  Bruno Haible  <bruno@clisp.org>
7173
7174         getdtablesize: Support for MSVC 9.
7175         * lib/getdtablesize.c: Include msvc-inval.h.
7176         (_setmaxstdio_nothrow): New function.
7177         (_setmaxstdio): Redefine it.
7178         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
7179         * modules/getdtablesize (Depends-on): Add msvc-inval.
7180         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
7181
7182 2011-09-23  Bruno Haible  <bruno@clisp.org>
7183
7184         signal-h: Rename from signal.
7185         * modules/signal-h: Renamed from modules/signal.
7186         * modules/pthread_sigmask (Depends-on): Update.
7187         * modules/raise (Depends-on): Likewise.
7188         * modules/sigaction (Depends-on): Likewise.
7189         * modules/sigpipe (Depends-on): Likewise.
7190         * modules/sigprocmask (Depends-on): Likewise.
7191         * modules/sys_select (Depends-on): Likewise.
7192         * modules/signal-h-tests: Renamed from modules/signal-tests.
7193         (Files, Depends-on, Makefile.am): Update.
7194         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
7195         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
7196         (Files, Makefile.am): Update.
7197         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
7198         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
7199         * modules/signal: New placeholder file.
7200         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
7201         * doc/posix-headers/signal.texi: Update.
7202         * NEWS: Mention the change.
7203
7204 2011-09-23  Bruno Haible  <bruno@clisp.org>
7205
7206         sigprocmask: Avoid crashes through signal() on MSVC 9.
7207         * lib/sigprocmask.c: Include msvc-inval.h.
7208         (signal_nothrow): New function.
7209         (signal): Redefine it.
7210         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
7211         * modules/sigprocmask (Depends-on): Add msvc-inval.
7212         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
7213
7214 2011-09-23  Bruno Haible  <bruno@clisp.org>
7215
7216         Tests for module 'raise'.
7217         * modules/raise-tests: New file.
7218         * tests/test-raise.c: New file.
7219
7220         raise: Support for MSVC.
7221         * lib/signal.in.h (raise): New declaration.
7222         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
7223         for native Windows platforms.
7224         * m4/raise.m4: New file.
7225         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
7226         HAVE_RAISE, REPLACE_RAISE.
7227         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
7228         REPLACE_RAISE.
7229         * modules/raise (Status, Notice): Remove fields.
7230         (Files): Add m4/raise.m4.
7231         (Depends-on): Add signal, msvc-inval.
7232         (configure.ac): Use the common idioms.
7233         (Maintainer): Add me.
7234         * tests/test-signal-c++.cc: Check the signature of raise.
7235         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
7236
7237 2011-09-23  Bruno Haible  <bruno@clisp.org>
7238
7239         pipe2: Fix compilation on pre-C99 compilers.
7240         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
7241
7242 2011-09-23  Bruno Haible  <bruno@clisp.org>
7243
7244         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
7245         * lib/msvc-nothrow.h: New file.
7246         * lib/msvc-nothrow.c: New file.
7247         * m4/msvc-nothrow.m4: New file.
7248         * modules/msvc-nothrow: New file.
7249         * lib/dup2.c: Include msvc-nothrow.h.
7250         (rpl_dup2): No need to protect _get_osfhandle call here.
7251         * lib/accept4.c: Include msvc-nothrow.h.
7252         * lib/error.c: Likewise.
7253         * lib/fcntl.c: Likewise.
7254         * lib/lseek.c: Likewise.
7255         * lib/nonblocking.c: Likewise.
7256         * lib/poll.c: Likewise.
7257         * lib/read.c: Likewise.
7258         * lib/select.c: Likewise.
7259         * lib/sockets.h: Likewise.
7260         * lib/sockets.c: Likewise.
7261         * lib/stdio-read.c: Likewise.
7262         * lib/stdio-write.c: Likewise.
7263         * lib/write.c: Likewise.
7264         * lib/w32sock.h: Likewise.
7265         * lib/w32spawn.h: Likewise.
7266         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
7267         * lib/fsync.c: Likewise.
7268         * lib/isapipe.c: Likewise.
7269         * modules/dup2 (Depends-on): Add msvc-nothrow.
7270         * modules/accept4 (Depends-on): Likewise.
7271         * modules/error (Depends-on): Likewise.
7272         * modules/fcntl (Depends-on): Likewise.
7273         * modules/lseek (Depends-on): Likewise.
7274         * modules/nonblocking (Depends-on): Likewise.
7275         * modules/poll (Depends-on): Likewise.
7276         * modules/read (Depends-on): Likewise.
7277         * modules/select (Depends-on): Likewise.
7278         * modules/sockets (Depends-on): Likewise.
7279         * modules/sigpipe (Depends-on): Likewise.
7280         * modules/write (Depends-on): Likewise.
7281         * modules/accept (Depends-on): Likewise.
7282         * modules/bind (Depends-on): Likewise.
7283         * modules/connect (Depends-on): Likewise.
7284         * modules/gethostname (Depends-on): Likewise.
7285         * modules/getpeername (Depends-on): Likewise.
7286         * modules/getsockname (Depends-on): Likewise.
7287         * modules/getsockopt (Depends-on): Likewise.
7288         * modules/ioctl (Depends-on): Likewise.
7289         * modules/listen (Depends-on): Likewise.
7290         * modules/recv (Depends-on): Likewise.
7291         * modules/recvfrom (Depends-on): Likewise.
7292         * modules/send (Depends-on): Likewise.
7293         * modules/sendto (Depends-on): Likewise.
7294         * modules/setsockopt (Depends-on): Likewise.
7295         * modules/shutdown (Depends-on): Likewise.
7296         * modules/socket (Depends-on): Likewise.
7297         * modules/execute (Depends-on): Likewise.
7298         * modules/spawn-pipe (Depends-on): Likewise.
7299         * modules/flock (Depends-on): Likewise.
7300         * modules/fsync (Depends-on): Likewise.
7301         * modules/isapipe (Depends-on): Likewise.
7302         * tests/test-cloexec.c: Include msvc-nothrow.h.
7303         * tests/test-dup-safer.c: Likewise.
7304         * tests/test-dup2.c: Likewise.
7305         * tests/test-dup3.c: Likewise.
7306         * tests/test-fcntl.c: Likewise.
7307         * tests/test-pipe.c: Likewise.
7308         * tests/test-pipe2.c: Likewise.
7309         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
7310         * modules/unistd-safer-tests (Depends-on): Likewise.
7311         * modules/dup2-tests (Depends-on): Likewise.
7312         * modules/dup3-tests (Depends-on): Likewise.
7313         * modules/fcntl-tests (Depends-on): Likewise.
7314         * modules/pipe-posix-tests (Depends-on): Likewise.
7315         * modules/pipe2-tests (Depends-on): Likewise.
7316
7317 2011-09-23  Bruno Haible  <bruno@clisp.org>
7318
7319         dup2: Make code more maintainable.
7320         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
7321         (rpl_dup2): Use it.
7322         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
7323         * modules/dup2 (configure.ac): Invoke it.
7324         Reported by Paul Eggert.
7325
7326 2011-09-23  Bruno Haible  <bruno@clisp.org>
7327
7328         msvc-inval: Fix compilation error.
7329         * lib/msvc-inval.h: Include <excpt.h>.
7330
7331 2011-09-23  Bruno Haible  <bruno@clisp.org>
7332
7333         mkdir: Tweak for MSVC 9.
7334         * lib/sys_stat.in.h: Update comments.
7335         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
7336
7337         Tests for module 'chdir'.
7338         * modules/chdir-tests: New file.
7339         * tests/test-chdir.c: New file.
7340
7341         New module 'chdir'.
7342         * modules/chdir: New file.
7343         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
7344         (chdir): New declaration.
7345         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
7346         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
7347         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
7348         * tests/test-unistd-c++.cc: Check signature of chdir.
7349         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
7350         * modules/chdir-long (Depends-on): Add chdir.
7351         * modules/fchdir (Depends-on): Likewise.
7352         * modules/rename (Depends-on): Likewise.
7353         * modules/savewd (Depends-on): Likewise.
7354
7355         rmdir: Support for mingw, MSVC 9.
7356         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
7357         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
7358
7359         getcwd: Tweak for MSVC 9.
7360         * lib/unistd.in.h: Update comments.
7361         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
7362
7363 2011-09-22  Bruno Haible  <bruno@clisp.org>
7364
7365         strerror_r-posix: Avoid a link error on MSVC.
7366         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
7367         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
7368
7369 2011-09-22  Bruno Haible  <bruno@clisp.org>
7370
7371         select: Avoid link errors on MSVC.
7372         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
7373         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
7374         * modules/pselect (Link): Likewise.
7375         * NEWS: Mention the change.
7376         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
7377         test-select-stdin against $(LIB_SELECT).
7378         * modules/pselect-tests (Makefile.am): Link test-pselect against
7379         $(LIB_SELECT).
7380
7381 2011-09-22  Bruno Haible  <bruno@clisp.org>
7382
7383         select: Avoid compilation error on MSVC.
7384         * lib/select.c: Don't include <stdbool.h>.
7385
7386 2011-09-21  Bruno Haible  <bruno@clisp.org>
7387
7388         Consolidate all uses of PATH_MAX in *.m4 files.
7389         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
7390         macros.
7391         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
7392         and gl_PATHMAX_SNIPPET.
7393         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
7394         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7395         * modules/chdir-long (Files): Add m4/pathmax.m4.
7396         * modules/getcwd (Files): Likewise.
7397
7398 2011-09-21  Bruno Haible  <bruno@clisp.org>
7399
7400         ftruncate: Un-deprecate, concentrate on Win32 support.
7401         * modules/ftruncate (Status, Notice): Remove sections.
7402         (Depends-on): Add largefile.
7403         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
7404         non-mingw platforms.
7405         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
7406         include <io.h>.
7407         * modules/perror-tests (Depends-on): Add ftruncate.
7408         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
7409         'ftruncate' module.
7410
7411 2011-09-21  Bruno Haible  <bruno@clisp.org>
7412
7413         Add dependencies to new dirent related modules.
7414         * modules/opendir (Depends-on): Add closedir.
7415         * modules/getcwd (Depends-on): Add opendir, closedir.
7416         * modules/dirent-safer-tests (Depends-on): Likewise.
7417         * modules/fdopendir-tests (Depends-on): Likewise.
7418         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
7419         * modules/renameat-tests (Depends-on): Likewise.
7420
7421 2011-09-21  Bruno Haible  <bruno@clisp.org>
7422
7423         opendir: Avoid compilation error on mingw.
7424         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
7425         * modules/opendir (Depends-on): Add unistd.
7426
7427 2011-09-21  Bruno Haible  <bruno@clisp.org>
7428
7429         ftruncate tests: Avoid a test failure on mingw.
7430         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
7431
7432 2011-09-21  Bruno Haible  <bruno@clisp.org>
7433
7434         select tests: Avoid test failures on OSF/1 5.1 and mingw.
7435         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
7436         native Windows.
7437
7438 2011-09-21  Bruno Haible  <bruno@clisp.org>
7439
7440         New module 'fdopen'.
7441         * lib/stdio.in.h (fdopen): New declaration.
7442         * lib/fdopen.c: New file.
7443         * m4/fdopen.m4: New file.
7444         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
7445         REPLACE_FDOPEN.
7446         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
7447         REPLACE_FDOPEN.
7448         * modules/fdopen: New file.
7449         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
7450         * tests/test-stdio-c++.cc: Check signature of fdopen.
7451         * doc/posix-functions/fdopen.texi: Mention the new module.
7452
7453 2011-09-21  Bruno Haible  <bruno@clisp.org>
7454
7455         unlockpt tests: Avoid test failure on NetBSD 5.1.
7456         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
7457         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
7458
7459 2011-09-21  Bruno Haible  <bruno@clisp.org>
7460
7461         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
7462         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
7463         * tests/test-getlogin_r.c (main): Likewise.
7464
7465 2011-09-20  Bruno Haible  <bruno@clisp.org>
7466
7467         time tests: Don't require pid_t.
7468         * doc/posix-headers/time.texi: Revert last change.
7469         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
7470         * tests/test-time.c: Comment out the check for pid_t.
7471
7472 2011-09-20  Bruno Haible  <bruno@clisp.org>
7473
7474         fsync tests: Avoid a test failure on mingw.
7475         * tests/test-fsync.c (main): Allow a failure with EIO.
7476
7477 2011-09-20  Bruno Haible  <bruno@clisp.org>
7478
7479         euidaccess: Update comments.
7480         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
7481
7482 2011-09-20  Bruno Haible  <bruno@clisp.org>
7483
7484         Ensure EBADF returns for socket functions on mingw.
7485         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
7486         descriptor is invalid.
7487         * lib/bind.c (rpl_bind): Likewise.
7488         * lib/connect.c (rpl_connect): Likewise.
7489         * lib/getpeername.c (rpl_getpeername): Likewise.
7490         * lib/getsockname.c (rpl_getsockname): Likewise.
7491         * lib/getsockopt.c (rpl_getsockopt): Likewise.
7492         * lib/listen.c (rpl_listen): Likewise.
7493         * lib/recv.c (rpl_recv): Likewise.
7494         * lib/recvfrom.c (rpl_recvfrom): Likewise.
7495         * lib/send.c (rpl_send): Likewise.
7496         * lib/sendto.c (rpl_sendto): Likewise.
7497         * lib/setsockopt.c (rpl_setsockopt): Likewise.
7498         * lib/shutdown.c (rpl_shutdown): Likewise.
7499
7500 2011-09-20  Bruno Haible  <bruno@clisp.org>
7501
7502         select tests: EBADF tests.
7503         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
7504         test_bad_fd): New functions.
7505         (test_function): Invoke also test_bad_fd.
7506
7507 2011-09-20  Bruno Haible  <bruno@clisp.org>
7508
7509         Tests for module 'posix_spawn_file_actions_addopen.
7510         * modules/posix_spawn_file_actions_addopen-tests: New file.
7511         * tests/test-posix_spawn_file_actions_addopen.c: New file.
7512
7513         Tests for module 'posix_spawn_file_actions_adddup2'.
7514         * modules/posix_spawn_file_actions_adddup2-tests: New file.
7515         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
7516
7517         Tests for module 'posix_spawn_file_actions_addclose'.
7518         * modules/posix_spawn_file_actions_addclose-tests: New file.
7519         * tests/test-posix_spawn_file_actions_addclose.c: New file.
7520
7521 2011-09-20  Bruno Haible  <bruno@clisp.org>
7522
7523         Tests for module 'unlockpt'.
7524         * modules/unlockpt-tests: New file.
7525         * tests/test-unlockpt.c: New file.
7526         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
7527
7528         Tests for module 'grantpt'.
7529         * modules/grantpt-tests: New file.
7530         * tests/test-grantpt.c: New file.
7531         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
7532
7533 2011-09-20  Bruno Haible  <bruno@clisp.org>
7534
7535         freopen tests: EBADF tests.
7536         * tests/test-freopen.c: Include errno.h, unistd.h.
7537         (main): Add tests for EBADF, commented out for the moment.
7538
7539         fclose tests: EBADF tests.
7540         * tests/test-fclose.c (main): Add tests for EBADF.
7541
7542         fflush tests: EBADF tests.
7543         * tests/test-fflush.c: Include errno.h, macros.h.
7544         (main): Add tests for EBADF.
7545
7546         ftello tests: EBADF tests.
7547         * tests/test-ftello4.sh: New file.
7548         * tests/test-ftello4.c: New file.
7549         * modules/ftello-tests (Files): Add them.
7550         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
7551
7552         fseeko tests: EBADF tests.
7553         * tests/test-fseeko4.sh: New file.
7554         * tests/test-fseeko4.c: New file.
7555         * modules/fseeko-tests (Files): Add them.
7556         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
7557
7558         Tests for function fputc().
7559         * modules/fputc-tests: New file.
7560         * tests/test-fputc.c: New file.
7561         * modules/stdio-tests (Depends-on): Add fputc-tests.
7562
7563         Tests for function fgetc().
7564         * modules/fgetc-tests: New file.
7565         * tests/test-fgetc.c: New file.
7566         * modules/stdio-tests (Depends-on): Add fgetc-tests.
7567
7568         Tests for function fdopen().
7569         * modules/fdopen-tests: New file.
7570         * tests/test-fdopen.c: New file.
7571         * modules/stdio-tests (Depends-on): Add fdopen-tests.
7572
7573         Tests for module 'vdprintf'.
7574         * modules/vdprintf-tests: New file.
7575         * tests/test-vdprintf.c: New file.
7576
7577         Tests for module 'dprintf'.
7578         * modules/dprintf-tests: New file.
7579         * tests/test-dprintf.c: New file.
7580
7581 2011-09-20  Bruno Haible  <bruno@clisp.org>
7582
7583         Tests for module 'ioctl'.
7584         * modules/ioctl-tests: New file.
7585         * tests/test-ioctl.c: New file.
7586
7587 2011-09-20  Bruno Haible  <bruno@clisp.org>
7588
7589         fcntl tests: EBADF tests.
7590         * tests/test-fcntl.c (main): Add more tests for EBADF.
7591
7592 2011-09-20  Bruno Haible  <bruno@clisp.org>
7593
7594         utimensat tests: EBADF tests.
7595         * tests/test-utimensat.c (main): Add tests for EBADF.
7596
7597         renameat tests: EBADF tests.
7598         * tests/test-renameat.c (main): Add tests for EBADF.
7599
7600         mkfifoat tests: EBADF tests.
7601         * tests/test-mkfifoat.c (main): Add tests for EBADF.
7602
7603         readlinkat tests: EBADF tests.
7604         * tests/test-readlinkat.c (main): Add tests for EBADF.
7605
7606         symlinkat tests: EBADF tests.
7607         * tests/test-symlinkat.c (main): Add tests for EBADF.
7608
7609         linkat tests: EBADF tests.
7610         * tests/test-linkat.c (main): Add tests for EBADF.
7611
7612         Tests for module 'faccessat'.
7613         * modules/faccessat-tests: New file.
7614         * tests/test-faccessat.c: New file.
7615
7616         fdopendir tests: EBADF tests.
7617         * tests/test-fdopendir.c (main): Add more tests for EBADF.
7618
7619         openat tests: EBADF tests.
7620         * tests/test-fchownat.c (main): Add tests for EBADF.
7621         * tests/test-fstatat.c (main): Likewise.
7622         * tests/test-mkdirat.c (main): Likewise.
7623         * tests/test-openat.c (main): Likewise.
7624         * tests/test-unlinkat.c (main): Likewise.
7625         * tests/test-fchmodat.c: New file.
7626         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
7627         (Makefile.am): Also run 'test-fchmodat'.
7628
7629 2011-09-20  Bruno Haible  <bruno@clisp.org>
7630
7631         utimens, futimens, fdutimensat tests: EBADF tests.
7632         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
7633
7634         Tests for function fstat().
7635         * modules/fstat-tests: New file.
7636         * tests/test-fstat.c: New file.
7637         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
7638
7639 2011-09-20  Bruno Haible  <bruno@clisp.org>
7640
7641         test-ttyname_r tests: EBADF tests.
7642         * tests/test-ttyname_r.c (main): Add tests for EBADF.
7643
7644         Tests for module 'isatty'.
7645         * modules/isatty-tests: New file.
7646         * tests/test-isatty.c: New file.
7647
7648         Tests for module 'write'.
7649         * modules/write-tests: New file.
7650         * tests/test-write.c: New file.
7651
7652         Tests for module 'read'.
7653         * modules/read-tests: New file.
7654         * tests/test-read.c: New file.
7655
7656         pwrite tests: EBADF tests.
7657         * tests/test-pwrite.c (main): Add tests for EBADF.
7658
7659         pread tests: EBADF tests.
7660         * tests/test-pread.c (main): Add tests for EBADF.
7661
7662         lseek tests: EBADF tests.
7663         * tests/test-lseek.c (main): Add more tests for EBADF.
7664
7665         Tests for module 'ftruncate'.
7666         * modules/ftruncate-tests: New file.
7667         * tests/test-ftruncate.sh: New file.
7668         * tests/test-ftruncate.c: New file.
7669
7670         fsync tests: EBADF tests.
7671         * tests/test-fsync.c (main): Add more tests for EBADF.
7672
7673         fdatasync tests: EBADF tests.
7674         * tests/test-fdatasync.c (main): Add more tests for EBADF.
7675
7676         Tests for module 'fchown'.
7677         * modules/fchown-tests: New file.
7678         * tests/test-fchown.c: New file.
7679
7680         Tests for module 'fchmod'.
7681         * modules/fchmod-tests: New file.
7682         * tests/test-fchmod.c: New file.
7683
7684         fchdir tests: EBADF tests.
7685         * tests/test-fchdir.c (main): Add more tests for EBADF.
7686
7687         dup2 tests: EBADF tests.
7688         * tests/test-dup2.c (main): Add more tests for EBADF.
7689
7690         Tests for module 'dup'.
7691         * modules/dup-tests: New file.
7692         * tests/test-dup.c: New file.
7693
7694         Tests for module 'close'.
7695         * modules/close-tests: New file.
7696         * tests/test-close.c: New file.
7697
7698 2011-09-20  Bruno Haible  <bruno@clisp.org>
7699
7700         Tests for module 'shutdown'.
7701         * modules/shutdown-tests: New file.
7702         * tests/test-shutdown.c: New file.
7703
7704         Tests for module 'setsockopt'.
7705         * modules/setsockopt-tests: New file.
7706         * tests/test-setsockopt.c: New file.
7707
7708         Tests for module 'sendto'.
7709         * modules/sendto-tests: New file.
7710         * tests/test-sendto.c: New file.
7711
7712         Tests for module 'send'.
7713         * modules/send-tests: New file.
7714         * tests/test-send.c: New file.
7715
7716         Tests for module 'recvfrom'.
7717         * modules/recvfrom-tests: New file.
7718         * tests/test-recvfrom.c: New file.
7719
7720         Tests for module 'recv'.
7721         * modules/recv-tests: New file.
7722         * tests/test-recv.c: New file.
7723
7724         Tests for module 'listen'.
7725         * modules/listen-tests: New file.
7726         * tests/test-listen.c: New file.
7727
7728         Tests for module 'getsockopt'.
7729         * modules/getsockopt-tests: New file.
7730         * tests/test-getsockopt.c: New file.
7731
7732         Tests for module 'getsockname'.
7733         * modules/getsockname-tests: New file.
7734         * tests/test-getsockname.c: New file.
7735
7736         Tests for module 'getpeername'.
7737         * modules/getpeername-tests: New file.
7738         * tests/test-getpeername.c: New file.
7739
7740         Tests for module 'connect'.
7741         * modules/connect-tests: New file.
7742         * tests/test-connect.c: New file.
7743
7744         Tests for module 'bind'.
7745         * modules/bind-tests: New file.
7746         * tests/test-bind.c: New file.
7747
7748         accept4 tests: Fix for native Windows.
7749         * tests/test-accept4.c: Include sockets.h.
7750         (main): Invoke gl_sockets_startup.
7751         * modules/accept4-tests (Depends-on): Add sockets.
7752
7753         accept tests: Fix for native Windows.
7754         * tests/test-accept.c: Include sockets.h.
7755         (main): Invoke gl_sockets_startup.
7756         * modules/accept-tests (Depends-on): Add sockets.
7757
7758 2011-09-19  Bruno Haible  <bruno@clisp.org>
7759
7760         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
7761         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
7762         do...while(0).
7763         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
7764         Suggested by Paul Eggert.
7765
7766 2011-09-19  Bruno Haible  <bruno@clisp.org>
7767
7768         sched: Ensure pid_t is defined.
7769         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
7770         not define pid_t.
7771         * lib/sched.in.h: Include <sys/types.h>.
7772         * doc/posix-headers/sched.texi: Mention the pid_t problem.
7773         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7774
7775 2011-09-19  Bruno Haible  <bruno@clisp.org>
7776
7777         msvc-inval: Ensure the entire expansion is a single statement.
7778         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
7779         of braces.
7780
7781 2011-09-19  Jim Meyering  <meyering@redhat.com>
7782
7783         tests: use printf, not echo in init.sh's warn_ function
7784         * tests/init.sh (warn_): Use printf, not echo.  The latter would
7785         misbehave when given strings containing a backslash or starting
7786         with e.g., -n.  James Youngman suggested setting IFS.
7787
7788 2011-09-19  Eric Blake  <eblake@redhat.com>
7789
7790         futimens: enhance test
7791         * tests/test-futimens.h (test_futimens): Also check for EBADF on
7792         closed non-negative fd.
7793
7794         date: accept 'hence' as opposite of 'ago'
7795         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
7796         * tests/test-parse-datetime.c (main): Enhance test.
7797         Suggested by Jesse Wilson.
7798
7799 2011-09-19  Jim Meyering  <meyering@redhat.com>
7800
7801         getcwd: don't fail in a deep directory on a system without openat
7802         Before this change, getcwd would fail when called from a directory
7803         of depth PATH_MAX / 3 or greater.  That was due to the fact that
7804         the non-openat implementation used "..", "../..", "../../..", etc.
7805         to access ancestor directories.  With too many, that string would
7806         be longer than PATH_MAX.
7807         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
7808         using gnulib's openat replacement.
7809         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
7810         we're using the replacement function.
7811
7812 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
7813
7814         maint.mk: avoid warnings from perl about missing files
7815         * top/maint.mk (def_sym_regex): Ignore files listed in
7816         $(gl_other_headers_) that do not exist, say because a project
7817         does not use a corresponding module.
7818
7819 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7820
7821         stat: use pathmax.h only if needed
7822         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
7823         This is better for Emacs, which does not have a mingw port and
7824         therefore can avoid the pathmax module.
7825
7826         utimens: remove dependency on dup2
7827         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
7828         to work around the Linux kernel bug.
7829         * modules/utimens (Depends-on): Remove dup2.
7830
7831 2011-09-18  Bruno Haible  <bruno@clisp.org>
7832
7833         inet_ntop, inet_pton: Look for it also in libresolv.
7834         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
7835         libnsl, search for it in libresolv.
7836         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7837         Needed on Solaris 7.
7838
7839 2011-09-18  Bruno Haible  <bruno@clisp.org>
7840
7841         accept, accept4 tests: Avoid link error on Solaris.
7842         * modules/accept-tests (Makefile.am): Link test-accept against
7843         $(LIBSOCKET).
7844         * modules/accept4-tests (Makefile.am): Link test-accept4 against
7845         $(LIBSOCKET).
7846
7847         accept4: Avoid link error on Solaris.
7848         * modules/accept4 (Link): New section.
7849
7850         socket functions: Avoid link errors on Solaris.
7851         * modules/accept (Depends-on): Add socketlib.
7852         (Link): New section.
7853         * modules/bind (Depends-on): Add socketlib.
7854         (Link): New section.
7855         * modules/connect (Depends-on): Add socketlib.
7856         (Link): New section.
7857         * modules/getpeername (Depends-on): Add socketlib.
7858         (Link): New section.
7859         * modules/getsockname (Depends-on): Add socketlib.
7860         (Link): New section.
7861         * modules/getsockopt (Depends-on): Add socketlib.
7862         (Link): New section.
7863         * modules/listen (Depends-on): Add socketlib.
7864         (Link): New section.
7865         * modules/recv (Depends-on): Add socketlib.
7866         (Link): New section.
7867         * modules/recvfrom (Depends-on): Add socketlib.
7868         (Link): New section.
7869         * modules/send (Depends-on): Add socketlib.
7870         (Link): New section.
7871         * modules/sendto (Depends-on): Add socketlib.
7872         (Link): New section.
7873         * modules/setsockopt (Depends-on): Add socketlib.
7874         (Link): New section.
7875         * modules/shutdown (Depends-on): Add socketlib.
7876         (Link): New section.
7877         * modules/socket (Depends-on): Add socketlib.
7878         (Link): New section.
7879
7880 2011-09-18  Bruno Haible  <bruno@clisp.org>
7881
7882         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
7883         * tests/test-ptsname.c (main): Terminate the test if it takes longer
7884         than 5 seconds.
7885         * modules/ptsname-tests (configure.ac): Test for alarm.
7886
7887 2011-09-18  Bruno Haible  <bruno@clisp.org>
7888
7889         posix_spawn_file_actions_add*: Fix module dependencies.
7890         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
7891         posix_spawn_file_actions_init.
7892         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
7893         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
7894
7895 2011-09-18  Bruno Haible  <bruno@clisp.org>
7896
7897         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
7898         * tests/test-rename.h (test_rename): Allow error code EEXIST.
7899         * tests/test-renameat.c (main): Likewise.
7900
7901 2011-09-18  Bruno Haible  <bruno@clisp.org>
7902
7903         Tests for module 'accept4'.
7904         * modules/accept4-tests: New file.
7905         * tests/test-accept4.c: New file.
7906
7907 2011-09-18  Bruno Haible  <bruno@clisp.org>
7908
7909         Tests for module 'accept'.
7910         * modules/accept-tests: New file.
7911         * tests/test-accept.c: New file.
7912
7913 2011-09-18  Bruno Haible  <bruno@clisp.org>
7914
7915         dup2: Support for MSVC.
7916         * lib/dup2.c: Include msvc-inval.h.
7917         (rpl_dup2): Handle invalid parameter notifications during dup2 and
7918         _get_osfhandle calls.
7919         * modules/dup2 (Depends-on): Add msvc-inval.
7920         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
7921
7922         New module 'msvc-inval'.
7923         * lib/msvc-inval.h: New file.
7924         * lib/msvc-inval.c: New file.
7925         * m4/msvc-inval.m4: New file.
7926         * modules/msvc-inval: New file.
7927
7928 2011-09-17  Bruno Haible  <bruno@clisp.org>
7929
7930         Tests for module 'pclose'.
7931         * modules/pclose-tests: New file.
7932
7933         New module 'pclose'.
7934         * lib/stdio.in.h (pclose): New declaration.
7935         * lib/pclose.c: New file.
7936         * m4/pclose.m4: New file.
7937         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
7938         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
7939         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
7940         * modules/pclose: New file.
7941         * modules/popen-tests (Depends-on): Add pclose.
7942         * modules/popen-safer-tests (Depends-on): Likewise.
7943         * doc/posix-functions/pclose.texi: Mention the new module.
7944
7945 2011-09-17  Bruno Haible  <bruno@clisp.org>
7946
7947         popen: Support for MSVC.
7948         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
7949         * lib/popen.c (popen): Provide alternate definition for native Windows.
7950         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
7951         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
7952         * modules/popen (Depends-on, configure.ac): Update condition.
7953         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
7954         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
7955         fixed.
7956
7957 2011-09-17  Bruno Haible  <bruno@clisp.org>
7958
7959         isnanl, isnand, isnanf: Work around MSVC bug.
7960         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
7961
7962 2011-09-17  Bruno Haible  <bruno@clisp.org>
7963
7964         sys_socket tests: Fix recent mistake.
7965         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
7966
7967 2011-09-17  Bruno Haible  <bruno@clisp.org>
7968
7969         putenv: Support for MSVC.
7970         * modules/putenv (Depends-on): Add environ.
7971         * lib/putenv.c (environ): Disable declaration.
7972         * lib/unistd.in.h: Update comment.
7973
7974 2011-09-17  Bruno Haible  <bruno@clisp.org>
7975
7976         math: Avoid macro redefinition warnings on MSVC.
7977         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
7978         Undefine before redefining.
7979
7980 2011-09-17  Bruno Haible  <bruno@clisp.org>
7981
7982         doc: Mention functions which are declared as macros.
7983         * doc/posix-functions/*[fl].texi: Mention that some functions are
7984         defined as macros with arguments only.
7985
7986 2011-09-17  Bruno Haible  <bruno@clisp.org>
7987
7988         Add dependencies to new dirent related modules.
7989         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
7990         * modules/fts (Depends-on): Likewise.
7991         * modules/glob (Depends-on): Likewise.
7992         * modules/savedir (Depends-on): Likewise.
7993         * modules/scandir (Depends-on): Likewise.
7994         * modules/dirent-safer (Depends-on): Add opendir, closedir.
7995         * modules/fdopendir (Depends-on): Add opendir.
7996
7997 2011-09-17  Bruno Haible  <bruno@clisp.org>
7998
7999         inet_pton: Support for MSVC on Windows Vista or newer.
8000         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
8001         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
8002         HAVE_DECL_INET_PTON is defined.
8003         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8004         On platforms with <winsock2.h>, test whether inet_pton is declared in
8005         <ws2tcpip.h>. If so, arrange to replace it.
8006         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8007         REPLACE_INET_PTON.
8008         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
8009         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
8010         (Depends-on, configure.ac): Update condition.
8011         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
8012
8013 2011-09-17  Bruno Haible  <bruno@clisp.org>
8014
8015         inet_ntop: Support for MSVC on Windows Vista or newer.
8016         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
8017         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
8018         HAVE_DECL_INET_NTOP is defined.
8019         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8020         On platforms with <winsock2.h>, test whether inet_ntop is declared in
8021         <ws2tcpip.h>. If so, arrange to replace it.
8022         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8023         REPLACE_INET_NTOP.
8024         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
8025         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
8026         (Depends-on, configure.ac): Update condition.
8027         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
8028
8029 2011-09-16  Eric Blake  <eblake@redhat.com>
8030
8031         test-fsync: yet another enhancement
8032         * tests/test-fsync.c (main): Also test behavior on read-only text
8033         file.
8034
8035 2011-09-16  Bruno Haible  <bruno@clisp.org>
8036
8037         Enhance fsync, fdatasync tests.
8038         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
8039         * tests/test-fdatasync.c (main): Likewise.
8040
8041 2011-09-16  Bruno Haible  <bruno@clisp.org>
8042
8043         Support for MSVC compiler: Ensure mode_t gets defined.
8044         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
8045         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8046         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8047         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
8048         * tests/test-fcntl-h.c: Check that mode_t is defined.
8049         * tests/test-sys_stat.c: Likewise.
8050         * tests/test-sys_types.c: Likewise.
8051         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
8052         * doc/posix-headers/sys_stat.texi: Likewise.
8053         * doc/posix-headers/sys_types.texi: Likewise.
8054
8055 2011-09-16  Bruno Haible  <bruno@clisp.org>
8056
8057         sys_stat: Support for MSVC.
8058         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
8059         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
8060         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
8061         MSVC.
8062
8063 2011-09-16  Bruno Haible  <bruno@clisp.org>
8064
8065         Support for MSVC compiler: Ensure off_t gets defined.
8066         * lib/unistd.in.h: Include <sys/types.h>.
8067         * tests/test-fcntl-h.c: Check that off_t is defined.
8068         * tests/test-sys_stat.c: Likewise.
8069         * tests/test-sys_types.c: Likewise.
8070
8071 2011-09-16  Eric Blake  <eblake@redhat.com>
8072
8073         fdatasync: port to Solaris
8074         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
8075         * modules/fdatasync (Link): Document it.
8076         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
8077
8078         fdatasync: port to MacOS X 10.7
8079         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
8080         declared.
8081         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
8082         * modules/unistd (Makefile.am): Substitute it.
8083         * lib/unistd.in.h (fdatasync): Declare on MacOS.
8084         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
8085
8086         fdatasync: minor improvements
8087         * modules/fdatasync (Depends-on): Add condition for fsync.
8088         * lib/fdatasync.c (fdatasync): Add comment.
8089         * tests/test-unistd-c++.cc: Test fdatasync.
8090
8091         unistd: update refs to newer POSIX
8092         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
8093         Suggested by Bruno Haible.
8094
8095         fdatasync: new module
8096         * modules/fsync (Description): Document difference to fdatasync.
8097         * modules/fdatasync: New module.
8098         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
8099         * lib/fdatasync.c (fdatasync): Likewise.
8100         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
8101         defaults.
8102         * modules/unistd (Makefile.am): Set witnesses.
8103         * lib/unistd.in.h (fdatasync): Declare.
8104         * MODULES.html.sh: Document it.
8105         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
8106         * modules/fdatasync-tests: New test.
8107         * tests/test-fdatasync.c: Likewise.
8108
8109 2011-09-16  Eric Blake  <eblake@redhat.com>
8110
8111         test-fsync: enhance tests
8112         * modules/fsync-tests (Depends-on): Add errno, for mingw.
8113         * tests/test-fsync.c (main): Enhance test.
8114
8115 2011-09-15  Bruno Haible  <bruno@clisp.org>
8116
8117         Support for MSVC compiler: Ensure ssize_t gets defined.
8118         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
8119         * doc/posix-headers/stdio.texi: Likewise.
8120         * modules/stdio (Depends-on): Add ssize_t.
8121         * modules/sys_socket (Depends-on): Likewise.
8122         * modules/sys_types (Depends-on): Likewise.
8123         * modules/sys_uio (Depends-on): Likewise.
8124         * modules/unistd (Depends-on): Likewise.
8125         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
8126         * tests/test-sys_types.c: Check that ssize_t is defined.
8127
8128 2011-09-14  Bruno Haible  <bruno@clisp.org>
8129
8130         Avoid using #, the m4 comment starter character, near brackets.
8131         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
8132         delimiter character in sed expressions.
8133         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8134         Suggested by Eric Blake.
8135
8136         Properly quote AC_CHECK_DECLS' 4th argument.
8137         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
8138         argument.
8139         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
8140         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8141         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8142         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
8143         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
8144         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
8145         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
8146         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
8147         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
8148         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8149         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
8150         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8151         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
8152         * m4/isinf.m4 (gl_ISINF): Likewise.
8153         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
8154         * m4/readutmp.m4 (gl_READUTMP): Likewise.
8155         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
8156         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8157         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8158         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
8159         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8160         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8161         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
8162         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8163         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8164         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8165         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
8166         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8167         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8168         Reported by Eric Blake.
8169
8170         Properly quote AC_CHECK_DECL's 4th argument.
8171         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
8172         argument.
8173         * m4/argp.m4 (gl_ARGP): Likewise.
8174         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
8175         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8176         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
8177         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8178         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
8179         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
8180         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
8181         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
8182         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
8183         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
8184         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
8185         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
8186         Reported by Eric Blake.
8187
8188 2011-09-14  Eric Blake  <eblake@redhat.com>
8189
8190         opendir: avoid compile warning
8191         * lib/opendir.c (includes): Always include errno.h.
8192         Reported by Tatsuro MATSUOKA.
8193
8194 2011-09-14  Jim Meyering  <meyering@redhat.com>
8195
8196         maint.mk: sc_tight_scope: propagate failure from sub-make
8197         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
8198         Reported by Martin von Gagern.
8199
8200 2011-09-13  Bruno Haible  <bruno@clisp.org>
8201
8202         tempname: Support for MSVC.
8203         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
8204         MSVC.
8205         * modules/tempname (Depends-on): Add fcntl-h.
8206
8207 2011-09-13  Bruno Haible  <bruno@clisp.org>
8208
8209         sys_time: Support for MSVC.
8210         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
8211         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
8212         include <winsock2.h>.
8213         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
8214         function declarations that collide with POSIX.
8215         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
8216         (Makefile.am): Substitute HAVE_WINSOCK2_H.
8217
8218 2011-09-13  Bruno Haible  <bruno@clisp.org>
8219
8220         stat: Support for MSVC.
8221         * lib/stat.c: Include pathmax.h.
8222         * modules/stat (Depends-on): Add pathmax.
8223
8224         pathmax: Support for native Windows.
8225         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
8226
8227 2011-09-12  Bruno Haible  <bruno@clisp.org>
8228
8229         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
8230         * lib/dirent.in.h (struct dirent): New type.
8231         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
8232         DT_WHT): New macros.
8233         (DIR): New type.
8234         (opendir, closedir): Declare only if the module 'opendir' is enabled.
8235         (readdir, rewinddir): New declarations.
8236         * lib/dirent-private.h: New file.
8237         * lib/opendir.c: New file.
8238         * lib/readdir.c: New file.
8239         * lib/rewinddir.c: New file.
8240         * lib/closedir.c: New file.
8241         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
8242         * m4/opendir.m4: New file.
8243         * m4/readdir.m4: New file.
8244         * m4/rewinddir.m4: New file.
8245         * m4/closedir.m4: New file.
8246         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
8247         REPLACE_CLOSEDIR here.
8248         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
8249         readdir, rewinddir are declared.
8250         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
8251         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
8252         HAVE_REWINDDIR, HAVE_CLOSEDIR.
8253         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
8254         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
8255         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
8256         * modules/opendir: New file.
8257         * modules/readdir: New file.
8258         * modules/rewinddir: New file.
8259         * modules/closedir: New file.
8260         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
8261         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
8262         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
8263         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
8264         * NEWS: Mention the 'fchdir' change.
8265
8266 2011-09-11  Bruno Haible  <bruno@clisp.org>
8267
8268         asm-underscore.m4: Support for MSVC.
8269         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
8270         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
8271
8272 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
8273
8274         Doc about crypt functions.
8275         * doc/posix-functions/crypt.texi: Expand range of glibc versions
8276         needing for _GNU_SOURCE to get crypt.
8277         * doc/posix-functions/encrypt.texi: Likewise.
8278         * doc/posix-functions/setkey.texi: Likewise.
8279
8280 2011-09-11  Bruno Haible  <bruno@clisp.org>
8281
8282         doc: Update regarding MSVC 9.
8283         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
8284         tested".
8285         * doc/posix-functions/*.texi: Update with info about MSVC 9.
8286         * doc/posix-headers/*.texi: Likewise.
8287         * doc/pastposix-functions/*.texi: Likewise.
8288         * doc/glibc-functions/*.texi: Likewise.
8289         * doc/glibc-headers/*.texi: Likewise.
8290
8291 2011-09-11  Bruno Haible  <bruno@clisp.org>
8292
8293         unistd et al.: Don't assume <unistd.h> exists.
8294         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
8295         does not exist.
8296         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
8297         exist. But include <stdlib.h>.
8298         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
8299         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
8300         symlink() does not exist.
8301         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
8302         include <io.h> instead.
8303         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
8304         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
8305         include <direct.h> instead.
8306         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8307         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8308         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
8309         <io.h> instead.
8310         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
8311         correctly if the system does not have hard links.
8312         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
8313         <direct.h> instead.
8314         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
8315         it when looking for function declarations.
8316         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
8317         <direct.h> and <io.h> instead.
8318         * doc/posix-headers/unistd.texi: More details about MSVC problem.
8319
8320 2011-09-11  Bruno Haible  <bruno@clisp.org>
8321
8322         strcase: Support for MSVC.
8323         * modules/strcase (Status, Notice): Remove obsoletion mark.
8324         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
8325         * doc/posix-functions/strncasecmp.texi: Likewise.
8326
8327         strings: Don't assume <strings.h> exists.
8328         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
8329         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
8330         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
8331         * doc/posix-headers/strings.texi: Mention the MSVC problem.
8332
8333 2011-09-11  Bruno Haible  <bruno@clisp.org>
8334
8335         dirent: Don't assume <dirent.h> exists.
8336         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
8337         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
8338         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
8339         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
8340
8341 2011-09-11  Bruno Haible  <bruno@clisp.org>
8342
8343         Fix wint_t on MSVC.
8344         * lib/wchar.in.h (wint_t): On MSVC, override it.
8345         * lib/wctype.in.h (wint_t): Likewise.
8346         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
8347         MSVC.
8348         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
8349         * doc/posix-headers/wctype.texi: Likewise.
8350
8351 2011-09-11  Bruno Haible  <bruno@clisp.org>
8352
8353         sys_types: Fix typo.
8354         * lib/sys_types.in.h: Fix typo in comment.
8355         Reported by Paul Eggert.
8356
8357         Support for MSVC compiler: Ensure size_t gets defined.
8358         * modules/strings (Depends-on): Add 'sys_types'.
8359         * modules/sys_uio (Depends-on): Likewise.
8360         * lib/sys_uio.in.h: Update comment.
8361
8362         C++ tests for module 'sys_types'.
8363         * modules/sys_types-c++-tests: New file.
8364         * tests/test-sys_types-c++.cc: New file.
8365
8366         Tests for module 'sys_types'.
8367         * modules/sys_types-tests: New file.
8368         * tests/test-sys_types.c: New file.
8369
8370         New module 'sys_types'.
8371         * lib/sys_types.in.h: New file.
8372         * m4/sys_types_h.m4: New file.
8373         * modules/sys_types: New file.
8374         * doc/posix-headers/sys_types.texi: Mention the new module and the
8375         size_t problem on MSVC 9.
8376
8377 2011-09-11  Bruno Haible  <bruno@clisp.org>
8378
8379         Support for MSVC compiler: Avoid division by a literal 0.
8380         * lib/math.in.h (NAN): Define through a function call also on MSVC.
8381         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
8382         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
8383         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
8384         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
8385         * tests/infinity.h: New file.
8386         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
8387         on MSVC.
8388         * tests/test-ceilf1.c: Include infinity.h.
8389         (main): Use Infinityf.
8390         * tests/test-ceil1.c: Include infinity.h.
8391         (main): Use Infinityd.
8392         * tests/test-ceill.c: Include infinity.h.
8393         (main): Use Infinityl.
8394         * tests/test-dprintf-posix.c: Include infinity.h.
8395         (test_function): Use Infinityd.
8396         * tests/test-floorf1.c: Include infinity.h.
8397         (main): Use Infinityf.
8398         * tests/test-floor1.c: Include infinity.h.
8399         (main): Use Infinityd.
8400         * tests/test-floorl.c: Include infinity.h.
8401         (main): Use Infinityl.
8402         * tests/test-fprintf-posix.c: Include infinity.h.
8403         (test_function): Use Infinityd.
8404         * tests/test-frexp.c: Include infinity.h.
8405         (main): Use Infinityd.
8406         * tests/test-frexpl.c: Include infinity.h.
8407         (main): Use Infinityl.
8408         * tests/test-isfinite.c: Include infinity.h.
8409         (test_isfinitef): Use Infinityf.
8410         (test_isfinited): Use Infinityd.
8411         (test_isfinitel): Use Infinityl.
8412         * tests/test-isinf.c: Include infinity.h.
8413         (test_isinff): Use Infinityf.
8414         (test_isinfd): Use Infinityd.
8415         (test_isinfl): Use Infinityl.
8416         * tests/test-isnan.c: Include infinity.h.
8417         (test_float): Use Infinityf.
8418         (test_double): Use Infinityd.
8419         (test_long_double): Use Infinityl.
8420         * tests/test-isnanf.h: Include infinity.h.
8421         (main): Use Infinityf.
8422         * tests/test-isnand.h: Include infinity.h.
8423         (main): Use Infinityd.
8424         * tests/test-isnanl.h: Include infinity.h.
8425         (main): Use Infinityl.
8426         * tests/test-ldexpl.c: Include infinity.h.
8427         (main): Use Infinityl.
8428         * tests/test-printf-posix.h: Include infinity.h.
8429         (test_function): Use Infinityd.
8430         * tests/test-roundf1.c: Include infinity.h.
8431         (main): Use Infinityf.
8432         * tests/test-round1.c: Include infinity.h.
8433         (main): Use Infinityd.
8434         * tests/test-roundl.c: Include infinity.h.
8435         (main): Use Infinityl.
8436         * tests/test-signbit.c: Include infinity.h.
8437         (test_signbitf): Use Infinityf.
8438         (test_signbitd): Use Infinityd.
8439         (test_signbitl): Use Infinityl.
8440         * tests/test-snprintf-posix.h: Include infinity.h.
8441         (test_function): Use Infinityd, Infinityl.
8442         * tests/test-sprintf-posix.h: Include infinity.h.
8443         (test_function): Use Infinityd, Infinityl.
8444         * tests/test-truncf1.c: Include infinity.h.
8445         (main): Use Infinityf.
8446         * tests/test-trunc1.c: Include infinity.h.
8447         (main): Use Infinityd.
8448         * tests/test-truncl.c: Include infinity.h.
8449         (main): Use Infinityl.
8450         * tests/test-vasnprintf-posix.c: Include infinity.h.
8451         (test_function): Use Infinityd, Infinityl.
8452         * tests/test-vasprintf-posix.c: Include infinity.h.
8453         (test_function): Use Infinityd, Infinityl.
8454         * modules/ceilf-tests (Files): Add tests/infinity.h.
8455         * modules/ceil-tests (Files): Likewise.
8456         * modules/ceill-tests (Files): Likewise.
8457         * modules/dprintf-posix-tests (Files): Likewise.
8458         * modules/floorf-tests (Files): Likewise.
8459         * modules/floor-tests (Files): Likewise.
8460         * modules/floorl-tests (Files): Likewise.
8461         * modules/fprintf-posix-tests (Files): Likewise.
8462         * modules/frexp-tests (Files): Likewise.
8463         * modules/frexp-nolibm-tests (Files): Likewise.
8464         * modules/frexpl-tests (Files): Likewise.
8465         * modules/frexpl-nolibm-tests (Files): Likewise.
8466         * modules/isfinite-tests (Files): Likewise.
8467         * modules/isinf-tests (Files): Likewise.
8468         * modules/isnan-tests (Files): Likewise.
8469         * modules/isnanf-tests (Files): Likewise.
8470         * modules/isnanf-nolibm-tests (Files): Likewise.
8471         * modules/isnand-tests (Files): Likewise.
8472         * modules/isnand-nolibm-tests (Files): Likewise.
8473         * modules/isnanl-tests (Files): Likewise.
8474         * modules/isnanl-nolibm-tests (Files): Likewise.
8475         * modules/ldexpl-tests (Files): Likewise.
8476         * modules/printf-posix-tests (Files): Likewise.
8477         * modules/roundf-tests (Files): Likewise.
8478         * modules/round-tests (Files): Likewise.
8479         * modules/roundl-tests (Files): Likewise.
8480         * modules/signbit-tests (Files): Likewise.
8481         * modules/snprintf-posix-tests (Files): Likewise.
8482         * modules/sprintf-posix-tests (Files): Likewise.
8483         * modules/truncf-tests (Files): Likewise.
8484         * modules/trunc-tests (Files): Likewise.
8485         * modules/truncl-tests (Files): Likewise.
8486         * modules/vasnprintf-posix-tests (Files): Likewise.
8487         * modules/vasprintf-posix-tests (Files): Likewise.
8488         * modules/vdprintf-posix-tests (Files): Likewise.
8489         * modules/vfprintf-posix-tests (Files): Likewise.
8490         * modules/vprintf-posix-tests (Files): Likewise.
8491         * modules/vsnprintf-posix-tests (Files): Likewise.
8492         * modules/vsprintf-posix-tests (Files): Likewise.
8493         * modules/xprintf-posix-tests (Files): Likewise.
8494
8495 2011-09-11  Bruno Haible  <bruno@clisp.org>
8496
8497         Ensure pid_t gets defined.
8498         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
8499         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
8500         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8501         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8502         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
8503         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
8504         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
8505         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8506         * tests/test-fcntl-h.c: Check that pid_t is defined.
8507         * tests/test-sched.c: Likewise.
8508         * tests/test-termios.c: Likewise.
8509         * tests/test-time.c: Likewise.
8510         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
8511         * doc/posix-headers/signal.texi: Likewise.
8512         * doc/posix-headers/sys_types.texi: Likewise.
8513         * doc/posix-headers/time.texi: Likewise.
8514
8515 2011-09-11  Bruno Haible  <bruno@clisp.org>
8516
8517         acl: Fix compilation on Solaris 10 (older version).
8518         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
8519         of ACE_EVERYONE.
8520         * lib/set-mode-acl.c (qset_acl): Likewise.
8521         Reported by Christian Jullien <eligis@orange.fr>.
8522
8523 2011-09-10  Bruno Haible  <bruno@clisp.org>
8524
8525         iconv, unsetenv: Add support for MSVC compiler.
8526         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
8527         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
8528
8529 2011-09-10  Bruno Haible  <bruno@clisp.org>
8530
8531         *printf: Add support for MSVC compiler.
8532         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
8533         handles the exception caused by the %n directive. When cross-compiling,
8534         guess no on native Windows.
8535         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8536         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
8537         emulate it through vsnprintf.
8538         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
8539         * doc/posix-functions/dprintf.texi: Update documentation regarding
8540         MSVC 9.
8541         * doc/posix-functions/fprintf.texi: Likewise.
8542         * doc/posix-functions/printf.texi: Likewise.
8543         * doc/posix-functions/snprintf.texi: Likewise.
8544         * doc/posix-functions/sprintf.texi: Likewise.
8545         * doc/posix-functions/swprintf.texi: Likewise.
8546         * doc/posix-functions/vdprintf.texi: Likewise.
8547         * doc/posix-functions/vfprintf.texi: Likewise.
8548         * doc/posix-functions/vprintf.texi: Likewise.
8549         * doc/posix-functions/vsnprintf.texi: Likewise.
8550         * doc/posix-functions/vsprintf.texi: Likewise.
8551         * doc/glibc-functions/asprintf.texi: Likewise.
8552         * doc/glibc-functions/obstack_printf.texi: Likewise.
8553         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8554         * doc/glibc-functions/vasprintf.texi: Likewise.
8555
8556 2011-09-10  Bruno Haible  <bruno@clisp.org>
8557
8558         nocrash: Add support for native Windows.
8559         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
8560
8561 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
8562             Bruno Haible  <bruno@clisp.org>
8563
8564         absolute-header, include-next: Add support for MSVC compiler.
8565         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
8566         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
8567         directory separator in #line directives.
8568         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
8569         recognize also backslash as directory separator in #line directives.
8570
8571 2011-09-08  Jim Meyering  <meyering@redhat.com>
8572
8573         maint.mk: mark the post-release commit log with "maint: " prefix
8574         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
8575         one-line commit-log summary.
8576
8577 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
8578             Bruno Haible  <bruno@clisp.org>
8579
8580         Doc about crypt functions.
8581         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
8582         systems.
8583         * doc/posix-functions/encrypt.texi: Likewise.
8584         * doc/posix-functions/setkey.texi: Likewise.
8585
8586 2011-09-08  Simon Josefsson  <simon@josefsson.org>
8587
8588         * lib/gc.h: Fix copyright header.
8589
8590 2011-09-07  Bruno Haible  <bruno@clisp.org>
8591
8592         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
8593         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
8594         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
8595
8596 2011-09-07  Bruno Haible  <bruno@clisp.org>
8597
8598         openat: Work around compilation error with OSF/1 5.1 DTK cc.
8599         * lib/fopen.c: Use different syntax for include of <stdio.h>.
8600         * lib/freopen.c: Likewise.
8601         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
8602         * lib/lstat.c: Likewise.
8603         * lib/stat.c: Likewise.
8604         * lib/open.c: Use different syntax for include of <fcntl.h>.
8605         * lib/openat.c: Include fcntl.h again, explicitly.
8606
8607 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
8608
8609         parse-datetime: document the newly accepted format
8610         * doc/parse-datetime.texi (Combined date and time of day items):
8611         New section.
8612
8613 2011-09-06  Bruno Haible  <bruno@clisp.org>
8614
8615         acl: Fix a test failure on newer Solaris 10 with ZFS.
8616         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
8617         ENOSYS as no ACL.
8618         Reported by Jim Meyering.
8619
8620 2011-09-06  Bruno Haible  <bruno@clisp.org>
8621
8622         acl: Update for AIX >= 5.3 with NFS.
8623         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
8624         ENOSYS as no ACL.
8625
8626         acl: Fix a test failure on AIX >= 5.3 with NFS.
8627         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
8628         as no ACL.
8629
8630 2011-09-06  Bruno Haible  <bruno@clisp.org>
8631
8632         acl: Fix a test failure on IRIX 6.5 with NFS.
8633         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
8634         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
8635         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
8636         * lib/copy-acl.c (qcopy_acl): Likewise.
8637
8638 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
8639
8640         openat: port to AIX 7.1 with large files
8641         AIX 7.1 does a "#define openat open64at" if large files are in use,
8642         so we can't simply #undef openat.  Use the orig_openat trick (similar
8643         to orig_open in lib/open.c) to work around the problem.  Problem
8644         reported by Kevin Brott for GNU tar, in the thread containing
8645         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
8646         * lib/openat.c (__need_system_fcntl_h): Define first.
8647         Include <fcntl.h> and <sys/types.h> before undefining.
8648         (orig_openat) [HAVE_OPENAT]: New inline function.
8649         (openat) [HAVE_OPENAT]: Do not undef.
8650         (rpl_openat): Use orig_openat, not openat.
8651
8652 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8653             Bruno Haible  <bruno@clisp.org>
8654
8655         acl: Avoid errors on NonStop Kernel.
8656         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
8657         ENOTSUP errors.
8658
8659 2011-09-05  Bruno Haible  <bruno@clisp.org>
8660
8661         acl: Clean up Solaris code.
8662         * lib/acl-internal.h: Remove no-op #if.
8663         * lib/file-has-acl.c: Likewise.
8664         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
8665         * lib/copy-acl.c (qcopy_acl): Likewise.
8666
8667 2011-09-05  Bruno Haible  <bruno@clisp.org>
8668
8669         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
8670         binaries built on the original Solaris 10.
8671         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
8672         trivial.
8673
8674 2011-09-05  Bruno Haible  <bruno@clisp.org>
8675
8676         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8677         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
8678         10.
8679         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
8680         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
8681         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
8682         instead of acl_get, facl_get, acl_set, facl_set.
8683
8684 2011-09-05  Bruno Haible  <bruno@clisp.org>
8685
8686         copy-file: Try unit tests on more file systems.
8687         * tests/test-copy-file-1.sh: New file.
8688         * tests/test-copy-file-2.sh: New file.
8689         * modules/copy-file-tests (Files): Add them.
8690         (Makefile.am): Add them to TESTS.
8691
8692         acl: Try unit tests on more file systems.
8693         * tests/test-file-has-acl-1.sh: New file.
8694         * tests/test-file-has-acl-2.sh: New file.
8695         * tests/test-set-mode-acl-1.sh: New file.
8696         * tests/test-set-mode-acl-2.sh: New file.
8697         * tests/test-copy-acl-1.sh: New file.
8698         * tests/test-copy-acl-2.sh: New file.
8699         * modules/acl-tests (Files): Add them.
8700         (Makefile.am): Add them to TESTS.
8701
8702 2011-09-04  Bruno Haible  <bruno@clisp.org>
8703
8704         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8705         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
8706         10.
8707         (OLD_ALLOW, OLD_DENY): New macros.
8708         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
8709         ACE_ACCESS_ALLOWED_ACE_TYPE.
8710         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
8711         ACE_ACCESS_DENIED_ACE_TYPE.
8712         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
8713         (NEW_ACE_EXECUTE): Fix value.
8714         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
8715         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
8716         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
8717         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
8718         NEW_ACE_SYNCHRONIZE): New macros.
8719         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
8720         instead of acl_fromtext, acl_set, facl_set.
8721         Fixes a coreutils/tests/cp/perm failure.
8722
8723 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
8724
8725         openat: test for fstatat (..., 0) bug
8726         Further testing with tar suggests that fstatat (..., 0)
8727         does not work in general, on AIX 7.1; see
8728         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
8729         So, give up entirely on AIX 7.1's fstatat, and fall back on our
8730         replacement fstatat (which is what older AIX releases were using
8731         anyway).
8732         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
8733         use is now changed to orig_fstatat.  This was probably the right
8734         thing to do anyway.
8735         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
8736         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
8737         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
8738         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
8739         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
8740         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
8741         if the bug is found.
8742
8743         openat: test for fstatat (AT_FDCWD, ..., 0) bug
8744         This tests for another fstatat bug on AIX 7.1:
8745         fstatat (AT_FDCWD, ..., 0) does not work.  See
8746         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
8747         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
8748         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
8749         (rpl_fstatat): Adjust so that it works around either (or both)
8750         bugs if present.
8751         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
8752
8753 2011-09-03  Karl Berry  <karl@gnu.org>
8754
8755         * doc/regex.texi (Character Class Operators): Avoid literal ":"
8756         in index entries.
8757
8758 2011-09-02  Bruno Haible  <bruno@clisp.org>
8759
8760         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
8761         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
8762         values of AR, ARFLAGS, RANLIB.
8763         Reported by John W. Eaton <jwe@gnu.org> for Octave.
8764
8765 2011-09-02  Bruno Haible  <bruno@clisp.org>
8766
8767         Find 'ar' program that fits with --host argument.
8768         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
8769
8770 2011-09-02  Bruno Haible  <bruno@clisp.org>
8771
8772         tests: init.sh: Support any non-GNU diff.
8773         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
8774         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
8775         Solaris 8.
8776
8777 2011-09-02  Bruno Haible  <bruno@clisp.org>
8778
8779         tests: init.sh: work also with any non-GNU diff that supports -u
8780         * tests/init.sh: Relax check for diff -u support.
8781         Rather than checking for GNU diff via --version, simply check
8782         for support for -u itself.  Useful at least on OpenBSD 4.9,
8783         AIX 7.1, IRIX 6.5, and Solaris 10.
8784
8785 2011-09-01  Bruno Haible  <bruno@clisp.org>
8786
8787         strtoimax, strtoumax: Document problem on HP-UX 11.
8788         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
8789         * doc/posix-functions/strtoumax.texi: Likewise.
8790
8791 2011-09-01  Bruno Haible  <bruno@clisp.org>
8792
8793         strtoumax: Avoid link error on OSF/1 with DTK cc.
8794         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
8795         defined as a function.
8796         * modules/strtoumax (Depends-on, configure.ac): Test only whether
8797         strtoumax is defined, not whether it is declared.
8798
8799 2011-09-01  Bruno Haible  <bruno@clisp.org>
8800
8801         strtoimax: Avoid link error on OSF/1 with DTK cc.
8802         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
8803         defined as a function.
8804         * modules/strtoimax (Depends-on, configure.ac): Test only whether
8805         strtoimax is defined, not whether it is declared.
8806
8807 2011-09-01  Bruno Haible  <bruno@clisp.org>
8808
8809         imaxdiv: Avoid link error on OSF/1 with DTK cc.
8810         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
8811         as a function.
8812         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
8813         whether it is declared.
8814
8815 2011-09-01  Bruno Haible  <bruno@clisp.org>
8816
8817         imaxabs: Avoid link error on OSF/1 with DTK cc.
8818         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
8819         as a function.
8820         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
8821         whether it is declared.
8822
8823 2011-09-01  Bruno Haible  <bruno@clisp.org>
8824
8825         Tests for module 'strtoumax'.
8826         * modules/strtoumax-tests: New file.
8827         * tests/test-strtoumax.c: New file.
8828
8829         Tests for module 'strtoimax'.
8830         * modules/strtoimax-tests: New file.
8831         * tests/test-strtoimax.c: New file.
8832
8833         Tests for module 'imaxdiv'.
8834         * modules/imaxdiv-tests: New file.
8835         * tests/test-imaxdiv.c: New file.
8836
8837         Tests for module 'imaxabs'.
8838         * modules/imaxabs-tests: New file.
8839         * tests/test-imaxabs.c: New file.
8840
8841 2011-09-01  Bruno Haible  <bruno@clisp.org>
8842
8843         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
8844         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
8845         pthread_create.
8846
8847 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8848
8849         openat: work around AIX 7.1 fstatat issue
8850         This should fix the problem that was not properly fixed
8851         in the previous change, dated 2011-08-30.
8852         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
8853         __need_system_stat_h defined.
8854         (orig_fstatat) [HAVE_FSTATAT]: New function.
8855         (rpl_fstatat): Go back to the old way of doing things,
8856         except call orig_fstatat instead of fstatat.
8857         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
8858         Remove unnecessary check whether fstatat fills in st_size etc.
8859
8860 2011-09-01  Bruno Haible  <bruno@clisp.org>
8861
8862         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
8863         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
8864         just include the system's header.
8865
8866 2011-08-31  Jim Meyering  <meyering@redhat.com>
8867
8868         tests: avoid spurious assertion failure in test-float.c on ppc64
8869         * tests/test-float.c (test_long_double): Comment out an assertion,
8870         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
8871         with gcc-4.4.4.
8872
8873         maint: indent with spaces, not TABs
8874         I need to get in the habit of running gnulib's "make check".
8875         Both of these would have been caught.
8876         * m4/largefile.m4: Indent with spaces, not TABs.
8877         * lib/parse-datetime.y (iso_8601_time): Likewise.
8878         Spotted by Pádraig Brady.
8879
8880         test-parse-datetime.c: accommodate a relatively strict gcc warning
8881         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
8882         to avoid a warning from gcc's -Werror=missing-declarations.
8883         Insert a few spaces-before-funcall-parenthesis.
8884
8885 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
8886
8887         parse-datetime: accept ISO 8601 date and time rep with "T" separator
8888         The parser now accepts ISO 8601 date-time strings with "T" as the
8889         separator.  It has long parsed dates like "2004-02-29 16:21:42"
8890         with a space between the date and time strings.  Now it also parses
8891         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
8892         variants like "2004-02-29T16:21:42.333-07:00"
8893         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
8894         of day representation using the 'T' separator character.
8895         * doc/parse-datetime.texi (General date syntax): replace use of
8896         deprecated --iso-8601 option with --rfc-3339 in example of date
8897         command output formats that can be parsed.
8898         * tests/test-parse-datetime.c (tm_diff): New function, taken from
8899         lib/parse-datetime.y.
8900         (gmt_offset): New function.
8901         (main): Add additional test cases to validate ISO8601 extended
8902         date and time of day parsing.
8903
8904 2011-08-31  Bruno Haible  <bruno@clisp.org>
8905
8906         freopen: Documentation.
8907         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
8908         name.
8909         Reported by Claudio Bley <claudio.bley@gmail.com>.
8910
8911 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
8912
8913         freopen: Don't crash if the filename argument is NULL.
8914         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
8915         NULL.
8916
8917 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8918
8919         openat: work around AIX 7.1 fstatat bug
8920         Problem reported by Kevin Brott for GNU tar, in the thread containing
8921         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
8922         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
8923         FSTATAT_ST_SIZE_ETC_BROKEN.
8924         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
8925         rpl_fstatat.
8926         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
8927         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
8928         AC_CHECK_FUNCS_ONCE for fstatat.
8929         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
8930         fchmodat, mkdirat, openat and unlinkat.
8931
8932 2011-08-30  Bruno Haible  <bruno@clisp.org>
8933
8934         Avoid endless recursions if config.h includes some header files.
8935         * lib/fopen.c (__need_FILE): Define already before including config.h.
8936         * lib/freopen.c (__need_FILE): Likewise.
8937         * lib/open.c (__need_system_fcntl_h): Likewise.
8938         * lib/stat.c (__need_system_sys_stat_h): Likewise.
8939         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
8940         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8941
8942 2011-08-25  Karl Berry  <karl@gnu.org>
8943
8944         * config/srclist.txt (ylwrap): new try.
8945         * build-aux/ylwrap: new file.
8946
8947 2011-08-23  Bruno Haible  <bruno@clisp.org>
8948
8949         tmpdir: Use a good default directory on native Windows.
8950         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
8951         (P_tmpdir): Default to _P_tmpdir on native Windows.
8952         (path_search): On native Windows, try the value returned by GetTempPath
8953         before trying P_tmpdir.
8954         * modules/tmpdir (Depends-on): Add pathmax.
8955         Suggested by John Darrington <john@darrington.wattle.id.au>.
8956
8957 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
8958
8959         doc: fix typo in README-release
8960         * top/README-release: Capitalize first word of a sentence.
8961
8962 2011-08-19  Jim Meyering  <meyering@redhat.com>
8963
8964         fts: do not exhaust memory when processing million-entry directories
8965         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
8966         directory would require about 256*N bytes of memory.  Thus, it was
8967         easy to construct a directory too large to be processed by any of
8968         those tools.  With this change, fts' maximum memory utilization is
8969         now limited to around 30MB.
8970         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
8971         (fts_read): When we've processed the final entry (i.e., when
8972         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
8973         using the parent entry to read any remaining entries.  Dispatch
8974         depending on what fts_build returns:
8975         - NULL+stop, aka failure: stop
8976         - NULL otherwise: move up in the dir hierarchy
8977         - non-NULL: handle this new entry
8978         (fts_build): Declare and use new local, continue_readdir.
8979         Prepare to be called from fts_read, when the entries
8980         from a partially-read directory have just been exhausted.
8981         In that case, we'll skip the opendir and instead use the parent's
8982         fts_dirp and derive dir_fd from that.
8983         Finally, in the readdir loop, if we read max_entries entries,
8984         exit the loop ensuring *not* to call closedir.  This is required
8985         so that fts_dirp can be reused on a subsequent call.
8986         Prompted by Ben England's report of memory exhaustion in find
8987         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
8988
8989         maint: fts: move decl of `dp' down into while loop; split a long line
8990         * lib/fts.c (fts_build): No semantic change.
8991
8992         fts: add/use new struct member, fts_dirp
8993         We are about to use this to manage any directory with
8994         too many entries to read all of them into memory at once.
8995         To do that, we'll need to save the DIR* pointer in each
8996         affected FTSENT struct.
8997         * lib/fts_.h: Include <dirent.h>.
8998         (struct FTSENT) [fts_dirp]: New member.
8999         * lib/fts.c (closedir_and_clear): Define.
9000         Use it in place of closedir so that we are sure to
9001         clear the new fts_dirp member when done with it.
9002         (fts_alloc): Initialize the new member.
9003         (fts_lfree): Free, if needed.
9004
9005         maint: fts: give __opendir2 a new parameter and rename
9006         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
9007         than surreptitiously using sole caller's "dir_fd".
9008         (fts_opendir): Rename from __opendir2.
9009
9010         maint: fts.c: remove __opendir2's now-unused parameter, oflag
9011         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
9012
9013         maint: fts.c: correct off-by-one indentation
9014         * lib/fts.c (fts_build): Correct indentation, change style
9015         of a couple of block comments, and bracing style.
9016
9017         maint: fts.c: move __opendir2 #define "up" out of function body
9018         * lib/fts.c (__opendir2): Move "up".  No semantic change.
9019
9020         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
9021         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
9022         out for a long time and besides was useful only on BSD systems.
9023
9024 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
9025
9026         regex: port to Stratus OpenVOS
9027         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
9028         define to empty, rather than attempting nonportable optimizations.
9029         Problem reported by Paul Green in:
9030         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
9031         and fix suggested by Eric Blake in:
9032         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
9033
9034 2011-08-17  Eric Blake  <eblake@redhat.com>
9035
9036         getcwd: fix test failures on mingw
9037         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
9038         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
9039         test if long directory cannot be created, and allow mingw errno.
9040
9041         getcwd-lgpl: fix m4 to match relaxed test for BSD
9042         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
9043         (gl_FUNC_GETCWD_SIGNATURE): New macro.
9044         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
9045         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
9046         signature problem.
9047
9048         getcwd: fix compilation on mingw64
9049         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
9050         getcwd.
9051         Reported by Marc-André Lureau.
9052
9053         pipe2: silence compiler warning
9054         * lib/pipe2.c (pipe2): Hide label if it is not used.
9055
9056 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
9057
9058         relocatable-prog: fix link error
9059         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
9060         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
9061         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
9062         into modules/relocatable-lib without noticing that
9063         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
9064         also needs to build relocatable.c.
9065
9066 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
9067
9068         getaddrinfo: fix sh typo in gai_strerrorA decl checking
9069         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
9070         shell code: it contained a 'break' that was not in a loop.
9071         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
9072         via a shell-language loop; this may have been true in old Autoconf
9073         versions, but it's not true in Autoconf 2.68.  I found this bug
9074         when testing coreutils git on Solaris 8, whose shell complains
9075         about the syntax error.
9076
9077 2011-08-12  Simon Josefsson  <simon@josefsson.org>
9078
9079         * lib/base64.c: Fix comment to reference RFC 4648.
9080         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
9081         <gvtulder@gmail.com>.
9082
9083 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
9084
9085         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
9086
9087         po/Makefile.in.in: fix make -q problem
9088         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
9089         rule, since there's no file named 'check-macro-version' and its
9090         use as a file breaks make -q.
9091         (all): Don't depend on check-macro-version.
9092         (CHECK_MACRO_VERSION): New macro.
9093         (stamp-po): Use it.
9094
9095         configmake: fix make -q problem
9096         * modules/configmake (configmake.h): Update configmake.h's time stamp
9097         even if the file does not change.  Otherwise, 'make -q' fails.
9098         Problem reported by Simon Josefsson in
9099         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
9100
9101 2011-08-11  Jim Meyering  <meyering@redhat.com>
9102
9103         git-version-gen: correct the advice in a comment
9104         * build-aux/git-version-gen: Correct comment.
9105         Don't recommend to list .tarball-version in .gitignore.
9106
9107 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9108
9109         base64: fix off-by-one buffer size bug
9110         Problem and (trivial) fix reported by Gijs van Tulder in
9111         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
9112         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
9113         * tests/test-base64.c (main): Catch the bug.
9114
9115 2011-08-10  Eric Blake  <eblake@redhat.com>
9116
9117         closein: correct comments
9118         * lib/closein.c (close_stdin): Improve comments.
9119
9120 2011-08-09  Bruno Haible  <bruno@clisp.org>
9121
9122         More tests for 'fseeko'.
9123         * tests/test-fseeko3.c: New file, from Eric Blake.
9124         * tests/test-fseeko3.sh: New file.
9125         * modules/fseeko-tests (Files): Add them.
9126         (TESTS): Add test-fseeko3.sh.
9127         (check_PROGRAMS): Add test-fseeko3.
9128
9129 2011-08-09  Eric Blake  <eblake@redhat.com>
9130
9131         fseeko: remove unneeded hack
9132         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
9133
9134         fseeko: fix bug on glibc
9135         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
9136         Reported by John W. Eaton.
9137
9138 2011-08-08  Bruno Haible  <bruno@clisp.org>
9139
9140         unictype/base: Fix interoperability with preinstalled libunistring.
9141         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
9142         Reported by Simon Josefsson.
9143
9144 2011-08-08  Bruno Haible  <bruno@clisp.org>
9145
9146         iswblank: Detect declaration correctly.
9147         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
9148         AC_CHECK_DECLS invocation.
9149
9150 2011-08-08  Bruno Haible  <bruno@clisp.org>
9151
9152         tcgetsid: Detect declaration correctly.
9153         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
9154         AC_CHECK_DECLS invocation.
9155         Reported by Simon Josefsson.
9156
9157 2011-08-08  Eric Blake  <eblake@redhat.com>
9158
9159         largefile: fix typo that regressed large file support
9160         * modules/largefile (configure.ac-early): Fix section name.
9161
9162 2011-08-06  Karl Berry  <karl@gnu.org>
9163
9164         * MODULES.html.sh (func_all_files): _Noreturn is no longer
9165         a separate module.
9166
9167 2011-08-05  Simon Josefsson  <simon@josefsson.org>
9168
9169         openat: Fix warnings and commens when building unlinkat.c on Hurd.
9170         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
9171         get prototype for free.
9172
9173 2011-08-04  Bruno Haible  <bruno@clisp.org>
9174
9175         Tests for module 'pathmax'.
9176         * modules/pathmax-tests: New file.
9177         * tests/test-pathmax.c: New file.
9178
9179         canonicalize-lgpl: Support larger filenames on the Hurd.
9180         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
9181         Reported by Paul Eggert.
9182
9183         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
9184         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
9185         * lib/chdir-long.h: Include pathmax.h.
9186         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
9187         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
9188         (PATH_MAX): Remove code that is done by pathmax.h.
9189         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
9190         * lib/tmpfile.c: Add a comment.
9191         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
9192         * modules/chdir-long (Depends-on): Add pathmax.
9193         * modules/getcwd (Depends-on): Add pathmax.
9194         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
9195         is not defined.
9196         * doc/posix-headers/limits.texi: Mention the pathmax module.
9197         * NEWS: Mention the change.
9198
9199 2011-08-02  Bruno Haible  <bruno@clisp.org>
9200
9201         pthread_sigmask: Actually use results of gl_THREADLIB.
9202         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
9203         gl_THREADLIB, not gl_[]THREADLIB.
9204         Reported by Eric Blake.
9205
9206 2011-08-02  Jim Meyering  <meyering@redhat.com>
9207
9208         maint.mk: relax the default _gl_TS_function_match regexp
9209         * top/maint.mk (_gl_TS_function_match): Don't require at least one
9210         space between function name and "(" in an "extern" declaration.
9211         That would fail to match a decl with no space there: extern void foo();
9212
9213 2011-07-31  Iain Nicol  <iain@thenicols.net>
9214
9215         git-version-gen: document that EXTRA_DIST must include .version
9216         * build-aux/git-version-gen: In the how-to-use comment, document
9217         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
9218         will fail when run from an unpacked distribution tarball.
9219
9220 2011-08-01  Bruno Haible  <bruno@clisp.org>
9221
9222         wctype-h: Fix last change.
9223         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
9224         REPLACE_TOWLOWER to 0.
9225         Reported by Sam Steingold <sds@gnu.org>.
9226
9227 2011-07-31  Bruno Haible  <bruno@clisp.org>
9228
9229         frexpl: Update autoconf test.
9230         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
9231         according to changes of 2011-06-20.
9232
9233 2011-07-31  Bruno Haible  <bruno@clisp.org>
9234
9235         sys_utsname: Add support for Minix.
9236         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
9237         <sys/utsname.h>.
9238         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
9239         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
9240
9241 2011-07-31  Bruno Haible  <bruno@clisp.org>
9242
9243         strings: Add support for Minix.
9244         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
9245         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
9246         * doc/posix-headers/strings.texi: Document the Minix problem.
9247
9248 2011-07-31  Bruno Haible  <bruno@clisp.org>
9249
9250         wctype-h: Add support for Minix.
9251         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
9252         REPLACE_TOWLOWER.
9253         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
9254         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
9255         REPLACE_ISWCNTRL.
9256
9257 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
9258
9259         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
9260         This is a performance improvement for 64-bit hosts: it causes the
9261         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
9262
9263 2011-07-31  Bruno Haible  <bruno@clisp.org>
9264
9265         stdioext: Add support for Minix.
9266         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
9267         * lib/fpurge.c (fpurge): Likewise.
9268         * lib/freadahead.c (freadahead): Likewise.
9269         * lib/freadable.c (freadable): Likewise.
9270         * lib/freading.c (freading): Likewise.
9271         * lib/freadptr.c (freadptr): Likewise.
9272         * lib/freadseek.c (freadptrinc): Likewise.
9273         * lib/fseeko.c (rpl_fseeko): Likewise.
9274         * lib/fseterr.c (fseterr): Likewise.
9275         * lib/fwritable.c (fwritable): Likewise.
9276         * lib/fwriting.c (fwriting): Likewise.
9277         * lib/fflush.c (clear_ungetc_buffer): Update comment.
9278         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
9279
9280 2011-07-31  Bruno Haible  <bruno@clisp.org>
9281
9282         errno: Port to Minix.
9283         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
9284         ECONNABORTED are defined.
9285         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
9286         GNULIB_defined_ECONNABORTED): New macros.
9287         * lib/strerror-override.h (strerror_override): Test also
9288         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
9289         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
9290         ECONNABORTED.
9291         * doc/posix-headers/errno.texi: Mention the Minix problem.
9292
9293 2011-07-31  Bruno Haible  <bruno@clisp.org>
9294
9295         Work around declaration collisions on Minix.
9296         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
9297         defined, set REPLACE_MBSINIT.
9298         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
9299         defined, set REPLACE_MBRTOWC.
9300         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
9301         set REPLACE_MBRLEN.
9302         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
9303         defined, set REPLACE_MBSRTOWCS.
9304         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
9305         defined, set REPLACE_WCRTOMB.
9306         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
9307         defined, set REPLACE_WCSRTOMBS.
9308
9309 2011-07-31  Bruno Haible  <bruno@clisp.org>
9310
9311         Add support for Minix with ACK compiler.
9312         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
9313         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
9314         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
9315
9316 2011-07-31  Bruno Haible  <bruno@clisp.org>
9317
9318         Documentation about Minix.
9319         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
9320         * doc/glibc-headers/*.texi: Likewise.
9321         * doc/posix-functions/*.texi: Likewise.
9322         * doc/glibc-functions/*.texi: Likewise.
9323
9324 2011-07-31  Bruno Haible  <bruno@clisp.org>
9325
9326         snippet/warn-on-use: Fix indentation.
9327         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
9328
9329 2011-07-25  Jim Meyering  <meyering@redhat.com>
9330
9331         tests: test-update-copyright.sh: remove unnecessary "rm" commands
9332         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
9333         commands.
9334
9335 2011-07-27  Jim Meyering  <meyering@redhat.com>
9336
9337         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
9338         * top/maint.mk (gl_extract_significant_defines_): Now that
9339         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
9340         gnulib/lib/signal.in.h, and now that we recommend to
9341         define-if-undefined those two symbols in application code,
9342         we must filter them out of the "significant" list.
9343         This avoids a "make syntax-check" failure in coreutils.
9344
9345 2011-07-26  Eric Blake  <eblake@redhat.com>
9346
9347         warnings: add comments about previous patch
9348         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
9349         * m4/include_next.m4: Likewise.
9350         * m4/warn-on-use.m4: Likewise.
9351         * m4/warnings.m4: Likewise, and simplify use.
9352         Suggested by Stefano Lattarini.
9353
9354         include-next, warnings: support older autoconf
9355         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
9356         AS_VAR_PUSHDEF in a way that works with older autoconf.
9357         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
9358         Reported by Daniel P. Berrange.
9359
9360 2011-07-25  Bruno Haible  <bruno@clisp.org>
9361
9362         fseek, ftell: Fix doc.
9363         * doc/posix-functions/fseek.texi: Reword statement about
9364         AC_SYS_LARGEFILE.
9365         * doc/posix-functions/ftell.texi: Likewise.
9366
9367 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9368             Bruno Haible  <bruno@clisp.org>
9369
9370         Add dependencies to the 'largefile' module.
9371         * modules/fopen (Depends-on): Add 'largefile'.
9372         * modules/freopen (Depends-on): Likewise.
9373         * modules/fseeko (Depends-on): Likewise.
9374         * modules/ftello (Depends-on): Likewise.
9375         * modules/glob (Depends-on): Likewise.
9376         * modules/lseek (Depends-on): Likewise.
9377         * modules/lstat (Depends-on): Likewise.
9378         * modules/mkostemp (Depends-on): Likewise.
9379         * modules/mkostemps (Depends-on): Likewise.
9380         * modules/mkstemp (Depends-on): Likewise.
9381         * modules/mkstemps (Depends-on): Likewise.
9382         * modules/open (Depends-on): Likewise.
9383         * modules/openat (Depends-on): Likewise.
9384         * modules/pread (Depends-on): Likewise.
9385         * modules/pwrite (Depends-on): Likewise.
9386         * modules/scandir (Depends-on): Likewise.
9387         * modules/stat (Depends-on): Likewise.
9388         * modules/tmpfile (Depends-on): Likewise.
9389         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
9390         since the containing module now depends on the largefile module.
9391         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
9392         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
9393         off_t is fixed by gnulib.
9394         * doc/posix-functions/freopen.texi: Likewise.
9395         * doc/posix-functions/fseeko.texi: Likewise.
9396         * doc/posix-functions/fstatat.texi: Likewise.
9397         * doc/posix-functions/ftello.texi: Likewise.
9398         * doc/posix-functions/glob.texi: Likewise.
9399         * doc/posix-functions/lseek.texi: Likewise.
9400         * doc/posix-functions/lstat.texi: Likewise.
9401         * doc/posix-functions/mkstemp.texi: Likewise.
9402         * doc/posix-functions/open.texi: Likewise.
9403         * doc/posix-functions/openat.texi: Likewise.
9404         * doc/posix-functions/pread.texi: Likewise.
9405         * doc/posix-functions/pwrite.texi: Likewise.
9406         * doc/posix-functions/scandir.texi: Likewise.
9407         * doc/posix-functions/stat.texi: Likewise.
9408         * doc/posix-functions/tmpfile.texi: Likewise.
9409         * doc/glibc-functions/mkostemp.texi: Likewise.
9410         * doc/glibc-functions/mkostemps.texi: Likewise.
9411         * doc/glibc-functions/mkstemps.texi: Likewise.
9412
9413 2011-07-25  Bruno Haible  <bruno@clisp.org>
9414
9415         fcntl: Move AC_LIBOBJ invocation to module description.
9416         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
9417         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
9418
9419         fcntl: Remove call-in from fchdir.m4.
9420         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
9421         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
9422
9423         dup3: Remove potential call-in from fchdir.m4.
9424         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
9425         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
9426
9427         dup2: Move AC_LIBOBJ invocation to module description.
9428         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
9429         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
9430         Don't invoke AC_LIBOBJ.
9431         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
9432
9433         dup2: Remove call-in from fchdir.m4.
9434         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
9435         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
9436
9437         fclose: Move AC_LIBOBJ invocation to module description.
9438         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
9439         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
9440         to 1.
9441         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
9442
9443         fclose: Remove call-in from close.m4.
9444         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
9445         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
9446
9447         close: Move AC_LIBOBJ invocation to module description.
9448         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
9449         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
9450         1.
9451         * modules/close (configure.ac): Invoke AC_LIBOBJ.
9452
9453         close: Remove call-in from fchdir.m4.
9454         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
9455         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
9456
9457         open: Move AC_LIBOBJ invocation to module description.
9458         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
9459         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
9460         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
9461
9462         open: Remove call-in from fchdir.m4.
9463         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
9464         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
9465
9466         fchdir: Start to remove gl_REPLACE_* idiom.
9467         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
9468         (gl_FUNC_FCHDIR): Invoke it.
9469
9470 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9471
9472         * lib/ftell.c (ftell): Comment out cast.
9473
9474         close: use gl_REPLACE_FCLOSE only if defined
9475         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
9476         is defined.  The close module doesn't depend on the fclose module
9477         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
9478         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
9479         I reproduced the problem with "./gnulib-tool --test close sys_socket".
9480
9481 2011-07-24  Jim Meyering  <meyering@redhat.com>
9482
9483         test-select.h: avoid warning when using gcc's -Wmissing-declarations
9484         * tests/test-select.h (test_function): Declare as "static".
9485
9486 2011-07-24  Bruno Haible  <bruno@clisp.org>
9487
9488         doc: Mention the effects of AC_SYS_LARGEFILE.
9489         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
9490         on this function.
9491         * doc/posix-functions/aio_error.texi: Likewise.
9492         * doc/posix-functions/aio_fsync.texi: Likewise.
9493         * doc/posix-functions/aio_read.texi: Likewise.
9494         * doc/posix-functions/aio_return.texi: Likewise.
9495         * doc/posix-functions/aio_suspend.texi: Likewise.
9496         * doc/posix-functions/aio_write.texi: Likewise.
9497         * doc/posix-functions/fgetpos.texi: Likewise.
9498         * doc/posix-functions/fopen.texi: Likewise.
9499         * doc/posix-functions/freopen.texi: Likewise.
9500         * doc/posix-functions/fsetpos.texi: Likewise.
9501         * doc/posix-functions/fstatvfs.texi: Likewise.
9502         * doc/posix-functions/ftruncate.texi: Likewise.
9503         * doc/posix-functions/ftw.texi: Likewise.
9504         * doc/posix-functions/getrlimit.texi: Likewise.
9505         * doc/posix-functions/glob.texi: Likewise.
9506         * doc/posix-functions/lio_listio.texi: Likewise.
9507         * doc/posix-functions/lockf.texi: Likewise.
9508         * doc/posix-functions/mkstemp.texi: Likewise.
9509         * doc/posix-functions/mmap.texi: Likewise.
9510         * doc/posix-functions/nftw.texi: Likewise.
9511         * doc/posix-functions/openat.texi: Likewise.
9512         * doc/posix-functions/opendir.texi: Likewise.
9513         * doc/posix-functions/posix_fadvise.texi: Likewise.
9514         * doc/posix-functions/posix_fallocate.texi: Likewise.
9515         * doc/posix-functions/pread.texi: Likewise.
9516         * doc/posix-functions/pwrite.texi: Likewise.
9517         * doc/posix-functions/readdir.texi: Likewise.
9518         * doc/posix-functions/readdir_r.texi: Likewise.
9519         * doc/posix-functions/rewinddir.texi: Likewise.
9520         * doc/posix-functions/scandir.texi: Likewise.
9521         * doc/posix-functions/seekdir.texi: Likewise.
9522         * doc/posix-functions/setrlimit.texi: Likewise.
9523         * doc/posix-functions/statvfs.texi: Likewise.
9524         * doc/posix-functions/telldir.texi: Likewise.
9525         * doc/posix-functions/tmpfile.texi: Likewise.
9526         * doc/posix-functions/truncate.texi: Likewise.
9527         * doc/glibc-functions/fallocate.texi: Likewise.
9528         * doc/glibc-functions/fstatfs.texi: Likewise.
9529         * doc/glibc-functions/fts_children.texi: Likewise.
9530         * doc/glibc-functions/fts_read.texi: Likewise.
9531         * doc/glibc-functions/getdirentries.texi: Likewise.
9532         * doc/glibc-functions/mkostemp.texi: Likewise.
9533         * doc/glibc-functions/mkostemps.texi: Likewise.
9534         * doc/glibc-functions/mkstemps.texi: Likewise.
9535         * doc/glibc-functions/preadv.texi: Likewise.
9536         * doc/glibc-functions/pwritev.texi: Likewise.
9537         * doc/glibc-functions/sendfile.texi: Likewise.
9538         * doc/glibc-functions/statfs.texi: Likewise.
9539
9540 2011-07-24  Bruno Haible  <bruno@clisp.org>
9541
9542         doc: Fix typo.
9543         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
9544
9545 2011-07-24  Bruno Haible  <bruno@clisp.org>
9546
9547         doc: Mention fsusage.
9548         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
9549
9550 2011-07-24  Bruno Haible  <bruno@clisp.org>
9551
9552         doc: Mention new glibc headers and functions.
9553         * doc/glibc-headers/gshadow.texi: New file.
9554         * doc/glibc-functions/endsgent.texi: New file.
9555         * doc/glibc-functions/fgetsgent.texi: New file.
9556         * doc/glibc-functions/fgetsgent_r.texi: New file.
9557         * doc/glibc-functions/getsgent.texi: New file.
9558         * doc/glibc-functions/getsgent_r.texi: New file.
9559         * doc/glibc-functions/getsgnam.texi: New file.
9560         * doc/glibc-functions/getsgnam_r.texi: New file.
9561         * doc/glibc-functions/putsgent.texi: New file.
9562         * doc/glibc-functions/setsgent.texi: New file.
9563         * doc/glibc-functions/sgetsgent.texi: New file.
9564         * doc/glibc-functions/sgetsgent_r.texi: New file.
9565         * doc/glibc-functions/malloc_info.texi: New file.
9566         * doc/glibc-functions/preadv.texi: New file.
9567         * doc/glibc-functions/pwritev.texi: New file.
9568         * doc/glibc-functions/register_printf_modifier.texi: New file.
9569         * doc/glibc-functions/register_printf_specifier.texi: New file.
9570         * doc/glibc-functions/register_printf_type.texi: New file.
9571         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
9572         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
9573         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
9574         * doc/glibc-functions/pthread_getname_np.texi: New file.
9575         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
9576         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
9577         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
9578         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
9579         * doc/glibc-functions/pthread_setname_np.texi: New file.
9580         * doc/glibc-functions/pthread_sigqueue.texi: New file.
9581         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
9582         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
9583         * doc/glibc-functions/qsort_r.texi: New file.
9584         * doc/glibc-functions/quick_exit.texi: New file.
9585         * doc/glibc-functions/syncfs.texi: New file.
9586         * doc/gnulib.texi: Include them.
9587         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
9588         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
9589         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
9590         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
9591         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
9592         * doc/glibc-functions/execvpe.texi: Likewise.
9593
9594 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9595
9596         ftell: don't include <unistd.h>
9597         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
9598         guaranteed to define off_t, and the ftell module depends on the
9599         stdio module.
9600
9601         ftell: do not assume wraparound signed arithmetic
9602         * lib/ftell.c: Include <limits.h>.
9603         (ftell): Don't assume wraparound signed arithmetic.
9604
9605 2011-07-24  Bruno Haible  <bruno@clisp.org>
9606
9607         close: No longer depend on module 'fclose'.
9608         * modules/close (Depends-on): Remove fclose.
9609         * NEWS: Mention the change.
9610         Suggested by Sam Steingold <sds@gnu.org>.
9611
9612 2011-07-24  Bruno Haible  <bruno@clisp.org>
9613
9614         fsusage: Enable large volume support on AIX >= 5.2.
9615         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
9616         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
9617         instead of STAT_STATVFS.
9618         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
9619
9620         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
9621         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
9622         f_blocks field only on MacOS X.
9623
9624         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
9625         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
9626         * modules/fsusage (Depends-on): Add largefile.
9627
9628 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9629
9630         * README: Modernize discussion of signed integers.
9631         Assuming overflow wraparound is no longer safe.
9632         Mention ones' complement and signed magnitude.
9633
9634 2011-07-22  Bruno Haible  <bruno@clisp.org>
9635
9636         select tests, pselect tests: Refactor.
9637         * tests/test-select.h: New file, extracted from tests/test-select.c.
9638         (select_fn): New type.
9639         (test, do_select, do_select_nowait, do_select_wait, test_tty,
9640         test_connect_first, test_accept_first, test_pair, test_socket_pair,
9641         test_pipe): Add my_select argument.
9642         (test_function): Renamed from main. Add my_select argument.
9643         * tests/test-select.c: Move most code to tests/test-select.h. Include
9644         test-select.h.
9645         * modules/select-tests (Files): Add tests/test-select.h.
9646         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
9647         (my_select, main): New functions.
9648         * modules/pselect-tests (Files): Add tests/test-select.h,
9649         tests/macros.h, tests/signature.h.
9650         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
9651         (configure.ac): Check for <sys/wait.h>.
9652
9653 2011-07-22  Bruno Haible  <bruno@clisp.org>
9654
9655         sys_select tests: Check the signature of FD_*.
9656         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
9657         signature tests from here...
9658         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
9659         here.
9660         * modules/sys_select-tests (Files): Add tests/signature.h.
9661
9662 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9663
9664         largefile: new module, replacing large-inode
9665         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
9666         * MODULES.html.sh: Add largefile, remove large-inode.
9667         * modules/largefile, m4/largefile.m4: New files.
9668         * modules/large-inode, m4/large-inode.m4: Remove.
9669
9670         fsusage: port to MacOS X 10.7 with 4 TiB file systems
9671         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
9672         implementations that use only 32 bits to count blocks.
9673         On typical hosts with 1024-byte blocks, this fails with file
9674         systems as small as 4 TiB.  Problem reported by Herb Wartens
9675         <http://debbugs.gnu.org/9140> and this should also fix a similar
9676         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
9677
9678         large-inode: New module
9679         * MODULES.html.sh: Add it.
9680         * modules/large-inode, m4/large-inode.m4: New files.
9681
9682         extensions: Enable extensions on MacOS X 10.5 and later.
9683         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
9684
9685 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
9686
9687         file-has-acl: use acl_extended_file_nofollow if available
9688         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
9689         (acl_extended_file): New macro.
9690         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
9691         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
9692
9693 2011-07-21  Bruno Haible  <bruno@clisp.org>
9694
9695         Declare system functions in a way that works with C++.
9696         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
9697         declare fdopendir as extern "C".
9698         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
9699         declare frexpl as extern "C".
9700         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
9701         declare gai_strerror as extern "C".
9702         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
9703         programs, declare gai_strerror as extern "C".
9704         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
9705         declare getlogin_r as extern "C".
9706         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
9707         as extern "C".
9708         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
9709         declare ldexpl as extern "C".
9710         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
9711         as extern "C".
9712         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
9713         program, declare getmntinfo as extern "C".
9714         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
9715         stpncpy as extern "C".
9716         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
9717         program, declare __xpg_strerror_r as extern "C".
9718         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
9719         strndup as extern "C".
9720         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
9721         declare memset and bzero as extern "C".
9722         Reported by Sam Steingold <sds@gnu.org>.
9723
9724 2011-07-12  Jim Meyering  <meyering@redhat.com>
9725
9726         maint.mk: prohibit inclusion of "verify.h" without use
9727         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
9728
9729 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9730
9731         timer-time: A new module to check for timer_settime()
9732         * m4/timer_time.m4: Check for the posix function.
9733         * modules/timer-time: Add the new module.
9734         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
9735         Mention it.
9736
9737 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
9738             Bruno Haible  <bruno@clisp.org>
9739
9740         pthread_sigmask: assume POSIX threads if --avoid=threadlib
9741         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
9742         not defined, assume POSIX threads and look for pthread_sigmask in
9743         $LIBS, without changing $CPPFLAGS.
9744
9745 2011-07-19  Bruno Haible  <bruno@clisp.org>
9746
9747         strstr: Update cross-compilation guess.
9748         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
9749         CPUs, guess no, in view of glibc
9750         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
9751         Suggested by Eric Blake. Reported by Reuben Thomas.
9752
9753 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9754
9755         getopt-gnu: suppress core dumps from detection code
9756         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
9757         to suppress core dumps that may well occur on glibc systems.
9758         * modules/getopt-gnu: Depend on nocrash.
9759
9760 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
9761
9762         pthread_sigmask: ensure usleep is declared
9763         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
9764         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
9765
9766 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9767
9768         doc: Document NonStop portability issues.
9769         * doc/posix-functions/sigaction.texi (sigaction):
9770         * doc/posix-headers/signal.texi (signal.h):
9771         Document NonStop.  See Joachim Schmitz in
9772         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
9773
9774 2011-07-15  Bruno Haible  <bruno@clisp.org>
9775
9776         ffsl, ffsll: Avoid unportable behaviour.
9777         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
9778
9779 2011-07-15  Bruno Haible  <bruno@clisp.org>
9780
9781         ffs: More tests.
9782         * tests/test-ffs.c (NBITS): New macro.
9783         (main): Add more tests.
9784         * tests/test-ffsl.c (NBITS): New macro.
9785         (main): Add more tests.
9786         * tests/test-ffsll.c (NBITS): New macro.
9787         (main): Add more tests.
9788
9789 2011-07-15  Eric Blake  <eblake@redhat.com>
9790
9791         ffsl, ffsll: new modules
9792         * modules/ffsl: New file.
9793         * modules/ffsll: Likewise.
9794         * m4/ffsl.m4: Likewise.
9795         * m4/ffsll.m4: Likewise.
9796         * lib/ffsl.c: Likewise.
9797         * lib/ffsl.h: Likewise.
9798         * lib/ffsll.c: Likewise.
9799         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
9800         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
9801         * modules/string (Makefile.am): Substitute witnesses.
9802         * lib/strings.in.h (ffsl, ffsll): Declare.
9803         * modules/ffsl-tests: New test file.
9804         * modules/ffsll-tests: Likewise.
9805         * tests/test-ffsl.c: Likewise.
9806         * tests/test-ffsll.c: Likewise.
9807         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9808         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
9809         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
9810
9811         ffs: fix m4 prerequisite
9812         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
9813
9814         ffs: avoid undefined behavior
9815         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
9816         * tests/test-ffs.c (naive, main): Avoid signed shifts.
9817         Reported by Bruno Haible.
9818
9819 2011-07-12  Bruno Haible  <bruno@clisp.org>
9820
9821         pthread_sigmask: Rely on module 'threadlib'.
9822         * modules/pthread_sigmask (Depends-on): Add threadlib.
9823         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
9824         is defined.
9825
9826 2011-07-12  Bruno Haible  <bruno@clisp.org>
9827
9828         regex: Depend on module 'strcase'.
9829         * modules/regex (Depends-on): Add strcase, for strcasecmp().
9830
9831 2011-07-12  Jim Meyering  <meyering@redhat.com>
9832
9833         warn-on-use: fix typo in file name
9834         * modules/snippet/warn-on-use (Files): Correct file name:
9835         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
9836
9837 2011-07-12  Bruno Haible  <bruno@clisp.org>
9838
9839         strings: Document module.
9840         * doc/posix-headers/strings.texi: Mention module 'strings'.
9841
9842 2011-07-12  Bruno Haible  <bruno@clisp.org>
9843
9844         Rename module '_Noreturn' to 'snippet/_Noreturn'.
9845         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
9846         (Files, Makefile.am): Update.
9847         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
9848         * modules/stdlib (Depends-on): Update.
9849
9850 2011-07-12  Bruno Haible  <bruno@clisp.org>
9851
9852         * NEWS: Mention the changes.
9853
9854         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
9855         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
9856         (Files, Makefile.am): Update.
9857         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
9858         * modules/arpa_inet (Depends-on): Update.
9859         * modules/ctype (Depends-on): Update.
9860         * modules/dirent (Depends-on): Update.
9861         * modules/fcntl-h (Depends-on): Update.
9862         * modules/glob (Depends-on): Update.
9863         * modules/iconv-h (Depends-on): Update.
9864         * modules/inttypes-incomplete (Depends-on): Update.
9865         * modules/langinfo (Depends-on): Update.
9866         * modules/locale (Depends-on): Update.
9867         * modules/math (Depends-on): Update.
9868         * modules/netdb (Depends-on): Update.
9869         * modules/poll-h (Depends-on): Update.
9870         * modules/pty (Depends-on): Update.
9871         * modules/search (Depends-on): Update.
9872         * modules/signal (Depends-on): Update.
9873         * modules/spawn (Depends-on): Update.
9874         * modules/stdio (Depends-on): Update.
9875         * modules/stdlib (Depends-on): Update.
9876         * modules/string (Depends-on): Update.
9877         * modules/strings (Depends-on): Update.
9878         * modules/sys_file (Depends-on): Update.
9879         * modules/sys_ioctl (Depends-on): Update.
9880         * modules/sys_select (Depends-on): Update.
9881         * modules/sys_socket (Depends-on): Update.
9882         * modules/sys_stat (Depends-on): Update.
9883         * modules/sys_time (Depends-on): Update.
9884         * modules/sys_times (Depends-on): Update.
9885         * modules/sys_utsname (Depends-on): Update.
9886         * modules/sys_wait (Depends-on): Update.
9887         * modules/termios (Depends-on): Update.
9888         * modules/time (Depends-on): Update.
9889         * modules/unistd (Depends-on): Update.
9890         * modules/wchar (Depends-on): Update.
9891         * modules/wctype-h (Depends-on): Update.
9892         * MODULES.html.sh (Support for building libraries and executables):
9893         Update.
9894
9895         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
9896         * modules/snippet/unused-parameter: Renamed from
9897         modules/unused-parameter.
9898         (Files, Makefile.am): Update.
9899         * build-aux/snippet/unused-parameter.h: Renamed from
9900         build-aux/unused-parameter.h.
9901         * modules/selinux-h (Depends-on): Update.
9902         * modules/unistr/base (Depends-on): Update.
9903         * MODULES.html.sh (Core language properties): Update.
9904
9905         Rename module 'link-warning' to 'snippet/link-warning'.
9906         * modules/snippet/link-warning: Renamed from modules/link-warning.
9907         (Files, Makefile.am): Update.
9908         * build-aux/snippet/link-warning.h: Renamed from
9909         build-aux/link-warning.h.
9910         * MODULES.html.sh (Support for building libraries and executables):
9911         Update.
9912
9913         Rename module 'c++defs' to 'snippet/c++defs'.
9914         * modules/snippet/c++defs: Renamed from modules/c++defs.
9915         (Files, Makefile.am): Update.
9916         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
9917         * modules/arpa_inet (Depends-on): Update.
9918         * modules/ctype (Depends-on): Update.
9919         * modules/dirent (Depends-on): Update.
9920         * modules/fcntl-h (Depends-on): Update.
9921         * modules/glob (Depends-on): Update.
9922         * modules/iconv-h (Depends-on): Update.
9923         * modules/langinfo (Depends-on): Update.
9924         * modules/locale (Depends-on): Update.
9925         * modules/math (Depends-on): Update.
9926         * modules/netdb (Depends-on): Update.
9927         * modules/poll-h (Depends-on): Update.
9928         * modules/pty (Depends-on): Update.
9929         * modules/search (Depends-on): Update.
9930         * modules/signal (Depends-on): Update.
9931         * modules/spawn (Depends-on): Update.
9932         * modules/stdio (Depends-on): Update.
9933         * modules/stdlib (Depends-on): Update.
9934         * modules/string (Depends-on): Update.
9935         * modules/strings (Depends-on): Update.
9936         * modules/sys_ioctl (Depends-on): Update.
9937         * modules/sys_select (Depends-on): Update.
9938         * modules/sys_socket (Depends-on): Update.
9939         * modules/sys_stat (Depends-on): Update.
9940         * modules/sys_time (Depends-on): Update.
9941         * modules/sys_wait (Depends-on): Update.
9942         * modules/termios (Depends-on): Update.
9943         * modules/time (Depends-on): Update.
9944         * modules/unistd (Depends-on): Update.
9945         * modules/wchar (Depends-on): Update.
9946         * modules/wctype-h (Depends-on): Update.
9947
9948         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
9949         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
9950         (Files, Makefile.am): Update.
9951         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
9952         * modules/argv-iter (Depends-on): Update.
9953         * modules/arpa_inet (Depends-on): Update.
9954         * modules/dirent (Depends-on): Update.
9955         * modules/fcntl-h (Depends-on): Update.
9956         * modules/fnmatch (Depends-on): Update.
9957         * modules/getopt-posix (Depends-on): Update.
9958         * modules/glob (Depends-on): Update.
9959         * modules/iconv-h (Depends-on): Update.
9960         * modules/inttypes-incomplete (Depends-on): Update.
9961         * modules/locale (Depends-on): Update.
9962         * modules/math (Depends-on): Update.
9963         * modules/netdb (Depends-on): Update.
9964         * modules/search (Depends-on): Update.
9965         * modules/signal (Depends-on): Update.
9966         * modules/spawn (Depends-on): Update.
9967         * modules/stdio (Depends-on): Update.
9968         * modules/stdlib (Depends-on): Update.
9969         * modules/string (Depends-on): Update.
9970         * modules/strings (Depends-on): Update.
9971         * modules/sys_socket (Depends-on): Update.
9972         * modules/sys_stat (Depends-on): Update.
9973         * modules/sys_time (Depends-on): Update.
9974         * modules/sys_times (Depends-on): Update.
9975         * modules/sys_utsname (Depends-on): Update.
9976         * modules/time (Depends-on): Update.
9977         * modules/unistd (Depends-on): Update.
9978         * modules/wchar (Depends-on): Update.
9979         * MODULES.html.sh (Support for building libraries and executables):
9980         Update.
9981
9982 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9983
9984         Improvements on _Noreturn and related modules.
9985
9986         modules/_Exit-tests: test _Noreturn too
9987         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
9988         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
9989         (main): Use them.
9990
9991         stdnoreturn, stdnoreturn-tests: remove modules
9992         They're not needed here and a bit premature for use elsewhere.  See
9993         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
9994         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
9995         * tests/test-stdnoreturn.c: Remove files.
9996         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
9997         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
9998         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
9999         and using noreturn.
10000         * modules/openat, modules/sigpipe-die, modules/xalloc:
10001         * modules/xmemdup0, modules/xstrtol:
10002         Remove dependency on stdnoreturn.
10003
10004         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
10005         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
10006         Reparenthesize to avoid GCC warning.
10007         Support Microsoft's syntax.
10008         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
10009
10010         _Noreturn-tests: remove module
10011         * modules/_Noreturn-tests: Remove.
10012         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
10013         * tests/test-_Noreturn.c: Remove.
10014         * tests/test-stdnoreturn.c: Merge from the old
10015         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
10016
10017 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
10018
10019         _Noreturn, stdnoreturn, and related modules.
10020
10021         * top/maint.mk: Adjust to new noreturn support.
10022         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
10023         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
10024
10025         xalloc: use stdnoreturn.h
10026         * lib/xalloc.h: Include <stdnoreturn.h>.
10027         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10028         * modules/xalloc (Depends-on): Add stdnoreturn.
10029
10030         xstrtol: use stdnoreturn.h
10031         * lib/xstrtol.h: Include <stdnoreturn.h>.
10032         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10033         * modules/xstrtol (Depends-on): Add stdnoreturn.
10034
10035         xmemdup0: use stdnoreturn.h
10036         * lib/xmemdup0.h: Include <stdnoreturn.h>.
10037         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10038         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
10039
10040         sigpipe-die: use stdnoreturn.h
10041         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
10042         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10043         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
10044
10045         openat: use stdnoreturn.h
10046         * lib/openat.h: Include <stdnoreturn.h>.
10047         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10048         * modules/openat (Depends-on): Add stdnoreturn.
10049
10050         * lib/openat-die.c (openat_save_fail): Modernize comment.
10051
10052         * lib/xalloc-die.c (xalloc_die): Modernize comment.
10053
10054         * lib/glthread/thread.h: Modernize comment.
10055
10056         obstack: use _Noreturn
10057         * lib/obstack.c (__attribute__): Remove macro.
10058         (print_and_abort): Use _Noreturn.
10059
10060         c-stack: use _Noreturn
10061         * lib/c-stack.c (die, overflow_handler, segv_handler):
10062         Use _Noreturn rather than __attribute__((noreturn)).
10063
10064         argmatch-tests, exclude_tests: use _Noreturn
10065         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
10066         Remove.
10067         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
10068
10069         stdlib: use _Noreturn
10070         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
10071         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
10072         * modules/stdlib (Depends-on): Add _Noreturn.
10073         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
10074
10075         stdnoreturn-tests: new module
10076         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
10077
10078         stdnoreturn: new module
10079         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
10080         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
10081
10082         _Noreturn-tests: new module
10083         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
10084
10085         _Noreturn: new module
10086         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
10087         New section, mentioning it.
10088         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
10089
10090         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
10091
10092 2011-07-11  Eric Blake  <eblake@redhat.com>
10093
10094         ffs: new module
10095         * modules/ffs: New file.
10096         * m4/ffs.m4: Likewise.
10097         * lib/ffs.c: Likewise.
10098         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
10099         * modules/strings (Makefile.am): Substitute witness.
10100         (Depends-on): Add c++defs.
10101         * lib/strings.in.h (ffs): Declare.
10102         * modules/ffs-tests: New test file.
10103         * tests/test-ffs.c: Test new module.
10104         * MODULES.html.sh (Integer arithmetic functions): Mention it.
10105         * doc/posix-functions/ffs.texi (ffs): Likewise.
10106
10107         regex: avoid compiler warning
10108         * lib/regex.c (includes): Include <strings.h>, for use of
10109         strcasecmp in regcomp.c.
10110         Reported by Joachim Schmitz.
10111
10112 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10113
10114         stdint: respect system's intmax_t if INTMAX_MAX
10115         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
10116         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
10117         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
10118         long but int64_t is long long, and where we will clash with the
10119         system intmax_t if we override it.  See
10120         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
10121         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
10122         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
10123         similarly for UINTMAX_C.
10124
10125 2011-07-08  Bruno Haible  <bruno@clisp.org>
10126
10127         pthread_sigmask tests: Avoid a compiler warning.
10128         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
10129         non-zero.
10130
10131         sigprocmask tests: A better way to avoid a compiler warning.
10132         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
10133         (main): Complain if system() returns non-zero.
10134         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
10135
10136 2011-07-08  Bruno Haible  <bruno@clisp.org>
10137
10138         pthread_sigmask: Work around IRIX bug.
10139         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
10140         bug.
10141         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
10142         there may be unblocked pending signals.
10143         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
10144
10145 2011-07-08  Bruno Haible  <bruno@clisp.org>
10146
10147         pthread_sigmask: Work around Cygwin bug.
10148         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
10149         bug.
10150         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
10151         the system's pthread_sigmask function.
10152         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
10153
10154 2011-07-08  Bruno Haible  <bruno@clisp.org>
10155
10156         pthread_sigmask: Work around bug in single-threaded implementation.
10157         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
10158         FreeBSD, HP-UX, Solaris bug.
10159         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
10160         * lib/pthread_sigmask.c: Include <stddef.h>.
10161         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
10162         the system's pthread_sigmask function.
10163         * modules/pthread_sigmask (configure.ac): Invoke
10164         gl_PREREQ_PTHREAD_SIGMASK.
10165         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
10166         HP-UX, Solaris.
10167
10168 2011-07-08  Eric Blake  <eblake@redhat.com>
10169
10170         test-sigprocmask: avoid compiler warning
10171         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
10172         * tests/test-sigprocmask.c (main): Use it to silence warning.
10173         Reported by Jim Meyering.
10174
10175         test-snprintf: avoid compiler warning
10176         * tests/test-snprintf.c (main): Avoid shadowed declaration.
10177         * tests/test-vsnprintf.c (main): Likewise.
10178         Reported by Jim Meyering.
10179
10180 2011-07-08  Bruno Haible  <bruno@clisp.org>
10181
10182         Tests for module 'pthread_sigmask'.
10183         * modules/pthread_sigmask-tests: New file.
10184         * tests/test-pthread_sigmask1.c: New file, based on
10185         tests/test-sigprocmask.c.
10186         * tests/test-pthread_sigmask2.c: New file.
10187
10188 2011-07-08  Jim Meyering  <meyering@redhat.com>
10189
10190         test-getopt.h: avoid warning about an unused variable
10191         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
10192
10193 2011-07-07  Jim Meyering  <meyering@redhat.com>
10194
10195         maint: reduce list of files exempt from sc_prohibit_leading_TABs
10196         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
10197         now that it no longer contains leading TABs.
10198         Remove unused "url=FIXME" statement.
10199
10200 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10201
10202         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
10203         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10204         When gl_THREADLIB is not in use, assume that the POSIX sematics
10205         are desired.  This is better for Emacs, which uses POSIX semantics
10206         on GNUish and/or POSIXish platforms, and does not use threads at
10207         all otherwise.
10208
10209         pthread_sigmask: fix typo when testing for libraries
10210         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10211         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
10212
10213 2011-07-08  Eric Blake  <eblake@redhat.com>
10214
10215         fts: introduce FTS_NOATIME
10216         * lib/fts_.h (FTS_NOATIME): New bit flag.
10217         (FTS_OPTIONMASK): Adjust.
10218         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
10219         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
10220
10221 2011-07-08  Bruno Haible  <bruno@clisp.org>
10222
10223         Tests for module 'thread'.
10224         * modules/thread-tests: New file.
10225         * tests/test-thread_self.c: New file.
10226         * tests/test-thread_create.cc: New file.
10227
10228 2011-07-08  Bruno Haible  <bruno@clisp.org>
10229
10230         thread: Avoid gcc warnings when using gl_thread_self().
10231         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
10232         'void *'.
10233         (gl_thread_self_pointer): Update.
10234
10235 2011-07-07  Bruno Haible  <bruno@clisp.org>
10236
10237         signal-c++-tests: Check declaration of pthread_sigmask.
10238         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
10239         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
10240         $(LIB_PTHREAD_SIGMASK).
10241
10242 2011-07-07  Bruno Haible  <bruno@clisp.org>
10243
10244         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
10245         * lib/signal.in.h (pthread_sigmask): Override if
10246         REPLACE_PTHREAD_SIGMASK is 1.
10247         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10248         REPLACE_PTHREAD_SIGMASK.
10249         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
10250         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
10251         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
10252         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10253         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
10254
10255 2011-07-07  Bruno Haible  <bruno@clisp.org>
10256
10257         pthread_sigmask: Ensure declaration in <signal.h>.
10258         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
10259         include <pthread.h>.
10260         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
10261         problem.
10262
10263 2011-07-07  Bruno Haible  <bruno@clisp.org>
10264
10265         pthread_sigmask: Document the module.
10266         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
10267
10268 2011-07-07  Bruno Haible  <bruno@clisp.org>
10269
10270         pthread_sigmask: Follow gnulib conventions.
10271         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
10272         gl_PTHREAD_SIGMASK.
10273         * modules/pthread_sigmask (configure.ac): Update.
10274
10275 2011-07-07  Bruno Haible  <bruno@clisp.org>
10276
10277         pthread_sigmask: Make declaration C++ safe.
10278         * lib/signal.in.h: In two special conditions, just do an #include_next.
10279         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10280         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
10281         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10282         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10283         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
10284         not REPLACE_PTHREAD_MASK.
10285         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
10286         not REPLACE_PTHREAD_MASK.
10287         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10288
10289 2011-07-07  Bruno Haible  <bruno@clisp.org>
10290
10291         pthread_sigmask: Fix return value.
10292         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
10293         * lib/pthread_sigmask.c: New file.
10294         * modules/pthread_sigmask (Files): Add it.
10295         (configure.ac): Invoke AC_LIBOBJ.
10296
10297 2011-07-07  Eric Blake  <eblake@redhat.com>
10298
10299         getopt: more portable argv creation
10300         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
10301         const, use char arrays rather than strings.
10302         Suggested by Paul Eggert.
10303
10304 2011-07-07  Bruno Haible  <bruno@clisp.org>
10305
10306         Tests for module 'sigprocmask'.
10307         * modules/sigprocmask-tests: New file.
10308         * tests/test-sigprocmask.c: New file.
10309
10310 2011-07-07  Bruno Haible  <bruno@clisp.org>
10311
10312         float tests: Tweak.
10313         * tests/test-float.c (main): Tweak skip message.
10314
10315 2011-07-07  Eric Blake  <eblake@redhat.com>
10316
10317         getopt: avoid compiler warning during configure
10318         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
10319         assigning string literals to non-const pointer.
10320
10321         getopt-gnu: avoid crash in glibc getopt
10322         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
10323         * tests/test-getopt.h (test_getopt): Enhance test.
10324         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10325         * doc/posix-functions/getopt.texi (getopt): Document it.
10326         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
10327         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10328         Likewise.
10329
10330 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
10331
10332         getopt: handle W; without long options in getopt [BZ #12922]
10333         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
10334         but no long options are defined, just return 'W'.
10335
10336 2011-07-07  Bruno Haible  <bruno@clisp.org>
10337
10338         Avoid literal tabs.
10339         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
10340         variable containing a tab instead of a literal tab.
10341         Reported by Jim Meyering.
10342
10343 2011-07-07  Bruno Haible  <bruno@clisp.org>
10344
10345         Comments.
10346         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
10347
10348 2011-07-06  Bruno Haible  <bruno@clisp.org>
10349
10350         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
10351         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
10352         <winsock2.h>.
10353         (rpl_fd_isset, FD_ISSET): New definitions, copied from
10354         lib/sys_socket.in.h.
10355         (close, gethostname): Hide declarations from <winsock2.h>.
10356         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
10357         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
10358         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
10359         (select): Don't override if gnulib's <sys/select.h> was already
10360         included.
10361         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
10362         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
10363         setsockopt, shutdown, select): Tweak indentation.
10364
10365 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10366
10367         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
10368         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
10369         in an application that does not use the sys_select module.
10370
10371 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
10372
10373         poll: do not return 0 on timeout=-1
10374         * lib/poll.c: Loop with yield if no events occured
10375
10376 2011-07-06  Eric Blake  <eblake@redhat.com>
10377
10378         pthread_sigmask: always replace when not using pthread
10379         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
10380         replacement when using some threading other than pthread.  Fix
10381         logic bug.
10382
10383 2011-07-06  Bruno Haible  <bruno@clisp.org>
10384
10385         Comments.
10386         * m4/printf.m4: Update comments about mingw.
10387
10388 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10389
10390         sys_select: define sigset_t more portably
10391         * lib/sys_select.in.h: Always include <sys/types.h>, since
10392         we now need sigset_t and mingw defines it there.
10393         Include <signal.h> before split inclusion guard, to avoid
10394         mishaps on Solaris, whose <signal.h> eventually includes us.
10395         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
10396         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
10397         which come from ...
10398         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
10399         gl_CHECK_TYPE_SIGSET_T.
10400         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
10401         does the real work.
10402         * modules/sys_select (Depends-on): Add 'signal'.
10403
10404         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
10405         Suggested by Bruno Haible.
10406
10407         pselect: Use pthread_sigmask, not sigprocmask.
10408         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
10409         multithreaded apps better than sigprocmask does.
10410         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
10411         sigprocmask directly.
10412
10413 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10414
10415         * lib/pselect.c (pselect): Use plain name, without "rpl_".
10416         Don't #undef,  since we don't need any underlying pselect.
10417         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
10418         (Depends-on): Add select.
10419         (Link): Add $(LIBSOCKET).
10420         These changes suggested by Bruno Haible.
10421
10422         pselect: document better
10423         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10424         * doc/posix-functions/pselect.texi (pselect): Document new module.
10425
10426         pthread_sigmask: new module
10427         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10428         * doc/posix-functions/pthread_sigmask.texi: Document new module.
10429         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
10430         This is done only as a macro; I don't know how well that'll
10431         work for C++.  Move <sys/types.h> include before the include_next,
10432         to avoid mishap on Solaris.
10433         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
10434         * modules/signal (Makefile.am): Substitute the check's results.
10435         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
10436
10437         test-pselect: new module
10438         * modules/pselect-tests, tests/test-pselect.c: New files.
10439         * tests/test-select.c, tests/test-sys_select-c++.cc:
10440         If TEST_PSELECT is defined, test pselect instead of testing select.
10441
10442         * tests/test-sys_select.c (sigset_t): Test for it, too.
10443         Suggested by Bruno Haible.
10444
10445 2011-07-05  Eric Blake  <eblake@redhat.com>
10446
10447         snprintf: guarantee %1$d, for libintl
10448         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
10449         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
10450         * doc/posix-functions/snprintf.texi (snprintf): Update.
10451         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
10452         * tests/test-snprintf.c (main): Enhance test.
10453         * tests/test-vsnprintf.c (main): Likewise.
10454
10455 2011-07-05  Jim Meyering  <meyering@redhat.com>
10456
10457         maint: exempt stdio-read.c and stdio-write.c from the cppi check
10458         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
10459         per Bruno's request, to accommodate this idiom (no space after "#")
10460         even when the function is inside an #if block:
10461         char *
10462         gets (char *s)
10463         #undef gets
10464         {
10465           ...
10466         }
10467
10468 2011-07-04  Jim Meyering  <meyering@redhat.com>
10469
10470         maint: indent with spaces, not TABs, and add a rule to check this
10471         * tests/test-userspec.c: Indent with spaces, not TABs.
10472         * tests/test-argp.c: Likewise.
10473         * tests/test-c-stack2.sh: Likewise.
10474         * tests/test-parse-duration.sh: Likewise
10475         * m4/strtod.m4: Likewise.
10476         * m4/alloca.m4: Likewise.
10477         * m4/pselect.m4: Likewise.
10478         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
10479
10480 2011-07-03  Jim Meyering  <meyering@redhat.com>
10481
10482         maint.mk: correct omissions in prohibit_argmatch_without_use check
10483         This rule would mistakenly report that argmatch.h is included without
10484         use even when both the argmatch and invalid_arg macro were used.
10485         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
10486         of argmatch and invalid_arg.
10487
10488 2011-07-03  Bruno Haible  <bruno@clisp.org>
10489
10490         Comments about EINTR.
10491         * lib/safe-read.h: Explain the purpose of this module.
10492         * lib/safe-write.h: Likewise.
10493         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
10494         module.
10495         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
10496         module.
10497         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10498
10499 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10500
10501         xnanosleep: Rewrite to use new dtotimespec module.
10502         It has the conversion code that used to be in xnanosleep.
10503         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
10504         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
10505         (TIME_T_MAX): Remove.
10506         (xnanosleep): Rewrite in terms of dtotimespec.
10507         * modules/xnanosleep (Depends-on): Add dtotimespec.
10508         Remove intprops, stdbool.
10509
10510         timespec-add, timespec-sub: new modules
10511         * lib/timespec.h (timespec_add, timespec_sub): New decls.
10512         * lib/timespec-add.c, lib/timespec-sub.c:
10513         * modules/timespec-add, modules/timespec-sub: New files.
10514
10515         dtotimespec: new module
10516         * lib/timespec.h (dtotimespec): New decl.
10517         * lib/dtotimespec.c, modules/dtotimespec: New files.
10518
10519         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
10520
10521         pselect: new module
10522         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
10523         (pselect): New decls.
10524         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
10525         since the standard pselect decl uses 'restrict'.
10526         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
10527         HAVE_PSELECT, REPLACE_PSELECT.
10528         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
10529         HAVE_PSELECT, REPLACE_PSELECT.
10530         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
10531
10532         sys_select: don't depend on sys_socket
10533         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
10534         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
10535         This fix works on GNU and GNU-like platforms, but has not been tested
10536         on native Windows.
10537         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
10538         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
10539         gl_HEADER_SYS_SOCKET.
10540         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
10541         gl_PREREQ_SYS_H_WINSOCK2.
10542
10543 2011-06-29  Eric Blake  <eblake@redhat.com>
10544
10545         pipe2: fix C89 compile problem
10546         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
10547         Reported by Bruno Haible.
10548
10549         pipe, pipe2: don't corrupt fd on error
10550         * lib/pipe.c (pipe): Leave fd unchanged on error.
10551         * lib/pipe2.c (pipe2): Likewise.
10552         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
10553         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
10554
10555 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
10556
10557         mmap-anon: do not use regular expressions inadvertently
10558         * m4/mmap-anon.m4: Remove trailing period from strings sought
10559         in the output.
10560
10561 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10562
10563         nanosleep: fix integer overflow problem
10564         * lib/nanosleep.c (my_usleep): Don't assume signed integer
10565         arithmetic wraps around on overflow.
10566
10567         nanosleep: simplify carrying
10568         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
10569         first call to the underyling nanosleep, not for the last one.
10570         This doesn't fix any bugs, but it simplifies the computation of
10571         the remaining delay.  Found while auditing integer overflow issues.
10572
10573         dup2: remove test for existence of fcntl
10574         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
10575         "#if HAVE_FCNTL", in the configure-time test program.
10576         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
10577         and therefore speeds up "configure" a bit.  Found while
10578         adding the dup2 module to Emacs.
10579
10580 2011-06-24  Eric Blake  <eblake@redhat.com>
10581
10582         maint.mk: enhance useless header checks
10583         * top/maint.mk (_sc_header_without_use): Check both include
10584         styles.
10585         (sc_prohibit_assert_without_use)
10586         (sc_prohibit_close_stream_without_use)
10587         (sc_prohibit_getopt_without_use)
10588         (sc_prohibit_quotearg_without_use)
10589         (sc_prohibit_quote_without_use)
10590         (sc_prohibit_long_options_without_use)
10591         (sc_prohibit_inttostr_without_use)
10592         (sc_prohibit_ignore_value_without_use)
10593         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
10594         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
10595         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
10596         (sc_prohibit_hash_pjw_without_use)
10597         (sc_prohibit_safe_read_without_use)
10598         (sc_prohibit_argmatch_without_use)
10599         (sc_prohibit_canonicalize_without_use)
10600         (sc_prohibit_root_dev_ino_without_use)
10601         (sc_prohibit_openat_without_use)
10602         (sc_prohibit_c_ctype_without_use)
10603         (sc_prohibit_signal_without_use)
10604         (sc_prohibit_stdio--_without_use)
10605         (sc_prohibit_stdio-safer_without_use)
10606         (sc_prohibit_strings_without_use)
10607         (sc_prohibit_intprops_without_use)
10608         (sc_prohibit_stddef_without_use)
10609         (sc_prohibit_xfreopen_without_use): Update clients.
10610
10611 2011-06-24  Jim Meyering  <meyering@redhat.com>
10612
10613         syntax-check: keep one maint.mk rule in sync with its header
10614         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
10615         of the bug Eric has just fixed, with today's commit 25e4c2ec.
10616         I prefer to avoid temporary files here, so use <(...), but that
10617         is not supported by /bin/sh, so...
10618         (SHELL): Define to /bin/bash.
10619
10620 2011-06-24  Eric Blake  <eblake@redhat.com>
10621
10622         maint.mk: update sc_prohibit_intprops_without_use
10623         * top/maint.mk (_intprops_names): Match recent changes.
10624
10625 2011-06-24  Bruno Haible  <bruno@clisp.org>
10626
10627         strerror-override: No-op tweak.
10628         * lib/strerror-override.h (strerror_override): Reorder conditions,
10629         for consistency with lib/strerror-override.c.
10630
10631 2011-06-23  Eric Blake  <eblake@redhat.com>
10632
10633         maint.mk: test further PATH_MAX issues
10634         * top/maint.mk (sc_prohibit_path_max_array): Rename...
10635         (sc_prohibit_path_max_allocation): ...and also test alloca.
10636         Suggested by Jim Meyering.
10637
10638 2011-06-22  Eric Blake  <eblake@redhat.com>
10639
10640         maint.mk: add syntax-check to avoid char[PATH_MAX]
10641         * top/maint.mk (sc_prohibit_path_max_array): New rule.
10642
10643         stat: be robust to PATH_MAX definition
10644         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
10645         * modules/stat (Depends-on): Add verify.
10646
10647         link: work around IRIX bug
10648         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
10649         * lib/link.c (rpl_link): Work around it.
10650         * tests/test-link.h (test_link): Enhance test.
10651         * doc/posix-functions/link.texi (link): Document the bug.
10652
10653         getopt: silence clang warning
10654         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
10655         dereference.
10656         Reported by Gustavo Martin Domato.
10657
10658 2011-06-22  Jim Meyering  <meyering@redhat.com>
10659
10660         bootstrap: do not insert a blank line into each .gitignore file
10661         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
10662
10663 2011-06-21  Eric Blake  <eblake@redhat.com>
10664
10665         perror: test for output mismatch
10666         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
10667         perror on IRIX.
10668
10669         strerror_r: fix OpenBSD behavior on out-of-range
10670         * lib/strerror_r.c (strerror_r): Always use maximal string.
10671         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10672
10673         strerror_r: fix OpenBSD behavior on 0
10674         * lib/strerror-override.c (strerror_override): Also override 0
10675         when needed.
10676         * lib/strerror-override.h (strerror_override): Likewise.
10677         * lib/strerror.c (strerror): Simplify, now that 0 override is done
10678         earlier.
10679         * lib/strerror_r.c (strerror_r): Likewise.
10680         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
10681         behavior...
10682         (gl_FUNC_STRERROR_0): ...into new macro.
10683         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
10684         is overridden.
10685         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
10686         * modules/strerror-override (Files): Add strerror.m4.
10687         (configure.ac): Also provide override for 0 when needed.
10688         * doc/posix-functions/strerror.texi (strerror): Document this.
10689         * doc/posix-functions/perror.texi (perror): Likewise.
10690
10691         perror: adjust array size
10692         * modules/perror (Depends-on): Add strerror-override.
10693         * lib/perror.c (perror): Use it to avoid magic number.
10694
10695         strerror-override: reduce size
10696         * lib/strerror-override.c (strerror_override): Use fewer lines.
10697
10698 2011-06-20  Bruno Haible  <bruno@clisp.org>
10699
10700         pathmax: Ensure correct value for PATH_MAX on HP-UX.
10701         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
10702
10703 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
10704
10705         alloca: port to compilers that can optimize like GCC 4.6.0
10706         * lib/alloca.c (find_stack_direction): New signature, taken from
10707         Autoconf git.  This works with GCC 4.6.0.  This code should never
10708         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
10709         be used with other compilers that optimize as well as GCC 4.6.0 does.
10710         (alloca): Adjust to new signature.
10711         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
10712         New macro, which patches Autoconf in a similar way.
10713
10714         c-stack: stop worrying about stack direction
10715         * lib/c-stack.c (find_stack_direction): Remove.
10716         (segv_handler): Don't worry about stack direction growth, as it's
10717         too much of a pain to configure this correctly, given how compilers
10718         are optimizing-away our stack-growth detection code.  Instead, assume
10719         that any access to just before or just after the stack is OK.
10720         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
10721         Don't require AC_FUNC_ALLOCA; no longer needed.
10722
10723 2011-06-20  Eric Blake  <eblake@redhat.com>
10724
10725         test-stat: don't allocate PATH_MAX bytes
10726         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
10727         PATH_MAX-sized buffer.
10728         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
10729         * modules/stat-tests (Depends-on): Likewise.
10730         * tests/test-fstatat.c (includes): Drop pathmax.h.
10731         * tests/test-stat.c (includes): Likewise.
10732         Reported by Bruno Haible.
10733
10734 2011-06-20  Bruno Haible  <bruno@clisp.org>
10735
10736         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
10737         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
10738         * lib/float.c: New file.
10739         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
10740         REPLACE_FLOAT_LDBL.
10741         * modules/float (Files): Add lib/float.c.
10742         (configure.ac): Invoke AC_LIBOBJ.
10743         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
10744
10745 2011-06-20  Bruno Haible  <bruno@clisp.org>
10746
10747         Tests for module 'float'.
10748         * modules/float-tests: New file.
10749         * tests/test-float.c: New file.
10750
10751 2011-06-19  Bruno Haible  <bruno@clisp.org>
10752
10753         isinf: Coding style.
10754         * lib/isinf.c: Use GNU coding style.
10755
10756 2011-06-19  Bruno Haible  <bruno@clisp.org>
10757
10758         linkat test: Avoid test failure on AIX 7.1.
10759         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
10760         * tests/test-link.h (test_link): Likewise.
10761
10762 2011-06-19  Bruno Haible  <bruno@clisp.org>
10763
10764         pread test: Avoid test failure on OpenBSD 4.9.
10765         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
10766
10767 2011-06-19  Bruno Haible  <bruno@clisp.org>
10768
10769         sprintf-posix: Fix test failure on AIX 7.1.
10770         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
10771         * doc/posix-functions/dprintf.texi: Mention limited precision problem
10772         on AIX.
10773         * doc/posix-functions/fprintf.texi: Likewise.
10774         * doc/posix-functions/printf.texi: Likewise.
10775         * doc/posix-functions/snprintf.texi: Likewise.
10776         * doc/posix-functions/sprintf.texi: Likewise.
10777         * doc/posix-functions/vdprintf.texi: Likewise.
10778         * doc/posix-functions/vfprintf.texi: Likewise.
10779         * doc/posix-functions/vprintf.texi: Likewise.
10780         * doc/posix-functions/vsnprintf.texi: Likewise.
10781         * doc/posix-functions/vsprintf.texi: Likewise.
10782
10783 2011-06-19  Bruno Haible  <bruno@clisp.org>
10784
10785         roundl-ieee: Fix test failure on AIX 7.1.
10786         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
10787         * doc/posix-functions/roundl.texi: Mention problem with negative
10788         arguments.
10789
10790 2011-06-19  Bruno Haible  <bruno@clisp.org>
10791
10792         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10793         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
10794         * doc/posix-functions/round.texi: Mention problem with negative
10795         arguments.
10796         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
10797
10798 2011-06-19  Bruno Haible  <bruno@clisp.org>
10799
10800         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10801         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
10802         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
10803         * doc/posix-functions/roundf.texi: Mention problem with negative
10804         arguments.
10805         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
10806
10807 2011-06-19  Bruno Haible  <bruno@clisp.org>
10808
10809         ceilf-ieee: Work around bug on MacOS X 10.5.
10810         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
10811
10812         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
10813         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
10814         IEEE compliant, avoid compiler optimizations.
10815         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
10816         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10817         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
10818         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10819         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10820         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10821         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10822         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
10823         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
10824         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
10825
10826 2011-06-19  Bruno Haible  <bruno@clisp.org>
10827
10828         ceilf-ieee: Work around bug on AIX 7.1.
10829         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
10830         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
10831
10832 2011-06-19  Bruno Haible  <bruno@clisp.org>
10833
10834         ceil-ieee: Work around bug on AIX 7.1.
10835         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
10836         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
10837
10838 2011-06-18  Bruno Haible  <bruno@clisp.org>
10839
10840         fsync test: Avoid test failure on MacOS X and AIX.
10841         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
10842         EINVAL.
10843
10844 2011-06-18  Bruno Haible  <bruno@clisp.org>
10845
10846         openat, fdopendir tests: Fix link errors.
10847         * modules/openat-tests (Depends-on): Add progname.
10848         * modules/fdopendir-tests (Depends-on): Likewise.
10849         * tests/test-fchownat.c: Include progname.h.
10850         (main): Call set_program_name.
10851         * tests/test-fstatat.c: Include progname.h.
10852         (main): Call set_program_name.
10853         * tests/test-mkdirat.c: Include progname.h.
10854         (main): Call set_program_name.
10855         * tests/test-openat.c: Include progname.h.
10856         (main): Call set_program_name.
10857         * tests/test-unlinkat.c: Include progname.h.
10858         (main): Call set_program_name.
10859         * tests/test-fdopendir.c: Include progname.h.
10860         (main): Call set_program_name.
10861
10862 2011-06-18  Bruno Haible  <bruno@clisp.org>
10863
10864         Doc update.
10865         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
10866         HP-UX.
10867         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
10868
10869 2011-06-18  Bruno Haible  <bruno@clisp.org>
10870
10871         getcwd tests: Avoid compilation error on HP-UX 11.31.
10872         * modules/getcwd-tests (Depends-on): Add pathmax.
10873         * tests/test-getcwd.c: Include pathmax.h.
10874
10875 2011-06-18  Bruno Haible  <bruno@clisp.org>
10876
10877         isfinite, isinf: Fix link error on AIX 6 and 7.
10878         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
10879         needed, also test the macro with a 'float' argument.
10880         * m4/isinf.m4 (gl_ISINF): Likewise.
10881
10882 2011-06-18  Bruno Haible  <bruno@clisp.org>
10883
10884         getloadavg: Don't clobber LIBS. Regression from previous commit.
10885         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
10886         AC_CHECK_LIB from here...
10887         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
10888         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
10889         gl_func_getloadavg_done.
10890         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10891
10892 2011-06-18  Bruno Haible  <bruno@clisp.org>
10893
10894         clean-temp: Improve documentation.
10895         * lib/clean-temp.h: Explain better how to use this module.
10896         Reported by John Darrington <john@darrington.wattle.id.au>.
10897
10898 2011-06-17  Bruno Haible  <bruno@clisp.org>
10899
10900         pread, pwrite: Avoid cc warning on AIX.
10901         * lib/unistd.in.h (pread): Undefine before defining as a macro.
10902         (pwrite): Likewise.
10903
10904 2011-06-17  Bruno Haible  <bruno@clisp.org>
10905
10906         spawn-pipe tests: Fix link error.
10907         * tests/test-spawn-pipe-child.c: Undefine fprintf.
10908         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10909
10910 2011-06-17  Bruno Haible  <bruno@clisp.org>
10911
10912         Tests: Remove unnecessary dependency.
10913         * modules/canonicalize-tests (Depends-on): Remove progname.
10914         * modules/chown-tests (Depends-on): Likewise.
10915         * modules/dirname-tests (Depends-on): Likewise.
10916         * modules/fdopendir-tests (Depends-on): Likewise.
10917         * modules/fdutimensat-tests (Depends-on): Likewise.
10918         * modules/hash-tests (Depends-on): Likewise.
10919         * modules/lchown-tests (Depends-on): Likewise.
10920         * modules/linkat-tests (Depends-on): Likewise.
10921         * modules/renameat-tests (Depends-on): Likewise.
10922         * modules/spawn-pipe-tests (Depends-on): Likewise.
10923         * modules/utimensat-tests (Depends-on): Likewise.
10924
10925 2011-06-17  Bruno Haible  <bruno@clisp.org>
10926
10927         spawn-pipe tests: Fix link error.
10928         * tests/test-spawn-pipe-child.c: Undefine fflush.
10929
10930 2011-06-17  Bruno Haible  <bruno@clisp.org>
10931
10932         Fix tests link errors.
10933         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
10934         * modules/chown-tests (Makefile.am): Don't link test-chown with
10935         LIBINTL.
10936         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
10937         LIBINTL.
10938         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
10939         LIBINTL.
10940         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
10941         LIBINTL.
10942
10943 2011-06-16  Bruno Haible  <bruno@clisp.org>
10944
10945         crypto/gc-sha1: Fix recent regression.
10946         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
10947         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
10948
10949         crypto/gc-md5: Fix recent regression.
10950         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
10951
10952         crypto/gc-md4: Fix recent regression.
10953         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
10954         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
10955
10956         crypto/gc-arctwo: Fix recent regression.
10957         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
10958         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
10959
10960         crypto/gc-rijndael: Fix recent regression.
10961         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
10962         (configure.ac): Invoke AC_LIBOBJ here.
10963         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
10964         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10965
10966         crypto/gc-hmac-sha1: Fix recent regression.
10967         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
10968         (configure.ac): Invoke AC_LIBOBJ here.
10969         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
10970         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10971
10972         crypto/gc-hmac-md5: Fix recent regression.
10973         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
10974         (configure.ac): Invoke AC_LIBOBJ here.
10975         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
10976         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10977
10978         crypto/gc-des: Fix recent regression.
10979         * modules/crypto/gc-des (Files): Remove m4/des.m4.
10980         (configure.ac): Invoke AC_LIBOBJ here.
10981         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
10982         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10983
10984         crypto/gc-arcfour: Fix recent regression.
10985         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
10986         (configure.ac): Invoke AC_LIBOBJ here.
10987         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
10988         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10989
10990 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
10991
10992         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
10993         After the 2011-05-21 change, this macro requires
10994         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
10995         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
10996
10997 2011-06-16  Bruno Haible  <bruno@clisp.org>
10998
10999         fprintftime: Move AC_LIBOBJ invocations to module description.
11000         * m4/fprintftime.m4: Remove file.
11001         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
11002         (configure.ac): Remove gl_FPRINTFTIME call.
11003         (Makefile.am): Augment lib_SOURCES.
11004         Reported by Jim Meyering.
11005
11006 2011-06-16  Bruno Haible  <bruno@clisp.org>
11007
11008         tmpfile-safer: Finish 2011-05-23 commit.
11009         * m4/stdio-safer.m4: Really remove file.
11010         Reported by Jim Meyering.
11011
11012 2011-06-16  Bruno Haible  <bruno@clisp.org>
11013
11014         syntax-check: Fix typo.
11015         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
11016         printf-posix.m4.
11017         Reported by Jim Meyering.
11018
11019 2011-06-13  Jim Meyering  <meyering@redhat.com>
11020
11021         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
11022         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
11023
11024 2011-05-23  Bruno Haible  <bruno@clisp.org>
11025
11026         yesno: Move AC_LIBOBJ invocations to module description.
11027         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
11028         * modules/yesno (Makefile.am): Augment lib_SOURCES.
11029
11030 2011-05-23  Bruno Haible  <bruno@clisp.org>
11031
11032         xstrtol: Move AC_LIBOBJ invocations to module description.
11033         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
11034         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
11035
11036 2011-05-23  Bruno Haible  <bruno@clisp.org>
11037
11038         xstrtold: Move AC_LIBOBJ invocations to module description.
11039         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
11040         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
11041
11042 2011-05-23  Bruno Haible  <bruno@clisp.org>
11043
11044         xstrtod: Move AC_LIBOBJ invocations to module description.
11045         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
11046         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
11047
11048 2011-05-23  Bruno Haible  <bruno@clisp.org>
11049
11050         xnanosleep: Move AC_LIBOBJ invocations to module description.
11051         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
11052         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
11053
11054 2011-05-23  Bruno Haible  <bruno@clisp.org>
11055
11056         xgetcwd: Move AC_LIBOBJ invocations to module description.
11057         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
11058         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
11059
11060 2011-05-23  Bruno Haible  <bruno@clisp.org>
11061
11062         xalloc: Move AC_LIBOBJ invocations to module description.
11063         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
11064         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
11065
11066 2011-05-23  Bruno Haible  <bruno@clisp.org>
11067
11068         write-any-file: Move AC_LIBOBJ invocations to module description.
11069         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
11070         invocation.
11071         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
11072
11073 2011-05-23  Bruno Haible  <bruno@clisp.org>
11074
11075         utimens: Move AC_LIBOBJ invocations to module description.
11076         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
11077         * modules/utimens (Makefile.am): Augment lib_SOURCES.
11078
11079 2011-05-23  Bruno Haible  <bruno@clisp.org>
11080
11081         utimecmp: Move AC_LIBOBJ invocations to module description.
11082         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
11083         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
11084
11085 2011-05-23  Bruno Haible  <bruno@clisp.org>
11086
11087         userspec: Move AC_LIBOBJ invocations to module description.
11088         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
11089         * modules/userspec (Makefile.am): Augment lib_SOURCES.
11090
11091 2011-05-23  Bruno Haible  <bruno@clisp.org>
11092
11093         unlinkdir: Move AC_LIBOBJ invocations to module description.
11094         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
11095         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
11096
11097 2011-05-23  Bruno Haible  <bruno@clisp.org>
11098
11099         unistd-safer: Move AC_LIBOBJ invocations to module description.
11100         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
11101         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
11102
11103 2011-05-23  Bruno Haible  <bruno@clisp.org>
11104
11105         tempname: Move AC_LIBOBJ invocations to module description.
11106         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
11107         * modules/tempname (Makefile.am): Augment lib_SOURCES.
11108
11109 2011-05-23  Bruno Haible  <bruno@clisp.org>
11110
11111         strftime: Move AC_LIBOBJ invocations to module description.
11112         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
11113         * modules/strftime (Makefile.am): Augment lib_SOURCES.
11114
11115 2011-05-23  Bruno Haible  <bruno@clisp.org>
11116
11117         stdlib-safer: Move AC_LIBOBJ invocations to module description.
11118         * m4/stdlib-safer.m4: Remove file.
11119         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
11120         (configure.ac): Remove gl_STDLIB_SAFER call.
11121         (Makefile.am): Augment lib_SOURCES.
11122
11123 2011-05-23  Bruno Haible  <bruno@clisp.org>
11124
11125         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
11126         * m4/stdio-safer.m4: Remove file.
11127         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
11128         (configure.ac): Remove gl_TMPFILE_SAFER call.
11129         (Makefile.am): Augment lib_SOURCES.
11130
11131 2011-05-23  Bruno Haible  <bruno@clisp.org>
11132
11133         popen-safer: Move AC_LIBOBJ invocations to module description.
11134         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
11135         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
11136         (configure.ac): Remove gl_POPEN_SAFER call.
11137         (Makefile.am): Augment lib_SOURCES.
11138
11139 2011-05-23  Bruno Haible  <bruno@clisp.org>
11140
11141         freopen-safer: Move AC_LIBOBJ invocations to module description.
11142         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
11143         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
11144         (configure.ac): Remove gl_FREOPEN_SAFER call.
11145         (Makefile.am): Augment lib_SOURCES.
11146
11147 2011-05-23  Bruno Haible  <bruno@clisp.org>
11148
11149         fopen-safer: Move AC_LIBOBJ invocations to module description.
11150         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
11151         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
11152         (configure.ac): Remove gl_FOPEN_SAFER call.
11153         (Makefile.am): Augment lib_SOURCES.
11154
11155 2011-05-23  Bruno Haible  <bruno@clisp.org>
11156
11157         crypto/sha512: Move AC_LIBOBJ invocations to module description.
11158         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
11159         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
11160
11161 2011-05-23  Bruno Haible  <bruno@clisp.org>
11162
11163         crypto/sha256: Move AC_LIBOBJ invocations to module description.
11164         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
11165         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
11166
11167 2011-05-23  Bruno Haible  <bruno@clisp.org>
11168
11169         crypto/sha1: Move AC_LIBOBJ invocations to module description.
11170         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
11171         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
11172
11173 2011-05-23  Bruno Haible  <bruno@clisp.org>
11174
11175         settime: Move AC_LIBOBJ invocations to module description.
11176         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
11177         * modules/settime (Makefile.am): Augment lib_SOURCES.
11178
11179 2011-05-23  Bruno Haible  <bruno@clisp.org>
11180
11181         savedir: Move AC_LIBOBJ invocations to module description.
11182         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
11183         * modules/savedir (Makefile.am): Augment lib_SOURCES.
11184
11185 2011-05-23  Bruno Haible  <bruno@clisp.org>
11186
11187         save-cwd: Move AC_LIBOBJ invocations to module description.
11188         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
11189         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
11190
11191 2011-05-23  Bruno Haible  <bruno@clisp.org>
11192
11193         same: Move AC_LIBOBJ invocations to module description.
11194         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
11195         * modules/same (Makefile.am): Augment lib_SOURCES.
11196
11197 2011-05-23  Bruno Haible  <bruno@clisp.org>
11198
11199         safe-write: Move AC_LIBOBJ invocations to module description.
11200         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
11201         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
11202         instead of gl_SAFE_WRITE.
11203         (Makefile.am): Augment lib_SOURCES.
11204
11205 2011-05-23  Bruno Haible  <bruno@clisp.org>
11206
11207         safe-read: Move AC_LIBOBJ invocations to module description.
11208         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
11209         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
11210         of gl_SAFE_READ.
11211         (Makefile.am): Augment lib_SOURCES.
11212
11213 2011-05-23  Bruno Haible  <bruno@clisp.org>
11214
11215         safe-alloc: Move AC_LIBOBJ invocations to module description.
11216         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
11217         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
11218
11219 2011-05-23  Bruno Haible  <bruno@clisp.org>
11220
11221         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
11222         * m4/rijndael.m4: Remove file.
11223         * modules/crypto/rijndael (Files): Remove it.
11224         (configure.ac): Remove gl_RIJNDAEL call.
11225         (Makefile.am): Augment lib_SOURCES.
11226
11227 2011-05-23  Bruno Haible  <bruno@clisp.org>
11228
11229         readtokens: Move AC_LIBOBJ invocations to module description.
11230         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
11231         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
11232
11233 2011-05-23  Bruno Haible  <bruno@clisp.org>
11234
11235         read-file: Move AC_LIBOBJ invocations to module description.
11236         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
11237         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
11238         of gl_FUNC_READ_FILE.
11239         (Makefile.am): Augment lib_SOURCES.
11240
11241 2011-05-23  Bruno Haible  <bruno@clisp.org>
11242
11243         quotearg: Move AC_LIBOBJ invocations to module description.
11244         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
11245         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
11246
11247 2011-05-23  Bruno Haible  <bruno@clisp.org>
11248
11249         quote: Move AC_LIBOBJ invocations to module description.
11250         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
11251         * modules/quote (Makefile.am): Augment lib_SOURCES.
11252
11253 2011-05-23  Bruno Haible  <bruno@clisp.org>
11254
11255         posixver: Move AC_LIBOBJ invocations to module description.
11256         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
11257         * modules/posixver (Makefile.am): Augment lib_SOURCES.
11258
11259 2011-05-23  Bruno Haible  <bruno@clisp.org>
11260
11261         posixtm: Move AC_LIBOBJ invocations to module description.
11262         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
11263         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
11264
11265 2011-05-23  Bruno Haible  <bruno@clisp.org>
11266
11267         physmem: Move AC_LIBOBJ invocations to module description.
11268         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
11269         * modules/physmem (Makefile.am): Augment lib_SOURCES.
11270
11271 2011-05-23  Bruno Haible  <bruno@clisp.org>
11272
11273         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
11274         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
11275         invocation.
11276         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
11277
11278 2011-05-23  Bruno Haible  <bruno@clisp.org>
11279
11280         mpsort: Move AC_LIBOBJ invocations to module description.
11281         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
11282         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
11283
11284 2011-05-23  Bruno Haible  <bruno@clisp.org>
11285
11286         modechange: Move AC_LIBOBJ invocations to module description.
11287         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
11288         * modules/modechange (Makefile.am): Augment lib_SOURCES.
11289
11290 2011-05-23  Bruno Haible  <bruno@clisp.org>
11291
11292         mkdir-p: Move AC_LIBOBJ invocations to module description.
11293         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
11294         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
11295
11296 2011-05-23  Bruno Haible  <bruno@clisp.org>
11297
11298         mkancesdirs: Move AC_LIBOBJ invocations to module description.
11299         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
11300         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
11301
11302 2011-05-23  Bruno Haible  <bruno@clisp.org>
11303
11304         mgetgroups: Move AC_LIBOBJ invocations to module description.
11305         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
11306         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
11307
11308 2011-05-23  Bruno Haible  <bruno@clisp.org>
11309
11310         memxor: Move AC_LIBOBJ invocations to module description.
11311         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
11312         * modules/memxor (Makefile.am): Augment lib_SOURCES.
11313
11314 2011-05-23  Bruno Haible  <bruno@clisp.org>
11315
11316         memcoll: Move AC_LIBOBJ invocations to module description.
11317         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
11318         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
11319
11320 2011-05-23  Bruno Haible  <bruno@clisp.org>
11321
11322         memcasecmp: Move AC_LIBOBJ invocations to module description.
11323         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
11324         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
11325
11326 2011-05-23  Bruno Haible  <bruno@clisp.org>
11327
11328         crypto/md5: Move AC_LIBOBJ invocations to module description.
11329         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
11330         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
11331
11332 2011-05-23  Bruno Haible  <bruno@clisp.org>
11333
11334         crypto/md4: Move AC_LIBOBJ invocations to module description.
11335         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
11336         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
11337
11338 2011-05-23  Bruno Haible  <bruno@clisp.org>
11339
11340         crypto/md2: Move AC_LIBOBJ invocations to module description.
11341         * m4/md2.m4: Remove file.
11342         * modules/crypto/md2 (Files): Remove it.
11343         (configure.ac): Remove gl_MD2 call.
11344         (Makefile.am): Augment lib_SOURCES.
11345
11346 2011-05-23  Bruno Haible  <bruno@clisp.org>
11347
11348         long-options: Move AC_LIBOBJ invocations to module description.
11349         * m4/long-options.m4: Remove file.
11350         * modules/long-options (Files): Remove it.
11351         (configure.ac): Remove gl_LONG_OPTIONS call.
11352         (Makefile.am): Augment lib_SOURCES.
11353
11354 2011-05-23  Bruno Haible  <bruno@clisp.org>
11355
11356         i-ring: Move AC_LIBOBJ invocations to module description.
11357         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
11358         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
11359
11360 2011-05-23  Bruno Haible  <bruno@clisp.org>
11361
11362         idcache: Move AC_LIBOBJ invocations to module description.
11363         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
11364         * modules/idcache (Makefile.am): Augment lib_SOURCES.
11365
11366 2011-05-23  Bruno Haible  <bruno@clisp.org>
11367
11368         human: Move AC_LIBOBJ invocations to module description.
11369         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
11370         * modules/human (Makefile.am): Augment lib_SOURCES.
11371
11372 2011-05-23  Bruno Haible  <bruno@clisp.org>
11373
11374         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
11375         * m4/hmac-sha1.m4: Remove file.
11376         * modules/crypto/hmac-sha1 (Files): Remove it.
11377         (configure.ac): Remove gl_HMAC_SHA1 call.
11378         (Makefile.am): Augment lib_SOURCES.
11379
11380 2011-05-23  Bruno Haible  <bruno@clisp.org>
11381
11382         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
11383         * m4/hmac-md5.m4: Remove file.
11384         * modules/crypto/hmac-md5 (Files): Remove it.
11385         (configure.ac): Remove gl_HMAC_MD5 call.
11386         (Makefile.am): Augment lib_SOURCES.
11387
11388 2011-05-23  Bruno Haible  <bruno@clisp.org>
11389
11390         hash: Move AC_LIBOBJ invocations to module description.
11391         * m4/hash.m4: Remove file.
11392         * modules/hash (Files): Remove it.
11393         (configure.ac): Remove gl_HASH call.
11394         (Makefile.am): Augment lib_SOURCES.
11395
11396 2011-05-23  Bruno Haible  <bruno@clisp.org>
11397
11398         hard-locale: Move AC_LIBOBJ invocations to module description.
11399         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
11400         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
11401
11402 2011-05-23  Bruno Haible  <bruno@clisp.org>
11403
11404         getugroups: Move AC_LIBOBJ invocations to module description.
11405         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
11406         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
11407
11408 2011-05-23  Bruno Haible  <bruno@clisp.org>
11409
11410         gettime: Move AC_LIBOBJ invocations to module description.
11411         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
11412         * modules/gettime (Makefile.am): Augment lib_SOURCES.
11413
11414 2011-05-23  Bruno Haible  <bruno@clisp.org>
11415
11416         getndelim2: Move AC_LIBOBJ invocations to module description.
11417         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
11418         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
11419
11420 2011-05-23  Bruno Haible  <bruno@clisp.org>
11421
11422         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
11423         * m4/gc-pbkdf2-sha1.m4: Remove file.
11424         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
11425         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
11426         (Makefile.am): Augment lib_SOURCES.
11427
11428 2011-05-23  Bruno Haible  <bruno@clisp.org>
11429
11430         fts: Move AC_LIBOBJ invocations to module description.
11431         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
11432         * modules/fts (configure.ac): ... to here.
11433
11434 2011-05-23  Bruno Haible  <bruno@clisp.org>
11435
11436         file-type: Move AC_LIBOBJ invocations to module description.
11437         * m4/file-type.m4: Remove file.
11438         * modules/file-type (Files): Remove it.
11439         (configure.ac): Remove gl_FILE_TYPE call.
11440         (Makefile.am): Augment lib_SOURCES.
11441
11442 2011-05-23  Bruno Haible  <bruno@clisp.org>
11443
11444         filenamecat*: Respect rules for use of AC_LIBOBJ.
11445         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
11446         Remove AC_LIBOBJ invocation.
11447         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
11448         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
11449
11450 2011-05-23  Bruno Haible  <bruno@clisp.org>
11451
11452         filemode: Move AC_LIBOBJ invocations to module description.
11453         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
11454         * modules/filemode (Makefile.am): Augment lib_SOURCES.
11455
11456 2011-05-23  Bruno Haible  <bruno@clisp.org>
11457
11458         openat-safer: Move AC_LIBOBJ invocations to module description.
11459         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
11460         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
11461
11462 2011-05-23  Bruno Haible  <bruno@clisp.org>
11463
11464         fcntl-safer: Move AC_LIBOBJ invocations to module description.
11465         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
11466         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
11467
11468 2011-05-23  Bruno Haible  <bruno@clisp.org>
11469
11470         exclude: Move AC_LIBOBJ invocations to module description.
11471         * m4/exclude.m4: Remove file.
11472         * modules/exclude (Files): Remove it.
11473         (configure.ac): Remove gl_EXCLUDE call.
11474         (Makefile.am): Augment lib_SOURCES.
11475
11476 2011-05-23  Bruno Haible  <bruno@clisp.org>
11477
11478         dirname*: Respect rules for use of AC_LIBOBJ.
11479         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
11480         invocations.
11481         * modules/dirname (Makefile.am): Augment lib_SOURCES.
11482         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
11483
11484 2011-05-23  Bruno Haible  <bruno@clisp.org>
11485
11486         dirent-safer: Move AC_LIBOBJ invocations to module description.
11487         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
11488         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
11489
11490 2011-05-23  Bruno Haible  <bruno@clisp.org>
11491
11492         crypto/des: Move AC_LIBOBJ invocations to module description.
11493         * m4/des.m4: Remove file.
11494         * modules/crypto/des (Files): Remove it.
11495         (configure.ac): Remove gl_DES call.
11496         (Makefile.am): Augment lib_SOURCES.
11497
11498 2011-05-23  Bruno Haible  <bruno@clisp.org>
11499
11500         cycle-check: Move AC_LIBOBJ invocations to module description.
11501         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
11502         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
11503
11504 2011-05-23  Bruno Haible  <bruno@clisp.org>
11505
11506         c-strtold: Move AC_LIBOBJ invocations to module description.
11507         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
11508         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
11509
11510 2011-05-23  Bruno Haible  <bruno@clisp.org>
11511
11512         c-strtod: Move AC_LIBOBJ invocations to module description.
11513         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
11514         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
11515
11516 2011-05-23  Bruno Haible  <bruno@clisp.org>
11517
11518         crc: Move AC_LIBOBJ invocations to module description.
11519         * m4/crc.m4: Remove file.
11520         * modules/crc (Files): Remove it.
11521         (configure.ac): Remove gl_CRC call.
11522         (Makefile.am): Augment lib_SOURCES.
11523
11524 2011-05-23  Bruno Haible  <bruno@clisp.org>
11525
11526         close-stream: Move AC_LIBOBJ invocations to module description.
11527         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
11528         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
11529
11530 2011-05-23  Bruno Haible  <bruno@clisp.org>
11531
11532         closeout: Move AC_LIBOBJ invocations to module description.
11533         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
11534         * modules/closeout (Makefile.am): Augment lib_SOURCES.
11535
11536 2011-05-23  Bruno Haible  <bruno@clisp.org>
11537
11538         closein: Move AC_LIBOBJ invocations to module description.
11539         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
11540         * modules/closein (Makefile.am): Augment lib_SOURCES.
11541
11542 2011-05-23  Bruno Haible  <bruno@clisp.org>
11543
11544         cloexec: Move AC_LIBOBJ invocations to module description.
11545         * m4/cloexec.m4: Remove file.
11546         * modules/cloexec (Files): Remove it.
11547         (configure.ac): Remove gl_CLOEXEC call.
11548         (Makefile.am): Augment lib_SOURCES.
11549
11550 2011-05-23  Bruno Haible  <bruno@clisp.org>
11551
11552         check-version: Move AC_LIBOBJ invocations to module description.
11553         * m4/check-version.m4: Remove file.
11554         * modules/check-version (Files): Remove it.
11555         (configure.ac): Remove gl_CHECK_VERSION call.
11556         (Makefile.am): Augment lib_SOURCES.
11557
11558 2011-05-23  Bruno Haible  <bruno@clisp.org>
11559
11560         chdir-safer: Move AC_LIBOBJ invocations to module description.
11561         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
11562         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
11563
11564 2011-05-23  Bruno Haible  <bruno@clisp.org>
11565
11566         canonicalize: Move AC_LIBOBJ invocations to module description.
11567         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
11568         AC_LIBOBJ invocation.
11569         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
11570
11571 2011-05-23  Bruno Haible  <bruno@clisp.org>
11572
11573         canon-host: Move AC_LIBOBJ invocations to module description.
11574         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
11575         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
11576         instead of gl_CANON_HOST.
11577         (Makefile.am): Augment lib_SOURCES.
11578
11579 2011-05-23  Bruno Haible  <bruno@clisp.org>
11580
11581         backupfile: Move AC_LIBOBJ invocations to module description.
11582         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
11583         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
11584
11585 2011-05-23  Bruno Haible  <bruno@clisp.org>
11586
11587         argmatch: Move AC_LIBOBJ invocations to module description.
11588         * m4/argmatch.m4: Remove file.
11589         * modules/argmatch (Files): Remove it.
11590         (configure.ac): Remove gl_ARGMATCH call.
11591         (Makefile.am): Augment lib_SOURCES.
11592
11593 2011-05-23  Bruno Haible  <bruno@clisp.org>
11594
11595         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
11596         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
11597         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
11598
11599 2011-05-23  Bruno Haible  <bruno@clisp.org>
11600
11601         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
11602         * m4/arcfour.m4: Remove file.
11603         * modules/crypto/arcfour (Files): Remove it.
11604         (configure.ac): Remove gl_ARCFOUR call.
11605         (Makefile.am): Augment lib_SOURCES.
11606
11607 2011-05-22  Bruno Haible  <bruno@clisp.org>
11608
11609         write: Move AC_LIBOBJ invocations to module description.
11610         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
11611         * modules/write (configure.ac): ... to here.
11612
11613 2011-05-22  Bruno Haible  <bruno@clisp.org>
11614
11615         wmemset: Move AC_LIBOBJ invocations to module description.
11616         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
11617         here...
11618         * modules/wmemset (configure.ac): ... to here.
11619
11620 2011-05-22  Bruno Haible  <bruno@clisp.org>
11621
11622         wmemmove: Move AC_LIBOBJ invocations to module description.
11623         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
11624         here...
11625         * modules/wmemmove (configure.ac): ... to here.
11626
11627 2011-05-22  Bruno Haible  <bruno@clisp.org>
11628
11629         wmemcpy: Move AC_LIBOBJ invocations to module description.
11630         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
11631         here...
11632         * modules/wmemcpy (configure.ac): ... to here.
11633
11634 2011-05-22  Bruno Haible  <bruno@clisp.org>
11635
11636         wmemcmp: Move AC_LIBOBJ invocations to module description.
11637         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
11638         here...
11639         * modules/wmemcmp (configure.ac): ... to here.
11640
11641 2011-05-22  Bruno Haible  <bruno@clisp.org>
11642
11643         wmemchr: Move AC_LIBOBJ invocations to module description.
11644         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
11645         here...
11646         * modules/wmemchr (configure.ac): ... to here.
11647
11648 2011-05-22  Bruno Haible  <bruno@clisp.org>
11649
11650         wcswidth: Move AC_LIBOBJ invocations to module description.
11651         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
11652         here...
11653         * modules/wcswidth (configure.ac): ... to here.
11654
11655 2011-05-22  Bruno Haible  <bruno@clisp.org>
11656
11657         wcwidth: Respect rules for use of AC_LIBOBJ.
11658         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
11659         invocation from here...
11660         * modules/wcwidth (configure.ac): ... to here.
11661         (Depends-on): Update conditions.
11662
11663 2011-05-22  Bruno Haible  <bruno@clisp.org>
11664
11665         wctype: Move AC_LIBOBJ invocations to module description.
11666         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
11667         invocation from here...
11668         * modules/wctype (configure.ac): ... to here.
11669         (Depends-on): Update conditions.
11670
11671 2011-05-22  Bruno Haible  <bruno@clisp.org>
11672
11673         wctrans: Move AC_LIBOBJ invocations to module description.
11674         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
11675         invocation from here...
11676         * modules/wctrans (configure.ac): ... to here.
11677
11678 2011-05-22  Bruno Haible  <bruno@clisp.org>
11679
11680         wctomb: Move AC_LIBOBJ invocations to module description.
11681         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
11682         invocations from here...
11683         * modules/wctomb (configure.ac): ... to here.
11684
11685 2011-05-22  Bruno Haible  <bruno@clisp.org>
11686
11687         wctob: Move AC_LIBOBJ invocations to module description.
11688         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
11689         gl_PREREQ_WCTOB invocations from here...
11690         * modules/wctob (configure.ac): ... to here.
11691         (Depends-on): Update conditions.
11692
11693 2011-05-22  Bruno Haible  <bruno@clisp.org>
11694
11695         wcsxfrm: Move AC_LIBOBJ invocations to module description.
11696         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
11697         here...
11698         * modules/wcsxfrm (configure.ac): ... to here.
11699
11700 2011-05-22  Bruno Haible  <bruno@clisp.org>
11701
11702         wcstok: Move AC_LIBOBJ invocations to module description.
11703         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
11704         * modules/wcstok (configure.ac): ... to here.
11705
11706 2011-05-22  Bruno Haible  <bruno@clisp.org>
11707
11708         wcsstr: Move AC_LIBOBJ invocations to module description.
11709         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
11710         * modules/wcsstr (configure.ac): ... to here.
11711
11712 2011-05-22  Bruno Haible  <bruno@clisp.org>
11713
11714         wcsspn: Move AC_LIBOBJ invocations to module description.
11715         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
11716         * modules/wcsspn (configure.ac): ... to here.
11717
11718 2011-05-22  Bruno Haible  <bruno@clisp.org>
11719
11720         wcsrtombs: Move AC_LIBOBJ invocations to module description.
11721         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
11722         gl_PREREQ_WCSRTOMBS invocations from here...
11723         * modules/wcsrtombs (configure.ac): ... to here.
11724
11725 2011-05-22  Bruno Haible  <bruno@clisp.org>
11726
11727         wcsrchr: Move AC_LIBOBJ invocations to module description.
11728         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
11729         here...
11730         * modules/wcsrchr (configure.ac): ... to here.
11731
11732 2011-05-22  Bruno Haible  <bruno@clisp.org>
11733
11734         wcspbrk: Move AC_LIBOBJ invocations to module description.
11735         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
11736         here...
11737         * modules/wcspbrk (configure.ac): ... to here.
11738
11739 2011-05-22  Bruno Haible  <bruno@clisp.org>
11740
11741         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
11742         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
11743         gl_PREREQ_WCSNRTOMBS invocations from here...
11744         * modules/wcsnrtombs (configure.ac): ... to here.
11745
11746 2011-05-22  Bruno Haible  <bruno@clisp.org>
11747
11748         wcsnlen: Move AC_LIBOBJ invocations to module description.
11749         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
11750         here...
11751         * modules/wcsnlen (configure.ac): ... to here.
11752
11753 2011-05-22  Bruno Haible  <bruno@clisp.org>
11754
11755         wcsncpy: Move AC_LIBOBJ invocations to module description.
11756         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
11757         here...
11758         * modules/wcsncpy (configure.ac): ... to here.
11759
11760 2011-05-22  Bruno Haible  <bruno@clisp.org>
11761
11762         wcsncmp: Move AC_LIBOBJ invocations to module description.
11763         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
11764         here...
11765         * modules/wcsncmp (configure.ac): ... to here.
11766
11767 2011-05-22  Bruno Haible  <bruno@clisp.org>
11768
11769         wcsncat: Move AC_LIBOBJ invocations to module description.
11770         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
11771         here...
11772         * modules/wcsncat (configure.ac): ... to here.
11773
11774 2011-05-22  Bruno Haible  <bruno@clisp.org>
11775
11776         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
11777         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
11778         from here...
11779         * modules/wcsncasecmp (configure.ac): ... to here.
11780
11781 2011-05-22  Bruno Haible  <bruno@clisp.org>
11782
11783         wcslen: Move AC_LIBOBJ invocations to module description.
11784         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
11785         * modules/wcslen (configure.ac): ... to here.
11786
11787 2011-05-22  Bruno Haible  <bruno@clisp.org>
11788
11789         wcsdup: Move AC_LIBOBJ invocations to module description.
11790         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
11791         * modules/wcsdup (configure.ac): ... to here.
11792
11793 2011-05-22  Bruno Haible  <bruno@clisp.org>
11794
11795         wcscspn: Move AC_LIBOBJ invocations to module description.
11796         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
11797         here...
11798         * modules/wcscspn (configure.ac): ... to here.
11799
11800 2011-05-22  Bruno Haible  <bruno@clisp.org>
11801
11802         wcscpy: Move AC_LIBOBJ invocations to module description.
11803         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
11804         * modules/wcscpy (configure.ac): ... to here.
11805
11806 2011-05-22  Bruno Haible  <bruno@clisp.org>
11807
11808         wcscoll: Move AC_LIBOBJ invocations to module description.
11809         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
11810         here...
11811         * modules/wcscoll (configure.ac): ... to here.
11812
11813 2011-05-22  Bruno Haible  <bruno@clisp.org>
11814
11815         wcscmp: Move AC_LIBOBJ invocations to module description.
11816         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
11817         * modules/wcscmp (configure.ac): ... to here.
11818
11819 2011-05-22  Bruno Haible  <bruno@clisp.org>
11820
11821         wcschr: Move AC_LIBOBJ invocations to module description.
11822         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
11823         * modules/wcschr (configure.ac): ... to here.
11824
11825 2011-05-22  Bruno Haible  <bruno@clisp.org>
11826
11827         wcscat: Move AC_LIBOBJ invocations to module description.
11828         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
11829         * modules/wcscat (configure.ac): ... to here.
11830
11831 2011-05-22  Bruno Haible  <bruno@clisp.org>
11832
11833         wcscasecmp: Move AC_LIBOBJ invocations to module description.
11834         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
11835         here...
11836         * modules/wcscasecmp (configure.ac): ... to here.
11837
11838 2011-05-22  Bruno Haible  <bruno@clisp.org>
11839
11840         wcrtomb: Move AC_LIBOBJ invocations to module description.
11841         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
11842         invocations from here...
11843         * modules/wcrtomb (configure.ac): ... to here.
11844
11845 2011-05-22  Bruno Haible  <bruno@clisp.org>
11846
11847         wcpncpy: Move AC_LIBOBJ invocations to module description.
11848         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
11849         here...
11850         * modules/wcpncpy (configure.ac): ... to here.
11851
11852 2011-05-22  Bruno Haible  <bruno@clisp.org>
11853
11854         wcpcpy: Move AC_LIBOBJ invocations to module description.
11855         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
11856         * modules/wcpcpy (configure.ac): ... to here.
11857
11858 2011-05-22  Bruno Haible  <bruno@clisp.org>
11859
11860         waitpid: Move AC_LIBOBJ invocations to module description.
11861         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
11862         invocation from here...
11863         * modules/waitpid (configure.ac): ... to here.
11864
11865 2011-05-22  Bruno Haible  <bruno@clisp.org>
11866
11867         utimensat: Move AC_LIBOBJ invocations to module description.
11868         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
11869         here...
11870         * modules/utimensat (configure.ac): ... to here.
11871
11872 2011-05-22  Bruno Haible  <bruno@clisp.org>
11873
11874         usleep: Move AC_LIBOBJ invocations to module description.
11875         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
11876         here...
11877         * modules/usleep (configure.ac): ... to here.
11878
11879 2011-05-22  Bruno Haible  <bruno@clisp.org>
11880
11881         unlockpt: Move AC_LIBOBJ invocations to module description.
11882         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
11883         gl_PREREQ_UNLOCKPT invocations from here...
11884         * modules/unlockpt (configure.ac): ... to here.
11885
11886 2011-05-22  Bruno Haible  <bruno@clisp.org>
11887
11888         unlink: Respect rules for use of AC_LIBOBJ.
11889         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
11890         * modules/unlink (configure.ac): ... to here.
11891
11892 2011-05-22  Bruno Haible  <bruno@clisp.org>
11893
11894         uname: Move AC_LIBOBJ invocations to module description.
11895         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
11896         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
11897         here...
11898         * modules/uname (configure.ac): ... to here.
11899
11900 2011-05-22  Bruno Haible  <bruno@clisp.org>
11901
11902         ttyname_r: Move AC_LIBOBJ invocations to module description.
11903         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
11904         gl_PREREQ_TTYNAME_R invocations from here...
11905         * modules/ttyname_r (configure.ac): ... to here.
11906
11907 2011-05-22  Bruno Haible  <bruno@clisp.org>
11908
11909         tsearch: Move AC_LIBOBJ invocations to module description.
11910         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
11911         invocations from here...
11912         * modules/tsearch (configure.ac): ... to here.
11913
11914 2011-05-22  Bruno Haible  <bruno@clisp.org>
11915
11916         towctrans: Move AC_LIBOBJ invocations to module description.
11917         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
11918         AC_LIBOBJ invocation from here...
11919         * modules/towctrans (configure.ac): ... to here.
11920
11921 2011-05-22  Bruno Haible  <bruno@clisp.org>
11922
11923         tmpfile: Move AC_LIBOBJ invocations to module description.
11924         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
11925         invocations from here...
11926         * modules/tmpfile (configure.ac): ... to here.
11927
11928 2011-05-22  Bruno Haible  <bruno@clisp.org>
11929
11930         times: Move AC_LIBOBJ invocations to module description.
11931         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
11932         * modules/times (configure.ac): ... to here.
11933
11934 2011-05-22  Bruno Haible  <bruno@clisp.org>
11935
11936         time_r: Move AC_LIBOBJ invocations to module description.
11937         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
11938         invocations from here...
11939         * modules/time_r (configure.ac): ... to here.
11940
11941 2011-05-22  Bruno Haible  <bruno@clisp.org>
11942
11943         timegm: Move AC_LIBOBJ invocations to module description.
11944         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
11945         invocations from here...
11946         * modules/timegm (configure.ac): ... to here.
11947
11948 2011-05-22  Bruno Haible  <bruno@clisp.org>
11949
11950         tcgetsid: Move AC_LIBOBJ invocations to module description.
11951         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
11952         and gl_PREREQ_TCGETSID invocations from here...
11953         * modules/tcgetsid (configure.ac): ... to here.
11954         (Depends-on): Update conditions.
11955
11956 2011-05-22  Bruno Haible  <bruno@clisp.org>
11957
11958         symlinkat: Move AC_LIBOBJ invocations to module description.
11959         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
11960         here...
11961         * modules/symlinkat (configure.ac): ... to here.
11962
11963 2011-05-22  Bruno Haible  <bruno@clisp.org>
11964
11965         symlink: Move AC_LIBOBJ invocations to module description.
11966         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
11967         here...
11968         * modules/symlink (configure.ac): ... to here.
11969
11970 2011-05-22  Bruno Haible  <bruno@clisp.org>
11971
11972         strverscmp: Move AC_LIBOBJ invocations to module description.
11973         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
11974         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
11975         from here...
11976         * modules/strverscmp (configure.ac): ... to here.
11977
11978 2011-05-22  Bruno Haible  <bruno@clisp.org>
11979
11980         strtok_r: Move AC_LIBOBJ invocations to module description.
11981         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
11982         and gl_PREREQ_STRTOK_R invocations from here...
11983         * modules/strtok_r (configure.ac): ... to here.
11984         (Depends-on): Update conditions.
11985
11986 2011-05-22  Bruno Haible  <bruno@clisp.org>
11987
11988         strtoumax: Move AC_LIBOBJ invocations to module description.
11989         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
11990         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
11991         from here...
11992         * modules/strtoumax (configure.ac): ... to here.
11993
11994 2011-05-22  Bruno Haible  <bruno@clisp.org>
11995
11996         strtoimax: Move AC_LIBOBJ invocations to module description.
11997         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
11998         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
11999         from here...
12000         * modules/strtoimax (configure.ac): ... to here.
12001
12002 2011-05-22  Bruno Haible  <bruno@clisp.org>
12003
12004         strtoull: Move AC_LIBOBJ invocations to module description.
12005         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
12006         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
12007         from here...
12008         * modules/strtoull (configure.ac): ... to here.
12009
12010 2011-05-22  Bruno Haible  <bruno@clisp.org>
12011
12012         strtoll: Move AC_LIBOBJ invocations to module description.
12013         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
12014         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
12015         here...
12016         * modules/strtoll (configure.ac): ... to here.
12017
12018 2011-05-22  Bruno Haible  <bruno@clisp.org>
12019
12020         strtoul: Move AC_LIBOBJ invocations to module description.
12021         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
12022         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12023         * modules/strtoul (configure.ac): ... to here.
12024
12025 2011-05-22  Bruno Haible  <bruno@clisp.org>
12026
12027         strtol: Move AC_LIBOBJ invocations to module description.
12028         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
12029         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12030         * modules/strtol (configure.ac): ... to here.
12031
12032 2011-05-22  Bruno Haible  <bruno@clisp.org>
12033
12034         strtod: Move AC_LIBOBJ invocations to module description.
12035         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
12036         invocations from here...
12037         * modules/strtod (configure.ac): ... to here.
12038
12039 2011-05-22  Bruno Haible  <bruno@clisp.org>
12040
12041         strstr*: Move AC_LIBOBJ invocations to module description.
12042         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
12043         invocations from here...
12044         * modules/strstr-simple (configure.ac): ... to here.
12045         * modules/strstr (configure.ac): ... and here.
12046
12047 2011-05-22  Bruno Haible  <bruno@clisp.org>
12048
12049         strsignal: Move AC_LIBOBJ invocations to module description.
12050         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
12051         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
12052         * modules/strsignal (configure.ac): ... to here.
12053         (Depends-on): Update conditions.
12054
12055 2011-05-22  Bruno Haible  <bruno@clisp.org>
12056
12057         strsep: Move AC_LIBOBJ invocations to module description.
12058         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
12059         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
12060         here...
12061         * modules/strsep (configure.ac): ... to here.
12062
12063 2011-05-22  Bruno Haible  <bruno@clisp.org>
12064
12065         strptime: Move AC_LIBOBJ invocations to module description.
12066         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
12067         gl_PREREQ_STRPTIME invocations from here...
12068         * modules/strptime (configure.ac): ... to here.
12069
12070 2011-05-22  Bruno Haible  <bruno@clisp.org>
12071
12072         strpbrk: Move AC_LIBOBJ invocations to module description.
12073         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
12074         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
12075         here...
12076         * modules/strpbrk (configure.ac): ... to here.
12077
12078 2011-05-22  Bruno Haible  <bruno@clisp.org>
12079
12080         strnlen: Move AC_LIBOBJ invocations to module description.
12081         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
12082         invocations from here...
12083         * modules/strnlen (configure.ac): ... to here.
12084
12085 2011-05-22  Bruno Haible  <bruno@clisp.org>
12086
12087         strndup: Move AC_LIBOBJ invocations to module description.
12088         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
12089         invocations from here...
12090         * modules/strndup (configure.ac): ... to here.
12091         (Depends-on): Update conditions.
12092
12093 2011-05-22  Bruno Haible  <bruno@clisp.org>
12094
12095         strncat: Move AC_LIBOBJ invocations to module description.
12096         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
12097         invocations from here...
12098         * modules/strncat (configure.ac): ... to here.
12099
12100 2011-05-22  Bruno Haible  <bruno@clisp.org>
12101
12102         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
12103         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
12104         invocations from here...
12105         * modules/strdup (configure.ac): ... to here.
12106         * modules/strdup-posix (configure.ac): ... and here.
12107
12108 2011-05-22  Bruno Haible  <bruno@clisp.org>
12109
12110         strcspn: Move AC_LIBOBJ invocations to module description.
12111         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
12112         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
12113         here...
12114         * modules/strcspn (configure.ac): ... to here.
12115
12116 2011-05-22  Bruno Haible  <bruno@clisp.org>
12117
12118         strchrnul: Move AC_LIBOBJ invocations to module description.
12119         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
12120         gl_PREREQ_STRCHRNUL invocations from here...
12121         * modules/strchrnul (configure.ac): ... to here.
12122
12123 2011-05-22  Bruno Haible  <bruno@clisp.org>
12124
12125         strcasestr*: Move AC_LIBOBJ invocations to module description.
12126         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
12127         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
12128         * modules/strcasestr-simple (configure.ac): ... to here.
12129         * modules/strcasestr (configure.ac): ... and here.
12130
12131 2011-05-22  Bruno Haible  <bruno@clisp.org>
12132
12133         strcase: Move AC_LIBOBJ invocations to module description.
12134         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
12135         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
12136         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
12137         gl_PREREQ_STRNCASECMP invocations from here...
12138         * modules/strcase (configure.ac): ... to here.
12139
12140 2011-05-22  Bruno Haible  <bruno@clisp.org>
12141
12142         stpncpy: Move AC_LIBOBJ invocations to module description.
12143         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
12144         here...
12145         * modules/stpncpy (configure.ac): ... to here.
12146
12147 2011-05-22  Bruno Haible  <bruno@clisp.org>
12148
12149         stpcpy: Move AC_LIBOBJ invocations to module description.
12150         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
12151         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
12152         here...
12153         * modules/stpcpy (configure.ac): ... to here.
12154
12155 2011-05-21  Bruno Haible  <bruno@clisp.org>
12156
12157         stat: Move AC_LIBOBJ invocations to module description.
12158         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
12159         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
12160         here...
12161         * modules/stat (configure.ac): ... to here.
12162
12163 2011-05-21  Bruno Haible  <bruno@clisp.org>
12164
12165         sleep: Move AC_LIBOBJ invocations to module description.
12166         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
12167         * modules/sleep (configure.ac): ... to here.
12168
12169 2011-05-21  Bruno Haible  <bruno@clisp.org>
12170
12171         signbit: Move AC_LIBOBJ invocations to module description.
12172         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
12173         * modules/signbit (configure.ac): ... to here.
12174
12175 2011-05-21  Bruno Haible  <bruno@clisp.org>
12176
12177         sigprocmask: Move AC_LIBOBJ invocations to module description.
12178         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
12179         gl_PREREQ_SIGPROMASK invocations from here...
12180         * modules/sigprocmask (configure.ac): ... to here.
12181
12182 2011-05-21  Bruno Haible  <bruno@clisp.org>
12183
12184         sigaction: Move AC_LIBOBJ invocations to module description.
12185         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
12186         gl_PREREQ_SIGACTION invocations from here...
12187         * modules/sigaction (configure.ac): ... to here.
12188
12189 2011-05-21  Bruno Haible  <bruno@clisp.org>
12190
12191         sig2str: Move AC_LIBOBJ invocations to module description.
12192         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
12193         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
12194         here...
12195         * modules/sig2str (configure.ac): ... to here.
12196
12197 2011-05-21  Bruno Haible  <bruno@clisp.org>
12198
12199         setlocale: Move AC_LIBOBJ invocations to module description.
12200         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
12201         gl_PREREQ_SETLOCALE invocations from here...
12202         * modules/setlocale (configure.ac): ... to here.
12203
12204 2011-05-21  Bruno Haible  <bruno@clisp.org>
12205
12206         unsetenv: Move AC_LIBOBJ invocations to module description.
12207         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
12208         and gl_PREREQ_UNSETENV invocations from here...
12209         * modules/unsetenv (configure.ac): ... to here.
12210         (Depends-on): Update.
12211
12212 2011-05-21  Bruno Haible  <bruno@clisp.org>
12213
12214         setenv: Move AC_LIBOBJ invocations to module description.
12215         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
12216         here...
12217         * modules/setenv (configure.ac): ... to here.
12218
12219 2011-05-21  Bruno Haible  <bruno@clisp.org>
12220
12221         selinux-h: Move AC_LIBOBJ invocations to module description.
12222         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
12223         AC_LIBOBJ invocation from here...
12224         * modules/selinux-h (configure.ac): ... to here.
12225
12226 2011-05-21  Bruno Haible  <bruno@clisp.org>
12227
12228         select: Respect rules for use of AC_LIBOBJ.
12229         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
12230         here...
12231         * modules/select (configure.ac): ... to here.
12232
12233 2011-05-21  Bruno Haible  <bruno@clisp.org>
12234
12235         scandir: Move AC_LIBOBJ invocations to module description.
12236         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
12237         invocations from here...
12238         * modules/scandir (configure.ac): ... to here.
12239
12240 2011-05-21  Bruno Haible  <bruno@clisp.org>
12241
12242         rpmatch: Move AC_LIBOBJ invocations to module description.
12243         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
12244         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
12245         here...
12246         * modules/rpmatch (configure.ac): ... to here.
12247
12248 2011-05-21  Bruno Haible  <bruno@clisp.org>
12249
12250         rmdir: Respect rules for use of AC_LIBOBJ.
12251         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
12252         * modules/rmdir (configure.ac): ... to here.
12253
12254 2011-05-21  Bruno Haible  <bruno@clisp.org>
12255
12256         renameat: Move AC_LIBOBJ invocations to module description.
12257         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
12258         here...
12259         * modules/renameat (configure.ac): ... to here.
12260
12261 2011-05-21  Bruno Haible  <bruno@clisp.org>
12262
12263         rename: Respect rules for use of AC_LIBOBJ.
12264         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
12265         here...
12266         * modules/rename (configure.ac): ... to here.
12267
12268 2011-05-21  Bruno Haible  <bruno@clisp.org>
12269
12270         remove: Move AC_LIBOBJ invocations to module description.
12271         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
12272         here...
12273         * modules/remove (configure.ac): ... to here.
12274
12275 2011-05-21  Bruno Haible  <bruno@clisp.org>
12276
12277         relocatable-lib: Move AC_LIBOBJ invocations to module description.
12278         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
12279         macro.
12280         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
12281         * modules/relocatable-lib (configure.ac): ... to here.
12282         * modules/relocatable-prog-wrapper (configure.ac): Invoke
12283         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
12284
12285 2011-05-21  Bruno Haible  <bruno@clisp.org>
12286
12287         relocatable-prog: Move AC_LIBOBJ invocations to module description.
12288         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
12289         here...
12290         * modules/relocatable-prog (configure.ac): ... to here.
12291
12292 2011-05-21  Bruno Haible  <bruno@clisp.org>
12293
12294         regex: Move AC_LIBOBJ invocations to module description.
12295         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
12296         invocations from here...
12297         * modules/regex (configure.ac): ... to here.
12298
12299 2011-05-21  Bruno Haible  <bruno@clisp.org>
12300
12301         realloc-*: Move AC_LIBOBJ invocations to module description.
12302         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
12303         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
12304         AC_LIBOBJ invocations from here...
12305         * modules/realloc-gnu (configure.ac): ... to here.
12306         * modules/realloc-posix (configure.ac): ... and here.
12307
12308 2011-05-21  Bruno Haible  <bruno@clisp.org>
12309
12310         readutmp: Move AC_LIBOBJ invocations to module description.
12311         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
12312         * modules/readutmp (configure.ac): ... to here.
12313
12314 2011-05-21  Bruno Haible  <bruno@clisp.org>
12315
12316         readlinkat: Move AC_LIBOBJ invocations to module description.
12317         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
12318         here...
12319         * modules/readlinkat (configure.ac): ... to here.
12320
12321 2011-05-21  Bruno Haible  <bruno@clisp.org>
12322
12323         readlink: Move AC_LIBOBJ invocations to module description.
12324         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
12325         gl_PREREQ_READLINK invocations from here...
12326         * modules/readlink (configure.ac): ... to here.
12327
12328 2011-05-21  Bruno Haible  <bruno@clisp.org>
12329
12330         readline: Move AC_LIBOBJ invocations to module description.
12331         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
12332         gl_PREREQ_READLINE invocations from here...
12333         * modules/readline (configure.ac): ... to here.
12334
12335 2011-05-21  Bruno Haible  <bruno@clisp.org>
12336
12337         read: Move AC_LIBOBJ invocations to module description.
12338         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
12339         * modules/read (configure.ac): ... to here.
12340
12341 2011-05-21  Bruno Haible  <bruno@clisp.org>
12342
12343         rawmemchr: Move AC_LIBOBJ invocations to module description.
12344         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
12345         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
12346         from here...
12347         * modules/rawmemchr (configure.ac): ... to here.
12348
12349 2011-05-21  Bruno Haible  <bruno@clisp.org>
12350
12351         random_r: Move AC_LIBOBJ invocations to module description.
12352         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
12353         gl_PREREQ_RANDOM_R invocations from here...
12354         * modules/random_r (configure.ac): ... to here.
12355
12356 2011-05-21  Bruno Haible  <bruno@clisp.org>
12357
12358         pwrite: Move AC_LIBOBJ invocations to module description.
12359         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
12360         * modules/pwrite (configure.ac): ... to here.
12361
12362 2011-05-21  Bruno Haible  <bruno@clisp.org>
12363
12364         putenv: Move AC_LIBOBJ invocations to module description.
12365         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
12366         * modules/putenv (configure.ac): ... to here.
12367
12368 2011-05-21  Bruno Haible  <bruno@clisp.org>
12369
12370         login_tty: Move AC_LIBOBJ invocations to module description.
12371         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
12372         * modules/login_tty (configure.ac): ... to here.
12373
12374 2011-05-21  Bruno Haible  <bruno@clisp.org>
12375
12376         openpty: Move AC_LIBOBJ invocations to module description.
12377         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
12378         * modules/openpty (configure.ac): ... to here.
12379
12380 2011-05-21  Bruno Haible  <bruno@clisp.org>
12381
12382         forkpty: Move AC_LIBOBJ invocations to module description.
12383         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
12384         * modules/forkpty (configure.ac): ... to here.
12385
12386 2011-05-21  Bruno Haible  <bruno@clisp.org>
12387
12388         ptsname: Move AC_LIBOBJ invocations to module description.
12389         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
12390         invocations from here...
12391         * modules/ptsname (configure.ac): ... to here.
12392
12393 2011-05-21  Bruno Haible  <bruno@clisp.org>
12394
12395         pread: Move AC_LIBOBJ invocations to module description.
12396         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
12397         * modules/pread (configure.ac): ... to here.
12398
12399 2011-05-21  Bruno Haible  <bruno@clisp.org>
12400
12401         posix_spawn*: Move AC_LIBOBJ invocations to module description.
12402         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
12403         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
12404         * modules/posix_spawn (configure.ac): ... to here.
12405         * modules/posix_spawnp (configure.ac): ... and here.
12406
12407 2011-05-21  Bruno Haible  <bruno@clisp.org>
12408
12409         popen: Move AC_LIBOBJ invocations to module description.
12410         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
12411         invocations from here...
12412         * modules/popen (configure.ac): ... to here.
12413
12414 2011-05-21  Bruno Haible  <bruno@clisp.org>
12415
12416         poll: Move AC_LIBOBJ invocations to module description.
12417         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
12418         invocations from here...
12419         * modules/poll (configure.ac): ... to here.
12420
12421 2011-05-21  Bruno Haible  <bruno@clisp.org>
12422
12423         pipe-posix: Move AC_LIBOBJ invocations to module description.
12424         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
12425         * modules/pipe-posix (configure.ac): ... to here.
12426
12427 2011-05-21  Bruno Haible  <bruno@clisp.org>
12428
12429         openat: Respect rules for use of AC_LIBOBJ.
12430         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
12431         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12432         * modules/openat (configure.ac): ... to here.
12433
12434 2011-05-21  Bruno Haible  <bruno@clisp.org>
12435
12436         obstack-printf*: Move AC_LIBOBJ invocations to module description.
12437         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
12438         invocation from here...
12439         * modules/obstack-printf (configure.ac): ... to here.
12440         * modules/obstack-printf-posix (configure.ac): ... and here.
12441
12442 2011-05-21  Bruno Haible  <bruno@clisp.org>
12443
12444         nl_langinfo: Move AC_LIBOBJ invocations to module description.
12445         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
12446         from here...
12447         * modules/nl_langinfo (configure.ac): ... to here.
12448
12449 2011-05-21  Bruno Haible  <bruno@clisp.org>
12450
12451         nanosleep: Move AC_LIBOBJ invocations to module description.
12452         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
12453         gl_PREREQ_NANOSLEEP invocations from here...
12454         * modules/nanosleep (configure.ac): ... to here.
12455
12456 2011-05-21  Bruno Haible  <bruno@clisp.org>
12457
12458         mountlist: Move AC_LIBOBJ invocations to module description.
12459         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
12460         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
12461         * modules/mountlist (configure.ac): ... to here.
12462
12463 2011-05-21  Bruno Haible  <bruno@clisp.org>
12464
12465         mktime: Respect rules for use of AC_LIBOBJ.
12466         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
12467         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
12468         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
12469         (gl_FUNC_MKTIME_INTERNAL): ... and here...
12470         * modules/mktime (configure.ac): ... to here.
12471         * modules/mktime-internal (configure.ac): ... and here.
12472         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
12473
12474 2011-05-21  Bruno Haible  <bruno@clisp.org>
12475
12476         mkstemps: Move AC_LIBOBJ invocations to module description.
12477         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
12478         here...
12479         * modules/mkstemps (configure.ac): ... to here.
12480
12481 2011-05-21  Bruno Haible  <bruno@clisp.org>
12482
12483         mkstemp: Move AC_LIBOBJ invocations to module description.
12484         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
12485         gl_PREREQ_MKSTEMP invocations from here...
12486         * modules/mkstemp (configure.ac): ... to here.
12487
12488 2011-05-21  Bruno Haible  <bruno@clisp.org>
12489
12490         mkostemps: Move AC_LIBOBJ invocations to module description.
12491         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
12492         here...
12493         * modules/mkostemps (configure.ac): ... to here.
12494
12495 2011-05-21  Bruno Haible  <bruno@clisp.org>
12496
12497         mkostemp: Move AC_LIBOBJ invocations to module description.
12498         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
12499         gl_PREREQ_MKOSTEMP invocations from here...
12500         * modules/mkostemp (configure.ac): ... to here.
12501
12502 2011-05-21  Bruno Haible  <bruno@clisp.org>
12503
12504         mknod: Move AC_LIBOBJ invocations to module description.
12505         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
12506         * modules/mknod (configure.ac): ... to here.
12507
12508 2011-05-21  Bruno Haible  <bruno@clisp.org>
12509
12510         mkfifoat: Move AC_LIBOBJ invocations to module description.
12511         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
12512         here...
12513         * modules/mkfifoat (configure.ac): ... to here.
12514
12515 2011-05-21  Bruno Haible  <bruno@clisp.org>
12516
12517         mkfifo: Respect rules for use of AC_LIBOBJ.
12518         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
12519         here...
12520         * modules/mkfifo (configure.ac): ... to here.
12521
12522 2011-05-21  Bruno Haible  <bruno@clisp.org>
12523
12524         mkdtemp: Move AC_LIBOBJ invocations to module description.
12525         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
12526         invocations from here...
12527         * modules/mkdtemp (configure.ac): ... to here.
12528
12529 2011-05-21  Bruno Haible  <bruno@clisp.org>
12530
12531         mkdir: Move AC_LIBOBJ invocations to module description.
12532         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
12533         * modules/mkdir (configure.ac): ... to here.
12534
12535 2011-05-21  Bruno Haible  <bruno@clisp.org>
12536
12537         memset: Move AC_LIBOBJ invocations to module description.
12538         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
12539         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
12540         here...
12541         * modules/memset (configure.ac): ... to here.
12542
12543 2011-05-21  Bruno Haible  <bruno@clisp.org>
12544
12545         memrchr: Move AC_LIBOBJ invocations to module description.
12546         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
12547         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
12548         here...
12549         * modules/memrchr (configure.ac): ... to here.
12550
12551 2011-05-21  Bruno Haible  <bruno@clisp.org>
12552
12553         mempcpy: Move AC_LIBOBJ invocations to module description.
12554         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
12555         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
12556         here...
12557         * modules/mempcpy (configure.ac): ... to here.
12558
12559 2011-05-21  Bruno Haible  <bruno@clisp.org>
12560
12561         memmove: Move AC_LIBOBJ invocations to module description.
12562         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
12563         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
12564         here...
12565         * modules/memmove (configure.ac): ... to here.
12566
12567 2011-05-21  Bruno Haible  <bruno@clisp.org>
12568
12569         memmem*: Move AC_LIBOBJ invocations to module description.
12570         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
12571         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
12572         here...
12573         (gl_FUNC_MEMMEM): ... and here...
12574         * modules/memmem-simple (configure.ac): ... to here.
12575         * modules/memmem (configure.ac): ... and here.
12576
12577 2011-05-21  Bruno Haible  <bruno@clisp.org>
12578
12579         memcpy: Move AC_LIBOBJ invocations to module description.
12580         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
12581         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
12582         here...
12583         * modules/memcpy (configure.ac): ... to here.
12584
12585 2011-05-21  Bruno Haible  <bruno@clisp.org>
12586
12587         memcmp: Simplify autoconf macro.
12588         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
12589         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
12590         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
12591
12592 2011-05-21  Bruno Haible  <bruno@clisp.org>
12593
12594         memcmp: Move AC_LIBOBJ invocations to module description.
12595         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
12596         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
12597         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
12598         * modules/memcmp (configure.ac): ... to here.
12599         (Depends-on): Update conditions.
12600
12601 2011-05-21  Bruno Haible  <bruno@clisp.org>
12602
12603         memchr: Respect rules for use of AC_LIBOBJ.
12604         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
12605         invocations from here...
12606         * modules/memchr (configure.ac): ... to here.
12607
12608 2011-05-21  Bruno Haible  <bruno@clisp.org>
12609
12610         mbtowc: Move AC_LIBOBJ invocations to module description.
12611         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
12612         invocations from here...
12613         * modules/mbtowc (configure.ac): ... to here.
12614
12615 2011-05-21  Bruno Haible  <bruno@clisp.org>
12616
12617         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
12618         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
12619         gl_PREREQ_MBSRTOWCS invocations from here...
12620         * modules/mbsrtowcs (configure.ac): ... to here.
12621
12622 2011-05-21  Bruno Haible  <bruno@clisp.org>
12623
12624         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
12625         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
12626         gl_PREREQ_MBSNRTOWCS invocations from here...
12627         * modules/mbsnrtowcs (configure.ac): ... to here.
12628
12629 2011-05-21  Bruno Haible  <bruno@clisp.org>
12630
12631         mbsinit: Move AC_LIBOBJ invocations to module description.
12632         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
12633         invocations from here...
12634         * modules/mbsinit (configure.ac): ... to here.
12635
12636 2011-05-21  Bruno Haible  <bruno@clisp.org>
12637
12638         mbrlen: Move AC_LIBOBJ invocations to module description.
12639         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
12640         invocations from here...
12641         * modules/mbrlen (configure.ac): ... to here.
12642
12643 2011-05-21  Bruno Haible  <bruno@clisp.org>
12644
12645         mbrtowc: Respect rules for use of AC_LIBOBJ.
12646         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
12647         invocations from here...
12648         * modules/mbrtowc (configure.ac): ... to here.
12649
12650 2011-05-21  Bruno Haible  <bruno@clisp.org>
12651
12652         malloc-*: Move AC_LIBOBJ invocations to module description.
12653         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
12654         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
12655         AC_LIBOBJ invocations from here...
12656         * modules/malloc-gnu (configure.ac): ... to here.
12657         * modules/malloc-posix (configure.ac): ... and here.
12658
12659 2011-05-21  Bruno Haible  <bruno@clisp.org>
12660
12661         lstat, openat: Respect rules for use of AC_LIBOBJ.
12662         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
12663         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
12664         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
12665         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
12666         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
12667         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
12668         here.
12669         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
12670
12671 2011-05-21  Bruno Haible  <bruno@clisp.org>
12672
12673         lseek: Move AC_LIBOBJ invocations to module description.
12674         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
12675         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12676         * modules/lseek (configure.ac): ... to here.
12677
12678 2011-05-21  Bruno Haible  <bruno@clisp.org>
12679
12680         linkat: Move AC_LIBOBJ invocations to module description.
12681         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
12682         here...
12683         * modules/linkat (configure.ac): ... to here.
12684
12685 2011-05-21  Bruno Haible  <bruno@clisp.org>
12686
12687         link: Respect rules for use of AC_LIBOBJ.
12688         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
12689         * modules/link (configure.ac): ... to here.
12690
12691 2011-05-21  Bruno Haible  <bruno@clisp.org>
12692
12693         lchown: Move AC_LIBOBJ invocations to module description.
12694         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12695         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12696         * modules/lchown (configure.ac): ... to here.
12697
12698 2011-05-21  Bruno Haible  <bruno@clisp.org>
12699
12700         iswctype: Move AC_LIBOBJ invocations to module description.
12701         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
12702         here...
12703         * modules/iswctype (configure.ac): ... to here.
12704
12705 2011-05-21  Bruno Haible  <bruno@clisp.org>
12706
12707         iswblank: Move AC_LIBOBJ invocations to module description.
12708         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
12709         here...
12710         * modules/iswblank (configure.ac): ... to here.
12711
12712 2011-05-21  Bruno Haible  <bruno@clisp.org>
12713
12714         atanl: Move AC_LIBOBJ invocations to module description.
12715         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
12716         * modules/atanl (configure.ac): ... to here.
12717
12718 2011-05-21  Bruno Haible  <bruno@clisp.org>
12719
12720         acosl: Move AC_LIBOBJ invocations to module description.
12721         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
12722         * modules/acosl (configure.ac): ... to here.
12723
12724 2011-05-21  Bruno Haible  <bruno@clisp.org>
12725
12726         asinl: Respect rules for use of AC_LIBOBJ.
12727         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
12728         * modules/asinl (configure.ac): ... to here.
12729
12730 2011-05-21  Bruno Haible  <bruno@clisp.org>
12731
12732         tanl: Move AC_LIBOBJ invocations to module description.
12733         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
12734         * modules/tanl (configure.ac): ... to here.
12735
12736 2011-05-21  Bruno Haible  <bruno@clisp.org>
12737
12738         cosl: Move AC_LIBOBJ invocations to module description.
12739         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
12740         * modules/cosl (configure.ac): ... to here.
12741
12742 2011-05-21  Bruno Haible  <bruno@clisp.org>
12743
12744         sinl: Move AC_LIBOBJ invocations to module description.
12745         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
12746         * modules/sinl (configure.ac): ... to here.
12747
12748 2011-05-21  Bruno Haible  <bruno@clisp.org>
12749
12750         logl: Move AC_LIBOBJ invocations to module description.
12751         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
12752         * modules/logl (configure.ac): ... to here.
12753
12754 2011-05-21  Bruno Haible  <bruno@clisp.org>
12755
12756         expl: Move AC_LIBOBJ invocations to module description.
12757         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
12758         * modules/expl (configure.ac): ... to here.
12759
12760 2011-05-21  Bruno Haible  <bruno@clisp.org>
12761
12762         roundl: Move AC_LIBOBJ invocations to module description.
12763         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
12764         * modules/roundl (configure.ac): ... to here.
12765
12766 2011-05-21  Bruno Haible  <bruno@clisp.org>
12767
12768         round: Move AC_LIBOBJ invocations to module description.
12769         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
12770         * modules/round (configure.ac): ... to here.
12771
12772 2011-05-21  Bruno Haible  <bruno@clisp.org>
12773
12774         roundf: Move AC_LIBOBJ invocations to module description.
12775         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
12776         * modules/roundf (configure.ac): ... to here.
12777
12778 2011-05-21  Bruno Haible  <bruno@clisp.org>
12779
12780         truncl: Move AC_LIBOBJ invocations to module description.
12781         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
12782         * modules/truncl (configure.ac): ... to here.
12783
12784 2011-05-21  Bruno Haible  <bruno@clisp.org>
12785
12786         trunc: Move AC_LIBOBJ invocations to module description.
12787         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
12788         * modules/trunc (configure.ac): ... to here.
12789
12790 2011-05-21  Bruno Haible  <bruno@clisp.org>
12791
12792         truncf: Move AC_LIBOBJ invocations to module description.
12793         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
12794         * modules/truncf (configure.ac): ... to here.
12795
12796 2011-05-21  Bruno Haible  <bruno@clisp.org>
12797
12798         ceill: Move AC_LIBOBJ invocations to module description.
12799         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
12800         * modules/ceill (configure.ac): ... to here.
12801
12802 2011-05-21  Bruno Haible  <bruno@clisp.org>
12803
12804         ceil: Move AC_LIBOBJ invocations to module description.
12805         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
12806         * modules/ceil (configure.ac): ... to here.
12807
12808 2011-05-21  Bruno Haible  <bruno@clisp.org>
12809
12810         ceilf: Move AC_LIBOBJ invocations to module description.
12811         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
12812         * modules/ceilf (configure.ac): ... to here.
12813
12814 2011-05-21  Bruno Haible  <bruno@clisp.org>
12815
12816         floorl: Respect rules for use of AC_LIBOBJ.
12817         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
12818         * modules/floorl (configure.ac): ... to here.
12819
12820 2011-05-21  Bruno Haible  <bruno@clisp.org>
12821
12822         floor: Respect rules for use of AC_LIBOBJ.
12823         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
12824         * modules/floor (configure.ac): ... to here.
12825
12826 2011-05-21  Bruno Haible  <bruno@clisp.org>
12827
12828         floorf: Move AC_LIBOBJ invocations to module description.
12829         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
12830         * modules/floorf (configure.ac): ... to here.
12831
12832 2011-05-20  Bruno Haible  <bruno@clisp.org>
12833
12834         sqrtl: Respect rules for use of AC_LIBOBJ.
12835         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
12836         * modules/sqrtl (configure.ac): ... to here.
12837
12838 2011-05-20  Bruno Haible  <bruno@clisp.org>
12839
12840         ldexpl: Respect rules for use of AC_LIBOBJ.
12841         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
12842         * modules/ldexpl (configure.ac): ... to here.
12843
12844 2011-05-20  Bruno Haible  <bruno@clisp.org>
12845
12846         frexpl*: Respect rules for use of AC_LIBOBJ.
12847         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
12848         invocation from here...
12849         * modules/frexpl (configure.ac): ... to here.
12850         * modules/frexpl-nolibm (configure.ac): ... and here.
12851
12852 2011-05-20  Bruno Haible  <bruno@clisp.org>
12853
12854         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
12855         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
12856         invocation from here...
12857         * modules/frexp (configure.ac): ... to here.
12858         * modules/frexp-nolibm (configure.ac): ... and here.
12859
12860 2011-05-20  Bruno Haible  <bruno@clisp.org>
12861
12862         isnan: Respect rules for use of AC_LIBOBJ.
12863         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
12864         invocations here.
12865         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
12866         REPLACE_ISNAN.
12867         * modules/isnand (configure.ac): Likewise.
12868         * modules/isnanl (configure.ac): Likewise.
12869
12870 2011-05-20  Bruno Haible  <bruno@clisp.org>
12871
12872         isnanl*: Respect rules for use of AC_LIBOBJ.
12873         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
12874         invocation from here...
12875         * modules/isnanl (configure.ac): ... to here.
12876         * modules/isnanl-nolibm (configure.ac): ... and here.
12877
12878 2011-05-20  Bruno Haible  <bruno@clisp.org>
12879
12880         isnand*: Move AC_LIBOBJ invocations to module description.
12881         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
12882         invocation from here...
12883         * modules/isnand (configure.ac): ... to here.
12884         * modules/isnand-nolibm (configure.ac): ... and here.
12885
12886 2011-05-20  Bruno Haible  <bruno@clisp.org>
12887
12888         isnanf*: Move AC_LIBOBJ invocations to module description.
12889         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
12890         invocation from here...
12891         * modules/isnanf (configure.ac): ... to here.
12892         * modules/isnanf-nolibm (configure.ac): ... and here.
12893
12894 2011-05-20  Bruno Haible  <bruno@clisp.org>
12895
12896         isnan*: Separate the AC_LIBOBJ invocations.
12897         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
12898         AC_LIBOBJ invocation.
12899         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
12900         here.
12901         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
12902         AC_LIBOBJ invocation.
12903         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
12904         here.
12905         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
12906         AC_LIBOBJ invocation.
12907         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
12908         here.
12909         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
12910
12911 2011-05-08  Bruno Haible  <bruno@clisp.org>
12912
12913         isinf: Move AC_LIBOBJ invocations to module description.
12914         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
12915         * modules/isinf (configure.ac): ... to here.
12916
12917 2011-05-08  Bruno Haible  <bruno@clisp.org>
12918
12919         isfinite: Move AC_LIBOBJ invocations to module description.
12920         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
12921         * modules/isfinite (configure.ac): ... to here.
12922
12923 2011-05-08  Bruno Haible  <bruno@clisp.org>
12924
12925         isblank: Move AC_LIBOBJ invocations to module description.
12926         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
12927         here...
12928         * modules/isblank (configure.ac): ... to here.
12929
12930 2011-05-08  Bruno Haible  <bruno@clisp.org>
12931
12932         isapipe: Move AC_LIBOBJ invocations to module description.
12933         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
12934         gl_PREREQ_ISAPIPE invocations from here...
12935         * modules/isapipe (configure.ac): ... to here.
12936         (Depends-on): Update condition.
12937
12938 2011-05-08  Bruno Haible  <bruno@clisp.org>
12939
12940         ioctl: Move AC_LIBOBJ invocations to module description.
12941         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
12942         invocations from here...
12943         * modules/ioctl (configure.ac): ... to here.
12944         (Depends-on): Update condition.
12945
12946 2011-05-08  Bruno Haible  <bruno@clisp.org>
12947
12948         imaxdiv: Move AC_LIBOBJ invocations to module description.
12949         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
12950         invocations from here...
12951         * modules/imaxdiv (configure.ac): ... to here.
12952
12953 2011-05-08  Bruno Haible  <bruno@clisp.org>
12954
12955         imaxabs: Move AC_LIBOBJ invocations to module description.
12956         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
12957         invocations from here...
12958         * modules/imaxabs (configure.ac): ... to here.
12959
12960 2011-05-08  Bruno Haible  <bruno@clisp.org>
12961
12962         getaddrinfo: Move AC_LIBOBJ invocations to module description.
12963         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
12964         AC_LIBOBJ invocations from here...
12965         * modules/getaddrinfo (configure.ac): ... to here.
12966         (Depends-on): Add conditions.
12967
12968 2011-05-08  Bruno Haible  <bruno@clisp.org>
12969
12970         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12971         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
12972         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12973         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
12974         (gl_PREREQ_INET_PTON): ... from here.
12975         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
12976         gl_PREREQ_INET_PTON here.
12977         (Depends-on): Update condition.
12978
12979 2011-05-08  Bruno Haible  <bruno@clisp.org>
12980
12981         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12982         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
12983         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12984         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
12985         (gl_PREREQ_INET_NTOP): ... from here.
12986         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
12987         gl_PREREQ_INET_NTOP here.
12988         (Depends-on): Update condition.
12989
12990 2011-05-08  Bruno Haible  <bruno@clisp.org>
12991
12992         iconv_open: Move AC_LIBOBJ invocations to module description.
12993         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
12994         AC_LIBOBJ invocations from here...
12995         * modules/iconv_open (configure.ac): ... to here.
12996
12997 2011-05-08  Bruno Haible  <bruno@clisp.org>
12998
12999         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
13000         If module 'iconv_open' is among the main modules and module
13001         'iconv_open-utf' is among the tests dependencies, then
13002         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
13003         return the special iconv_t values. Therefore iconv() and iconv_close()
13004         must support these special iconv_t values, already in lib, not only in
13005         tests.
13006         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
13007         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
13008         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
13009         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
13010         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
13011         (Depends-on): Add the dependencies of iconv_open-utf.
13012         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
13013         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
13014         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
13015
13016 2011-05-08  Bruno Haible  <bruno@clisp.org>
13017
13018         group-member: Move AC_LIBOBJ invocations to module description.
13019         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
13020         gl_PREREQ_GROUP_MEMBER invocations from here...
13021         * modules/group-member (configure.ac): ... to here.
13022
13023 2011-05-08  Bruno Haible  <bruno@clisp.org>
13024
13025         grantpt: Move AC_LIBOBJ invocations to module description.
13026         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
13027         invocations from here...
13028         * modules/grantpt (configure.ac): ... to here.
13029
13030 2011-05-08  Bruno Haible  <bruno@clisp.org>
13031
13032         glob: Move AC_LIBOBJ invocations to module description.
13033         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
13034         from here...
13035         * modules/glob (configure.ac): ... to here.
13036
13037 2011-05-08  Bruno Haible  <bruno@clisp.org>
13038
13039         getusershell: Move AC_LIBOBJ invocations to module description.
13040         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
13041         Move AC_LIBOBJ invocation from here...
13042         * modules/getusershell (configure.ac): ... to here.
13043         (Depends-on): Update condition.
13044
13045 2011-05-08  Bruno Haible  <bruno@clisp.org>
13046
13047         gettimeofday: Move AC_LIBOBJ invocations to module description.
13048         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
13049         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
13050         gl_PREREQ_GETTIMEOFDAY invocations from here...
13051         * modules/gettimeofday (configure.ac): ... to here.
13052
13053 2011-05-08  Bruno Haible  <bruno@clisp.org>
13054
13055         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
13056         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
13057         just gl_FUNC_TZSET.
13058         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
13059         (gl_FUNC_TZSET_CLOBBER): Remove actions.
13060         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
13061         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
13062
13063 2011-05-08  Bruno Haible  <bruno@clisp.org>
13064
13065         getsubopt: Move AC_LIBOBJ invocations to module description.
13066         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
13067         gl_PREREQ_GETSUBOPT invocations from here...
13068         * modules/getsubopt (configure.ac): ... to here.
13069
13070 2011-05-08  Bruno Haible  <bruno@clisp.org>
13071
13072         getpass-gnu: Move AC_LIBOBJ invocations to module description.
13073         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
13074         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
13075         * modules/getpass-gnu (configure.ac): ... to here.
13076
13077 2011-05-08  Bruno Haible  <bruno@clisp.org>
13078
13079         getpass: Move AC_LIBOBJ invocations to module description.
13080         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
13081         gl_PREREQ_GETPASS invocations from here...
13082         * modules/getpass (configure.ac): ... to here.
13083
13084 2011-05-08  Bruno Haible  <bruno@clisp.org>
13085
13086         getpagesize: Move AC_LIBOBJ invocations to module description.
13087         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
13088         from here...
13089         * modules/getpagesize (configure.ac): ... to here.
13090
13091 2011-05-08  Bruno Haible  <bruno@clisp.org>
13092
13093         getopt: Move AC_LIBOBJ invocations to module description.
13094         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
13095         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
13096         invocations from here...
13097         * modules/getopt-gnu (configure.ac): ... to here.
13098         * modules/getopt-posix (configure.ac): ... and here.
13099         (Depends-on): Update condition.
13100
13101 2011-05-08  Bruno Haible  <bruno@clisp.org>
13102
13103         getopt, argp: Respect rules for use of AC_LIBOBJ.
13104         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
13105         (gl_REPLACE_GETOPT_ALWAYS): New macro.
13106         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
13107         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
13108
13109 2011-05-08  Bruno Haible  <bruno@clisp.org>
13110
13111         getlogin_r: Move AC_LIBOBJ invocations to module description.
13112         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
13113         gl_PREREQ_GETLOGIN_R invocations from here...
13114         * modules/getlogin_r (configure.ac): ... to here.
13115
13116 2011-05-08  Bruno Haible  <bruno@clisp.org>
13117
13118         getlogin: Move AC_LIBOBJ invocations to module description.
13119         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
13120         here...
13121         * modules/getlogin (configure.ac): ... to here.
13122
13123 2011-05-08  Bruno Haible  <bruno@clisp.org>
13124
13125         getloadavg: Move AC_LIBOBJ invocations to module description.
13126         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
13127         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
13128         * modules/getloadavg (configure.ac): ... to here.
13129
13130 2011-05-08  Bruno Haible  <bruno@clisp.org>
13131
13132         gethrxtime: Move AC_LIBOBJ invocations to module description.
13133         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
13134         LIB_GETHRXTIME from here...
13135         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
13136         invocations from here...
13137         * modules/gethrxtime (configure.ac): ... to here.
13138
13139 2011-05-08  Bruno Haible  <bruno@clisp.org>
13140
13141         gethostname: Move AC_LIBOBJ invocations to module description.
13142         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
13143         gl_PREREQ_GETHOSTNAME invocations from here...
13144         * modules/gethostname (configure.ac): ... to here.
13145
13146 2011-05-08  Bruno Haible  <bruno@clisp.org>
13147
13148         getgroups: Move AC_LIBOBJ invocations to module description.
13149         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
13150         here...
13151         * modules/getgroups (configure.ac): ... to here.
13152
13153 2011-05-08  Bruno Haible  <bruno@clisp.org>
13154
13155         getdtablesize: Move AC_LIBOBJ invocations to module description.
13156         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
13157         invocation from here...
13158         * modules/getdtablesize (configure.ac): ... to here.
13159
13160 2011-05-08  Bruno Haible  <bruno@clisp.org>
13161
13162         getdomainname: Move AC_LIBOBJ invocations to module description.
13163         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
13164         gl_PREREQ_GETDOMAINNAME invocations from here...
13165         * modules/getdomainname (configure.ac): ... to here.
13166
13167 2011-05-08  Bruno Haible  <bruno@clisp.org>
13168
13169         getline: Move AC_LIBOBJ invocations to module description.
13170         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
13171         invocations from here...
13172         * modules/getline (configure.ac): ... to here.
13173
13174 2011-05-08  Bruno Haible  <bruno@clisp.org>
13175
13176         getline: Simplify.
13177         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
13178         It's already handled through the module dependency.
13179
13180 2011-05-08  Bruno Haible  <bruno@clisp.org>
13181
13182         getdelim: Move AC_LIBOBJ invocations to module description.
13183         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
13184         and gl_PREREQ_GETDELIM invocations from here...
13185         * modules/getdelim (configure.ac): ... to here.
13186         (Depends-on): Fix condition.
13187
13188 2011-05-08  Bruno Haible  <bruno@clisp.org>
13189
13190         getcwd: Move AC_LIBOBJ invocations to module description.
13191         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
13192         invocations from here...
13193         * modules/getcwd (configure.ac): ... to here.
13194
13195 2011-05-08  Bruno Haible  <bruno@clisp.org>
13196
13197         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
13198         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
13199         here...
13200         * modules/getcwd-lgpl (configure.ac): ... to here.
13201
13202 2011-05-07  Bruno Haible  <bruno@clisp.org>
13203
13204         crypto/gc: Move AC_LIBOBJ invocations to module description.
13205         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
13206         * modules/crypto/gc (configure.ac): ... to here.
13207
13208 2011-05-07  Bruno Haible  <bruno@clisp.org>
13209
13210         fwriting: Move AC_LIBOBJ invocations to module description.
13211         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
13212         here...
13213         * modules/fwriting (configure.ac): ... to here.
13214
13215 2011-05-07  Bruno Haible  <bruno@clisp.org>
13216
13217         fwritable: Move AC_LIBOBJ invocations to module description.
13218         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
13219         here...
13220         * modules/fwritable (configure.ac): ... to here.
13221
13222 2011-05-07  Bruno Haible  <bruno@clisp.org>
13223
13224         futimens: Move AC_LIBOBJ invocations to module description.
13225         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
13226         here...
13227         * modules/futimens (configure.ac): ... to here.
13228
13229 2011-05-07  Bruno Haible  <bruno@clisp.org>
13230
13231         ftruncate: Move AC_LIBOBJ invocations to module description.
13232         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
13233         gl_PREREQ_FTRUNCATE invocations from here...
13234         * modules/ftruncate (configure.ac): ... to here.
13235
13236 2011-05-07  Bruno Haible  <bruno@clisp.org>
13237
13238         fsync: Move AC_LIBOBJ invocations to module description.
13239         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
13240         invocations from here...
13241         * modules/fsync (configure.ac): ... to here.
13242
13243 2011-05-07  Bruno Haible  <bruno@clisp.org>
13244
13245         fsusage: Move AC_LIBOBJ invocations to module description.
13246         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
13247         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
13248         * modules/fsusage (configure.ac): ... to here.
13249
13250 2011-05-07  Bruno Haible  <bruno@clisp.org>
13251
13252         freopen: Move AC_LIBOBJ invocations to module description.
13253         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
13254         invocations from here...
13255         * modules/freopen (configure.ac): ... to here.
13256
13257 2011-05-07  Bruno Haible  <bruno@clisp.org>
13258
13259         free: Move AC_LIBOBJ invocations to module description.
13260         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
13261         invocations from here...
13262         * modules/free (configure.ac): ... to here.
13263
13264 2011-05-07  Bruno Haible  <bruno@clisp.org>
13265
13266         freadable: Move AC_LIBOBJ invocations to module description.
13267         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
13268         here...
13269         * modules/freadable (configure.ac): ... to here.
13270
13271 2011-05-07  Bruno Haible  <bruno@clisp.org>
13272
13273         fpurge: Move AC_LIBOBJ invocations to module description.
13274         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
13275         invocations from here...
13276         * modules/fpurge (configure.ac): ... to here.
13277
13278 2011-05-07  Bruno Haible  <bruno@clisp.org>
13279
13280         fpending: Move AC_LIBOBJ invocations to module description.
13281         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
13282         gl_FUNC_FPENDING.
13283         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
13284         invocations from here...
13285         * modules/fpending (configure.ac): ... to here.
13286
13287 2011-05-07  Bruno Haible  <bruno@clisp.org>
13288
13289         fopen: Move AC_LIBOBJ invocations to module description.
13290         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
13291         invocations from here...
13292         * modules/fopen (configure.ac): ... to here.
13293
13294 2011-05-07  Bruno Haible  <bruno@clisp.org>
13295
13296         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
13297         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
13298         gl_FUNC_FNMATCH_POSIX.
13299         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
13300         invocations from here...
13301         * modules/fnmatch (configure.ac): ... to here.
13302         * modules/fnmatch-gnu (configure.ac): ... and here.
13303
13304 2011-05-07  Bruno Haible  <bruno@clisp.org>
13305
13306         flock: Move AC_LIBOBJ invocations to module description.
13307         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
13308         invocations from here...
13309         * modules/flock (configure.ac): ... to here.
13310
13311 2011-05-07  Bruno Haible  <bruno@clisp.org>
13312
13313         fileblocks: Move AC_LIBOBJ invocations to module description.
13314         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
13315         gl_PREREQ_FILEBLOCKS invocations from here...
13316         * modules/fileblocks (configure.ac): ... to here.
13317
13318 2011-05-06  Bruno Haible  <bruno@clisp.org>
13319
13320         fflush: Move AC_LIBOBJ invocations to module description.
13321         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
13322         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
13323         invocations from here...
13324         * modules/fflush (configure.ac): ... to here.
13325
13326 2011-05-06  Bruno Haible  <bruno@clisp.org>
13327
13328         fdopendir: Move AC_LIBOBJ invocations to module description.
13329         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
13330         here...
13331         * modules/fdopendir (configure.ac): ... to here.
13332         (Depends-on): Improve conditions.
13333
13334 2011-05-06  Bruno Haible  <bruno@clisp.org>
13335
13336         _Exit: Move AC_LIBOBJ invocations to module description.
13337         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
13338         invocations from here...
13339         * modules/_Exit (configure.ac): ... to here.
13340
13341 2011-05-21  Bruno Haible  <bruno@clisp.org>
13342
13343         euidaccess: Respect rules for use of AC_LIBOBJ.
13344         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
13345         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
13346         from here...
13347         * modules/euidaccess (configure.ac): ... to here.
13348
13349 2011-05-06  Bruno Haible  <bruno@clisp.org>
13350
13351         error: Move AC_LIBOBJ invocations to module description.
13352         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
13353         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
13354         invocations from here...
13355         * modules/error (configure.ac): ... to here.
13356
13357 2011-05-06  Bruno Haible  <bruno@clisp.org>
13358
13359         duplocale: Move AC_LIBOBJ invocations to module description.
13360         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
13361         gl_PREREQ_DUPLOCALE invocations from here...
13362         * modules/duplocale (configure.ac): ... to here.
13363
13364 2011-05-05  Bruno Haible  <bruno@clisp.org>
13365
13366         dirfd: Move AC_LIBOBJ invocations to module description.
13367         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
13368         gl_FUNC_DIRFD.
13369         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
13370         here...
13371         * modules/dirfd (configure.ac): ... to here.
13372         (Depends-on): Fix condition.
13373
13374 2011-05-05  Bruno Haible  <bruno@clisp.org>
13375
13376         chown: Respect rules for use of AC_LIBOBJ.
13377         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
13378         * modules/chown (configure.ac): ... to here.
13379
13380 2011-05-05  Bruno Haible  <bruno@clisp.org>
13381
13382         chdir-long: Move AC_LIBOBJ invocations to module description.
13383         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
13384         gl_PREREQ_CHDIR_LONG invocations from here...
13385         * modules/chdir-long (configure.ac): ... to here.
13386
13387 2011-05-05  Bruno Haible  <bruno@clisp.org>
13388
13389         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
13390         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
13391         from here...
13392         * modules/canonicalize-lgpl (configure.ac): ... to here.
13393
13394 2011-05-05  Bruno Haible  <bruno@clisp.org>
13395
13396         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
13397         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
13398         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
13399         REPLACE_CALLOC.
13400         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
13401         * modules/calloc-gnu (configure.ac): Likewise.
13402
13403 2011-05-05  Bruno Haible  <bruno@clisp.org>
13404
13405         btowc: Move AC_LIBOBJ invocations to module description.
13406         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
13407         invocations from here...
13408         * modules/btowc (configure.ac): ... to here.
13409
13410 2011-05-21  Bruno Haible  <bruno@clisp.org>
13411
13412         atexit: Move AC_LIBOBJ invocations to module description.
13413         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
13414         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
13415         here...
13416         * modules/atexit (configure.ac): ... to here.
13417
13418 2011-05-05  Bruno Haible  <bruno@clisp.org>
13419
13420         atoll: Move AC_LIBOBJ invocations to module description.
13421         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
13422         invocations from here...
13423         * modules/atoll (configure.ac): ... to here.
13424
13425 2011-05-05  Bruno Haible  <bruno@clisp.org>
13426
13427         argz: Move AC_LIBOBJ invocations to module description.
13428         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
13429         * modules/argz (configure.ac): ... to here.
13430
13431 2011-05-05  Bruno Haible  <bruno@clisp.org>
13432
13433         alphasort: Move AC_LIBOBJ invocations to module description.
13434         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
13435         gl_PREREQ_ALPHASORT invocations from here...
13436         * modules/alphasort (configure.ac): ... to here.
13437
13438 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
13439
13440         verify: new macro verify_expr; verify_true deprecated
13441         * NEWS: Mention this.
13442         * doc/verify.texi (Compile-time Assertions): Document this.
13443         * lib/verify.h (verify_true): Deprecate.
13444         (verify_expr): New macro.
13445         * tests/test-verify.c (function): Test verify_expr.
13446
13447 2011-06-14  Jim Meyering  <meyering@redhat.com>
13448
13449         init.sh: give more portable redirection-related advice in a comment
13450         * tests/init.sh (stderr_fileno_): Update the advice in comments.
13451         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
13452         for lots of discussion.  Stefano Lattarini suggested the solution
13453         of putting "9>&2" after the command.  Reported by Bruno Haible.
13454
13455 2011-06-13  Bruno Haible  <bruno@clisp.org>
13456
13457         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
13458         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
13459         'none'.
13460
13461 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
13462
13463         ftoastr: use strtof only if HAVE_STRTOF
13464         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
13465         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
13466         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
13467         * modules/ftoastr (configure.ac): Check for strtof.
13468
13469 2011-06-13  Bruno Haible  <bruno@clisp.org>
13470
13471         gnulib-tool: Addendum to 2011-06-08 commit.
13472         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
13473         and --witness-c-macro have been given, augment AM_CPPFLAGS.
13474
13475 2011-06-13  Bruno Haible  <bruno@clisp.org>
13476
13477         fseeko: Provide a non-inline replacement of fseek().
13478         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
13479         * modules/fseeko (Depends-on): Add fseek.
13480         * modules/fseek (License): Change to LGPLv2+.
13481
13482 2011-06-13  Bruno Haible  <bruno@clisp.org>
13483
13484         ftello: Provide a non-inline replacement of ftell().
13485         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
13486         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
13487         not have ftello() (such as on mingw).
13488         * modules/ftello (Depends-on): Add ftell.
13489         * modules/ftell (License): Change to LGPLv2+.
13490
13491 2011-05-07  Bruno Haible  <bruno@clisp.org>
13492
13493         ftell: Move AC_LIBOBJ invocations to module description.
13494         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
13495         * modules/ftell (configure.ac): ... to here.
13496
13497 2011-05-07  Bruno Haible  <bruno@clisp.org>
13498
13499         ftello: Respect rules for use of AC_LIBOBJ.
13500         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
13501         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
13502         here...
13503         * modules/ftello (configure.ac): ... to here.
13504
13505 2011-05-07  Bruno Haible  <bruno@clisp.org>
13506
13507         fseeko: Simplify.
13508         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
13509         (gl_FUNC_FSEEKO): Inline it here.
13510
13511 2011-05-07  Bruno Haible  <bruno@clisp.org>
13512
13513         fseek: Move AC_LIBOBJ invocations to module description.
13514         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
13515         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
13516         * modules/fseek (configure.ac): ... to here.
13517
13518 2011-05-07  Bruno Haible  <bruno@clisp.org>
13519
13520         fseek: Respect rules for use of AC_LIBOBJ.
13521         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
13522         here...
13523         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
13524
13525 2011-05-07  Bruno Haible  <bruno@clisp.org>
13526
13527         fseeko: Respect rules for use of AC_LIBOBJ.
13528         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
13529         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
13530         here...
13531         * modules/fseeko (configure.ac): ... to here.
13532
13533 2011-06-13  Bruno Haible  <bruno@clisp.org>
13534
13535         gnulib-tool: Allow comments in the 'Depends-on' section.
13536         * doc/gnulib.texi (Module description): Mention comment syntax in the
13537         Depends-on section.
13538         * gnulib-tool (func_get_dependencies): Filter out comment lines.
13539
13540 2011-06-13  Bruno Haible  <bruno@clisp.org>
13541
13542         file-set.h: guard __attibute__ use, now that it's not always defined
13543         * lib/file-set.h (record_file): Use __attribute__ only with compiler
13544         versions that support it.  This fixes a coreutils build failure with
13545         the vendor cc on HP-UX 11.31.
13546
13547 2011-06-12  Bruno Haible  <bruno@clisp.org>
13548
13549         acl: Add support for HP-UX >= 11.11 JFS ACLs.
13550         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
13551         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
13552         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
13553         (acl, aclsort): New declarations.
13554         (aclv_nontrivial): New declaration.
13555         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
13556         (file_has_acl): Read also the second kind of HP-UX ACLs.
13557         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
13558         kind of HP-UX ACLs if the first kind fails.
13559         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
13560         second kind of HP-UX ACLs.
13561         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
13562         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
13563         agree.
13564         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13565         hpuxjfs.
13566         Handle hpuxjfs.
13567         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13568         hpuxjfs.
13569         Handle hpuxjfs.
13570         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13571         (func_test_same_acls): Use both lsacl and getacl.
13572         Handle hpuxjfs.
13573         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13574         (func_test_same_acls): Use both lsacl and getacl.
13575         Handle hpuxjfs.
13576
13577 2011-06-12  Bruno Haible  <bruno@clisp.org>
13578
13579         acl: Complete the 2010-08-10 fix.
13580         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
13581         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
13582         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
13583         explicitly.
13584         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
13585         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
13586
13587 2011-06-12  Bruno Haible  <bruno@clisp.org>
13588
13589         spawn-pipe tests: Comments.
13590         * tests/test-spawn-pipe-child.c (main): Update comment.
13591         Reported by James Youngman <jay@gnu.org>.
13592
13593 2011-06-11  James Youngman  <jay@gnu.org>
13594
13595         New module 'stat-size'.
13596         * modules/stat-size: New module.  Provides macros for accessing
13597         file size information in instances of struct stat.  Depends on the
13598         fileblocks module because it calls st_blocks.
13599         * lib/stat-size.h: New file, adapted from coreutils' system.h.
13600         * doc/gnulib.texi: Include stat-size.texi.
13601         * doc/stat-size.texi: Documentation for this module.
13602         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
13603         * m4/fileblocks.m4: Mention that stat-size depends on the call to
13604         AC_STRUCT_ST_BLOCKS.
13605
13606 2011-06-09  Bruno Haible  <bruno@clisp.org>
13607
13608         thread: Support pthreads-win32.
13609         * lib/glthread/thread.h (gl_thread_self): Define differently on
13610         pthreads-win32.
13611         (gl_null_thread): New declaration.
13612         (gl_thread_self_pointer): New macro.
13613         * lib/glthread/thread.c (gl_null_thread): New constant.
13614         * tests/test-lock.c: Use gl_thread_self_pointer instead of
13615         gl_thread_self.
13616         * tests/test-tls.c: Likewise.
13617         Suggested by Paul Eggert. Reported by Eric Blake.
13618
13619 2011-06-09  Bruno Haible  <bruno@clisp.org>
13620
13621         thread: Fix confusion between NULL and 0.
13622         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
13623         Reported by Paul Eggert.
13624
13625 2011-06-09  Bruno Haible  <bruno@clisp.org>
13626
13627         spawn-pipe tests: Avoid test failure on HP-UX 11.
13628         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
13629         is closed.
13630
13631 2011-06-09  Bruno Haible  <bruno@clisp.org>
13632
13633         acl tests: Fix compilation error on HP-UX 11.
13634         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
13635
13636 2011-06-09  Bruno Haible  <bruno@clisp.org>
13637
13638         rmdir: Avoid test failure on HP-UX 10.20.
13639         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
13640         EEXIST.
13641
13642 2011-06-08  Eric Blake  <eblake@redhat.com>
13643
13644         perror: fix test on mingw
13645         * modules/perror-tests (Depends-on): Add dup2.
13646
13647         strerror_r-posix: fix on MacOS
13648         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
13649         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
13650         logic bug.
13651         * lib/strerror_r.c (strerror_r): Fix the bug.
13652         * lib/strerror.c (strerror): Likewise.
13653         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
13654         problem.
13655         * doc/posix-functions/strerror.texi (strerror): Likewise.
13656         * doc/posix-functions/perror.texi (perror): Likewise.
13657         * tests/test-strerror.c (main): Enhance test.
13658         * tests/test-strerror_r.c (main): Likewise.
13659
13660 2011-06-08  Bruno Haible  <bruno@clisp.org>
13661
13662         gnulib-tool: Better isolation between different gnulib-tool invocations.
13663         * gnulib-tool: New option --witness-c-macro.
13664         (witness_c_macro): New variable.
13665         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
13666         AM_CPPFLAGS define it as a C macro.
13667         (func_emit_tests_Makefile_am): Likewise.
13668         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
13669         read it from there.
13670         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
13671         m4_define, not AC_DEFUN.
13672         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
13673         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
13674         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
13675         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
13676         s|...|...|, to substitute the values of the GNULIB_* module indicator
13677         variables.
13678         * modules/dirent (Makefile.am): Likewise.
13679         * modules/fcntl-h (Makefile.am): Likewise.
13680         * modules/iconv-h (Makefile.am): Likewise.
13681         * modules/langinfo (Makefile.am): Likewise.
13682         * modules/locale (Makefile.am): Likewise.
13683         * modules/math (Makefile.am): Likewise.
13684         * modules/netdb (Makefile.am): Likewise.
13685         * modules/poll-h (Makefile.am): Likewise.
13686         * modules/pty (Makefile.am): Likewise.
13687         * modules/search (Makefile.am): Likewise.
13688         * modules/signal (Makefile.am): Likewise.
13689         * modules/spawn (Makefile.am): Likewise.
13690         * modules/stdio (Makefile.am): Likewise.
13691         * modules/stdlib (Makefile.am): Likewise.
13692         * modules/string (Makefile.am): Likewise.
13693         * modules/sys_ioctl (Makefile.am): Likewise.
13694         * modules/sys_select (Makefile.am): Likewise.
13695         * modules/sys_socket (Makefile.am): Likewise.
13696         * modules/sys_stat (Makefile.am): Likewise.
13697         * modules/sys_times (Makefile.am): Likewise.
13698         * modules/sys_utsname (Makefile.am): Likewise.
13699         * modules/sys_wait (Makefile.am): Likewise.
13700         * modules/termios (Makefile.am): Likewise.
13701         * modules/time (Makefile.am): Likewise.
13702         * modules/unistd (Makefile.am): Likewise.
13703         * modules/wchar (Makefile.am): Likewise.
13704
13705 2011-06-08  Eric Blake  <eblake@redhat.com>
13706
13707         strerror: simplify replacement
13708         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
13709         * modules/strerror (configure.ac): No prereqs needed here...
13710         * modules/strerror-override (configure.ac): ...but this needs it.
13711         (Files): Add file for needed prereq macro.
13712
13713 2011-06-08  Bruno Haible  <bruno@clisp.org>
13714
13715         strerror_r-posix: Tweaks.
13716         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
13717         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
13718         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
13719         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
13720         (gl_FUNC_STRERROR_R): ... to here.
13721         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
13722
13723 2011-06-07  Eric Blake  <eblake@redhat.com>
13724
13725         perror: document fixed bugs
13726         * doc/posix-functions/perror.texi (perror): Document recent
13727         patches.
13728
13729 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
13730
13731         stat-time: get_stat_birthtime failure is better-defined
13732         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
13733         return a timestamp whose tv_sec and tv_nsec values are both -1.
13734         Previously, the spec said only that the tv_nsec value was negative.
13735         This upward-compatible change simplifies GNU tar a bit.
13736
13737 2011-06-07  Eric Blake  <eblake@redhat.com>
13738
13739         strerror_r-posix: work around cygwin 1.7.9
13740         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
13741         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
13742         bug without replacing strerror_r.
13743         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
13744         strerror_r is buggy, but without requiring strerror_r compilation.
13745         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
13746
13747         test-perror: relax test to ignore cygwin bug
13748         * tests/test-perror2.c (main): Relax test on requiring detection
13749         of stream errors, and use unbuffered stream.
13750         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
13751         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
13752         * doc/posix-functions/fputc.texi (fputc): Likewise.
13753         * doc/posix-functions/fputs.texi (fputs): Likewise.
13754         * doc/posix-functions/fputws.texi (fputws): Likewise.
13755         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
13756         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
13757         * doc/posix-functions/getopt.texi (getopt): Likewise.
13758         * doc/posix-functions/perror.texi (perror): Likewise.
13759         * doc/posix-functions/printf.texi (printf): Likewise.
13760         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
13761         * doc/posix-functions/psignal.texi (psignal): Likewise.
13762         * doc/posix-functions/putc.texi (putc): Likewise.
13763         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
13764         Likewise.
13765         * doc/posix-functions/putchar.texi (putchar): Likewise.
13766         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
13767         Likewise.
13768         * doc/posix-functions/puts.texi (puts): Likewise.
13769         * doc/posix-functions/putwc.texi (putwc): Likewise.
13770         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
13771         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
13772         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13773         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
13774         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13775         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
13776         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
13777         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
13778
13779 2011-05-22  Bruno Haible  <bruno@clisp.org>
13780
13781         strerror: Move AC_LIBOBJ invocations to module description.
13782         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
13783         gl_PREREQ_STRERROR invocations from here...
13784         * modules/strerror (configure.ac): ... to here.
13785
13786 2011-05-21  Bruno Haible  <bruno@clisp.org>
13787
13788         perror: Use common idiom.
13789         * modules/perror (configure.ac): Reorder statements.
13790
13791 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13792
13793         tests: fix usage message in 'mktempd_'
13794         * tests/init.sh (mktempd_): In the usage message, use literal
13795         'mktempd_', not '$ME' (which is even undefined), as the name of
13796         the subroutine.
13797
13798 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13799
13800         tests init: new function 'fatal_', for hard errors
13801         Before this patch, the only way offered by tests/init.sh to
13802         properly signal a hard error was the `framework_failure_'
13803         function.  But the error message issued by that function,
13804         as its name would suggest, refers to a set-up failure in the
13805         testsuite, while hard errors can obviously also be due to
13806         other reasons.  The best way to fix this inconsistency is to
13807         introduce a new function with a more general error message.
13808         * tests/init.sh (fatal_): New function.
13809
13810 2011-06-06  Eric Blake  <eblake@redhat.com>
13811
13812         canonicalize-lgpl: use common idiom
13813         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
13814         over newer POSIX -Rf.
13815         Reported by Bruno Haible.
13816
13817         canonicalize-lgpl: work around AIX realpath bug
13818         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
13819         * doc/posix-functions/realpath.texi (realpath): Document it.
13820         Reported by Bruno Haible.
13821
13822         strerror: work around FreeBSD bug
13823         * lib/strerror.c (strerror): Special case 0.
13824         Reported by Bruno Haible.
13825
13826         strerror-override: avoid bloating errno module
13827         * modules/errno (Files, configure.ac): Move replacement strings...
13828         * modules/strerror-override: ...to new module.
13829         * modules/strerror (Depends-on): Add strerror-override.
13830         * modules/strerror_r-posix (Depends-on): Likewise.
13831         * MODULES.html.sh: Document new module.
13832         Reported by Bruno Haible.
13833
13834 2011-06-06  Bruno Haible  <bruno@clisp.org>
13835
13836         spawn-pipe tests: Rename program.
13837         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
13838         * tests/test-spawn-pipe-child.c: Update comment.
13839         * tests/test-spawn-pipe.sh: Update.
13840         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
13841
13842         spawn-pipe tests: Link the child program only against libc.
13843         * tests/test-spawn-pipe-child.c: New file, extracted from
13844         tests/test-spawn-pipe.c.
13845         (main): Expect only one argument.
13846         (is_open): New function, copied from tests/test-pipe.c.
13847         * tests/test-spawn-pipe.c: Don't include <errno.h>.
13848         (child_main): Remove function.
13849         (test_pipe): Pass only one argument to the child program.
13850         (main): Remove child process code. Expect the child program's name as
13851         first argument.
13852         * tests/test-spawn-pipe.sh: Pass the child program's name as first
13853         argument.
13854         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
13855         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
13856         test-spawn-pipe-child against no libraries.
13857
13858 2011-06-06  Bruno Haible  <bruno@clisp.org>
13859
13860         careadlinkat: Avoid mismatch between ssize_t and int.
13861         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
13862         * lib/careadlinkat.c (careadlinkatcwd): Define always.
13863
13864 2011-06-06  Jim Meyering  <meyering@redhat.com>
13865
13866         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
13867         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
13868         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
13869
13870 2011-06-05  Bruno Haible  <bruno@clisp.org>
13871
13872         ansi-c++-opt: Interoperability with libtool.
13873         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
13874         set the variable to "no", not to ":".
13875         * NEWS: Mention the change.
13876
13877 2011-06-05  Bruno Haible  <bruno@clisp.org>
13878
13879         acl: Fix test failure on AIX 7.
13880         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
13881         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
13882
13883 2011-06-05  Bruno Haible  <bruno@clisp.org>
13884
13885         pipe-filter-ii: Fix test failure on AIX and IRIX.
13886         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
13887         with EAGAIN, retry with a smaller buffer size.
13888
13889 2011-06-05  Bruno Haible  <bruno@clisp.org>
13890
13891         localename: Fix link dependencies.
13892         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
13893         * modules/localename-tests (Makefile.am): Link test-localename with
13894         $(LIBTHREAD).
13895
13896 2011-06-05  Bruno Haible  <bruno@clisp.org>
13897
13898         error: Avoid gcc warning.
13899         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
13900
13901 2011-06-05  Bruno Haible  <bruno@clisp.org>
13902
13903         unsetenv: Avoid gcc warning.
13904         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
13905
13906 2011-06-05  Bruno Haible  <bruno@clisp.org>
13907
13908         setenv: Avoid gcc warning.
13909         * lib/setenv.c (setenv): Provide declaration if system lacks it.
13910
13911 2011-06-05  Bruno Haible  <bruno@clisp.org>
13912
13913         sys_select: Ensure memset is declared also on AIX 7.
13914         * lib/sys_select.in.h: Include <string.h> also on AIX.
13915         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
13916         self-contained also on AIX 7.1.
13917
13918 2011-06-04  Jim Meyering  <meyering@redhat.com>
13919
13920         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
13921         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
13922         function name, "error".
13923         (_gl_translatable_diag_func_re): New configurable variable.
13924
13925 2011-06-04  Bruno Haible  <bruno@clisp.org>
13926
13927         getopt: Avoid gcc warning.
13928         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
13929
13930 2011-06-04  Bruno Haible  <bruno@clisp.org>
13931
13932         strerror_r: Fix comments.
13933         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
13934         commit.
13935
13936 2011-06-04  Bruno Haible  <bruno@clisp.org>
13937
13938         perror: Fix compilation error.
13939         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
13940         Undefine fprintf, not sprintf.
13941         * modules/perror (Depends-on): Remove intprops, verify.
13942
13943 2011-06-04  Bruno Haible  <bruno@clisp.org>
13944
13945         setlocale: Enable replacement on Cygwin 1.5.
13946         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
13947         Cygwin 1.5.x.
13948         * doc/posix-functions/setlocale.texi: Mention that the problem with the
13949         LC_CTYPE category also exists on Cygwin 1.5.x.
13950
13951 2011-06-04  Bruno Haible  <bruno@clisp.org>
13952
13953         strerror-override: Don't disable symbol renamings.
13954         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
13955         * lib/strerror-override.c: Include config.h.
13956         (strerror_override): Don't undefine.
13957
13958 2011-06-03  Bruno Haible  <bruno@clisp.org>
13959
13960         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
13961         * lib/localename.h: Update copyright header.
13962         * lib/localename.c: Likewise.
13963         * lib/relocatable.h: Likewise.
13964         * lib/relocatable.c: Likewise.
13965
13966 2011-06-02  Bruno Haible  <bruno@clisp.org>
13967
13968         doc: Fix a module name.
13969         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
13970
13971 2011-06-02  Bruno Haible  <bruno@clisp.org>
13972
13973         pipe2: Remove dependency on 'nonblocking' module.
13974         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
13975         O_NONBLOCK is defined by gnulib.
13976         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
13977         is zero.
13978         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
13979         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
13980         defined by gnulib.
13981         (get_nonblocking_flag): New function.
13982         (main): Test O_NONBLOCK flag only if it is nonzero.
13983         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
13984
13985 2011-06-03  Jim Meyering  <meyering@redhat.com>
13986
13987         maint: three new prohibit-header-without-use rules
13988         Prohibit use of cloexec.h, posixver.h, same.h without use.
13989         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
13990         (sc_prohibit_posixver_without_use): Likewise.
13991         (sc_prohibit_same_without_use): Likewise.
13992
13993 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13994
13995         allocator: 'die' routine is now given requested size
13996         * lib/allocator.h (struct allocator.die): New size arg.
13997         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
13998         If the actual problem is an ssize_t limitation, not a size_t or
13999         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
14000
14001 2011-06-01  Eric Blake  <eblake@redhat.com>
14002
14003         strerror: drop strerror_r dependency
14004         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
14005         * lib/strerror-override.c (strerror_override): ...to new file.
14006         * lib/strerror-override.h: Add prototype.
14007         * lib/strerror-impl.h: Delete.
14008         * lib/strerror.c (strerror): New implementation.
14009         * modules/errno (Files): Add new files.
14010         (configure.ac): Compile new file as appropriate.
14011         * modules/strerror (Files): Drop unused file.
14012         (Depends-on): Drop strerror_r-posix.
14013         * MODULES.html.sh: Document strerror_r-posix.
14014         Requested by Sam Steingold.
14015
14016         perror: call strerror_r directly
14017         * modules/perror (Files): Drop strerror-impl.h.
14018         * lib/perror.c (perror): Use our own stack buffer, rather than
14019         calling a wrapper that uses static storage.
14020         * doc/posix-functions/perror.texi (perror): Document a limitation
14021         of our replacement.
14022
14023         strerror_r: fix includes for FreeBSD
14024         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
14025         since we use abort on some platforms.
14026         Reported by Matthias Bolte.
14027
14028 2011-05-31  Bruno Haible  <bruno@clisp.org>
14029
14030         Fix link errors in tests: openat-die uses gettext-h.
14031         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
14032         against $(LIBINTL).
14033         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
14034         against $(LIBINTL).
14035         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
14036         $(LIBINTL).
14037         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
14038         against $(LIBINTL).
14039         * modules/linkat-tests (Makefile.am): Link test-linkat against
14040         $(LIBINTL).
14041         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
14042         $(LIBINTL).
14043         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
14044         against $(LIBINTL).
14045         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
14046         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
14047         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
14048         $(LIBINTL).
14049         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
14050         $(LIBINTL).
14051         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
14052         $(LIBINTL).
14053         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14054
14055 2011-05-31  Bruno Haible  <bruno@clisp.org>
14056
14057         Fix link errors in tests: wait-process uses gettext-h.
14058         * modules/nonblocking-pipe-tests (Makefile.am): Set
14059         test_nonblocking_pipe_main_LDADD.
14060         * modules/nonblocking-socket-tests (Makefile.am): Link
14061         test-nonblocking-socket-main against $(LIBINTL).
14062         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14063
14064 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
14065
14066         assert-h: work around 'verify' incompatibility
14067         * lib/verify.h: Use @...@ directives, not ifdef.
14068         * modules/assert-h (assert.h): Implement the directives.
14069         (assert.h): Substitute the symbol-prefix more consistently.
14070
14071 2011-05-29  Jim Meyering  <meyering@redhat.com>
14072
14073         trim: remove three superfluous assignments
14074         * lib/trim.c (trim2): Remove three superfluous assignments
14075         and correct brace positioning.
14076
14077 2011-05-29  Bruno Haible  <bruno@clisp.org>
14078
14079         wctype-h: Avoid namespace pollution on Solaris 2.6.
14080         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
14081         identifiers.
14082         * doc/posix-headers/wctype.texi: Mention the problem.
14083         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14084
14085 2011-05-28  Jim Meyering  <meyering@redhat.com>
14086
14087         parse-datetime.y: accommodate -Wstrict-overflow
14088         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
14089         placate -Wstrict-overflow.
14090
14091         trim: avoid a warning from -O2 -Wstrict-overflow
14092         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
14093
14094 2011-05-29  Bruno Haible  <bruno@clisp.org>
14095
14096         gnulib-tool: Fix bug in yesterday's commit.
14097         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
14098         twice.
14099
14100 2011-05-29  Bruno Haible  <bruno@clisp.org>
14101
14102         Allow multiple gnulib generated include files to be combined.
14103         * gnulib-tool (func_compute_include_guard_prefix): New function.
14104         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
14105         ${gl_include_guard_prefix} references.
14106         (func_import, func_create_testdir): Invoke
14107         func_compute_include_guard_prefix.
14108         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
14109         * lib/ctype.in.h: Likewise.
14110         * lib/dirent.in.h: Likewise.
14111         * lib/errno.in.h: Likewise.
14112         * lib/fcntl.in.h: Likewise.
14113         * lib/float.in.h: Likewise.
14114         * lib/getopt.in.h: Likewise.
14115         * lib/iconv.in.h: Likewise.
14116         * lib/langinfo.in.h: Likewise.
14117         * lib/locale.in.h: Likewise.
14118         * lib/math.in.h: Likewise.
14119         * lib/netdb.in.h: Likewise.
14120         * lib/netinet_in.in.h: Likewise.
14121         * lib/poll.in.h: Likewise.
14122         * lib/pthread.in.h: Likewise.
14123         * lib/pty.in.h: Likewise.
14124         * lib/sched.in.h: Likewise.
14125         * lib/se-selinux.in.h: Likewise.
14126         * lib/search.in.h: Likewise.
14127         * lib/signal.in.h: Likewise.
14128         * lib/spawn.in.h: Likewise.
14129         * lib/stdarg.in.h: Likewise.
14130         * lib/stddef.in.h: Likewise.
14131         * lib/stdint.in.h: Likewise.
14132         * lib/stdio.in.h: Likewise.
14133         * lib/stdlib.in.h: Likewise.
14134         * lib/string.in.h: Likewise.
14135         * lib/strings.in.h: Likewise.
14136         * lib/sys_file.in.h: Likewise.
14137         * lib/sys_ioctl.in.h: Likewise.
14138         * lib/sys_select.in.h: Likewise.
14139         * lib/sys_socket.in.h: Likewise.
14140         * lib/sys_stat.in.h: Likewise.
14141         * lib/sys_time.in.h: Likewise.
14142         * lib/sys_times.in.h: Likewise.
14143         * lib/sys_uio.in.h: Likewise.
14144         * lib/sys_utsname.in.h: Likewise.
14145         * lib/sys_wait.in.h: Likewise.
14146         * lib/sysexits.in.h: Likewise.
14147         * lib/termios.in.h: Likewise.
14148         * lib/time.in.h: Likewise.
14149         * lib/unistd.in.h: Likewise.
14150         * lib/wchar.in.h: Likewise.
14151         * lib/wctype.in.h: Likewise.
14152         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
14153         * modules/ctype (Makefile.am): Likewise.
14154         * modules/dirent (Makefile.am): Likewise.
14155         * modules/errno (Makefile.am): Likewise.
14156         * modules/fcntl-h (Makefile.am): Likewise.
14157         * modules/float (Makefile.am): Likewise.
14158         * modules/getopt-posix (Makefile.am): Likewise.
14159         * modules/iconv-h (Makefile.am): Likewise.
14160         * modules/langinfo (Makefile.am): Likewise.
14161         * modules/locale (Makefile.am): Likewise.
14162         * modules/math (Makefile.am): Likewise.
14163         * modules/netdb (Makefile.am): Likewise.
14164         * modules/netinet_in (Makefile.am): Likewise.
14165         * modules/poll-h (Makefile.am): Likewise.
14166         * modules/pthread (Makefile.am): Likewise.
14167         * modules/pty (Makefile.am): Likewise.
14168         * modules/sched (Makefile.am): Likewise.
14169         * modules/search (Makefile.am): Likewise.
14170         * modules/selinux-h (Makefile.am): Likewise.
14171         * modules/signal (Makefile.am): Likewise.
14172         * modules/spawn (Makefile.am): Likewise.
14173         * modules/stdarg (Makefile.am): Likewise.
14174         * modules/stddef (Makefile.am): Likewise.
14175         * modules/stdint (Makefile.am): Likewise.
14176         * modules/stdio (Makefile.am): Likewise.
14177         * modules/stdlib (Makefile.am): Likewise.
14178         * modules/string (Makefile.am): Likewise.
14179         * modules/strings (Makefile.am): Likewise.
14180         * modules/sys_file (Makefile.am): Likewise.
14181         * modules/sys_ioctl (Makefile.am): Likewise.
14182         * modules/sys_select (Makefile.am): Likewise.
14183         * modules/sys_socket (Makefile.am): Likewise.
14184         * modules/sys_stat (Makefile.am): Likewise.
14185         * modules/sys_time (Makefile.am): Likewise.
14186         * modules/sys_times (Makefile.am): Likewise.
14187         * modules/sys_uio (Makefile.am): Likewise.
14188         * modules/sys_utsname (Makefile.am): Likewise.
14189         * modules/sys_wait (Makefile.am): Likewise.
14190         * modules/sysexits (Makefile.am): Likewise.
14191         * modules/termios (Makefile.am): Likewise.
14192         * modules/time (Makefile.am): Likewise.
14193         * modules/unistd (Makefile.am): Likewise.
14194         * modules/wchar (Makefile.am): Likewise.
14195         * modules/wctype-h (Makefile.am): Likewise.
14196         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
14197
14198 2011-05-29  Bruno Haible  <bruno@clisp.org>
14199
14200         assert-h: Allow multiple gnulib generated replacements to coexist.
14201         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
14202
14203 2011-05-29  Bruno Haible  <bruno@clisp.org>
14204
14205         argp: Allow coexistence with strerror_r-posix module.
14206         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
14207         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
14208         by gnulib's <string.h> replacement), assume it has the POSIX signature,
14209         not the glibc signature.
14210
14211 2011-05-28  Bruno Haible  <bruno@clisp.org>
14212
14213         gnulib-tool: Alternative structure of testdirs, similar to --import.
14214         * gnulib-tool: New option --single-configure.
14215         (func_usage): Document it.
14216         (single_configure): New variable.
14217         (func_modules_transitive_closure_separately,
14218         func_modules_transitive_closure_separately,
14219         func_determine_use_libtests, func_modules_add_dummy_separately,
14220         func_modules_to_filelist_separately): New functions, extracted from
14221         func_import.
14222         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
14223         (func_import): Use the new functions.
14224         (func_create_testdir): Set final_modules. Handle $single_configure =
14225         true case.
14226
14227 2011-05-28  Bruno Haible  <bruno@clisp.org>
14228
14229         getloadavg: Remove an unreliable safety check.
14230         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
14231         getloadavg.c is in place.
14232         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
14233         Reported by Sam Steingold <sds@gnu.org>.
14234
14235 2011-05-28  Bruno Haible  <bruno@clisp.org>
14236
14237         doc: Cleanup yet another file produced by texinfo.tex.
14238         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
14239
14240 2011-05-28  Bruno Haible  <bruno@clisp.org>
14241
14242         Finish the conditional dependencies mechanism.
14243         * gnulib-tool: New option --no-conditional-dependencies.
14244         (func_usage): Document it. Don't mark --conditional-dependencies as
14245         experimental.
14246         (cond_dependencies): The possible values can now be true, false, empty.
14247         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
14248         (func_import): Store setting in gnulib-cache.m4 and read it from there.
14249         * doc/gnulib-tool.texi (Conditional dependencies): New section.
14250
14251 2011-05-28  Bruno Haible  <bruno@clisp.org>
14252
14253         doc: Use a recent texinfo.tex.
14254         * doc/Makefile (tex_opts): New variable.
14255         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
14256
14257 2011-05-28  Jim Meyering  <meyering@redhat.com>
14258
14259         intprops.h: adjust comment to match code change
14260         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
14261         only once, it *may* have side effects.  Also fix an unrelated typo.
14262         (_GL_INT_SIGNED): Likewise.
14263
14264 2011-05-26  Simon Josefsson  <simon@josefsson.org>
14265
14266         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
14267
14268 2011-05-26  Bruno Haible  <bruno@clisp.org>
14269
14270         mbsrchr: Avoid collision with system function on Interix.
14271         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
14272         Reported by Markus Duft <mduft@gentoo.org>.
14273
14274 2011-05-15  James Youngman  <jay@gnu.org>
14275
14276         getopt: for ambiguous options, enumerate the possibilities.
14277         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
14278         the ambiguous options when an ambiguous prefix is given. This was
14279         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
14280         glibc change was
14281         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
14282
14283 2011-05-25  Eric Blake  <eblake@redhat.com>
14284
14285         getcwd: work around mingw bug
14286         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
14287         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14288         Reported by Matthias Bolte.
14289
14290 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14291
14292         test-intprops: disable -Wtype-limits diagnostics
14293         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
14294         diagnostics.  Otherwise, the integer overflow macros generate many
14295         diagnostics.  Reported by Jim Meyering in
14296         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14297
14298         intprops: shorten, to pacify gcc -Woverlength-strings
14299         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
14300         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
14301         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
14302         likely to run afoul of C compiler limits for string constant lengths.
14303         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14304
14305 2011-05-24  Eric Blake  <eblake@redhat.com>
14306
14307         docs: document recently fixed glibc printf bug
14308         * doc/posix-functions/fprintf.texi (fprintf): Document it.
14309         * doc/posix-functions/printf.texi (printf): Likewise.
14310         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14311         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14312
14313         closein-tests: convert to init.sh
14314         * modules/closein-tests (Files): Add init.sh
14315         * tests/test-closein.sh Use it.
14316
14317         yesno-tests: convert to init.sh
14318         * modules/yesno-tests (Files): Add init.sh.
14319         * tests/test-yesno.sh: Use it.
14320
14321         atexit-tests: ensure reliable exit status
14322         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
14323         Reported by Bruno Haible.
14324
14325 2011-05-24  Bruno Haible  <bruno@clisp.org>
14326
14327         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
14328         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
14329         gl_PREREQ_STRERROR_R invocations from here...
14330         * modules/strerror_r-posix (configure.ac): ... to here.
14331
14332 2011-05-24  Eric Blake  <eblake@redhat.com>
14333
14334         strerror_r: fix missing header
14335         * lib/strerror_r.c: Avoid compiler warning about snprintf.
14336
14337         strerror_r: fix AIX test failures
14338         * lib/strerror_r.c (strerror_r): Convert silent truncation to
14339         ERANGE failure.
14340
14341         strerror_r: fix Solaris test failures
14342         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
14343         failures.
14344         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14345
14346         strerror_r: enforce POSIX recommendations
14347         * lib/strerror_r.c (safe_copy): New helper method.
14348         (strerror_r): Guarantee a non-empty string.
14349         * tests/test-strerror_r.c (main): Enhance tests to incorporate
14350         recent POSIX rulings and to match our strerror guarantees.
14351         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14352
14353 2011-05-24  Jim Meyering  <meyering@redhat.com>
14354
14355         test-perror2.c: avoid warning about unused variable
14356         * tests/test-perror2.c (main): Remove declaration of unused "fp".
14357
14358 2011-05-24  Eric Blake  <eblake@redhat.com>
14359
14360         perror: avoid spurious test failure on HP-UX
14361         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
14362
14363         tests: fix logic bug in init.sh
14364         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
14365         shell.
14366
14367 2011-05-24  Jim Meyering  <meyering@redhat.com>
14368
14369         utimensat: do not reference an out-of-scope buffer
14370         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
14371         declared in an inner scope, yet "times" would be dereferenced outside
14372         the scope in which "ts" was valid.
14373         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
14374         of ts[2] "out/up", so that the use of aliased "times" (via
14375         "times = ts;") does not end up referencing an out-of-scope "ts"
14376
14377         opendir-safer.c: don't clobber errno; don't close negative FD
14378         * lib/opendir-safer.c (opendir_safer):
14379         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
14380         file descriptor, and more importantly, don't clobber the
14381         offending errno value with EINVAL.  Before, upon failure
14382         of dup_safer, we would pass the negative file descriptor to
14383         fdopendir, which would clobber errno.
14384
14385 2011-05-23  Bruno Haible  <bruno@clisp.org>
14386
14387         idcache: Fix module description.
14388         * modules/idcache (Include): Set to "idcache.h".
14389
14390 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
14391
14392         gnulib-tool: fix portability problem with MacOS sed
14393         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
14394         before the "}".  Problem reported by Leo in
14395         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
14396         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
14397         sed_extract_condition1, sed_extract_condition2.
14398
14399 2011-05-23  Bruno Haible  <bruno@clisp.org>
14400
14401         hash: Simplify autoconf macro.
14402         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
14403
14404 2011-05-23  Bruno Haible  <bruno@clisp.org>
14405
14406         getugroups: Fix module description.
14407         * modules/getugroups (Include): Set to "getugroups.h".
14408
14409 2011-05-23  Bruno Haible  <bruno@clisp.org>
14410
14411         linkat: Simplify autoconf macro.
14412         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
14413
14414 2011-05-23  Bruno Haible  <bruno@clisp.org>
14415             Eric Blake  <eblake@redhat.com>
14416
14417         linkat, renameat: Update dependencies.
14418         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
14419         * modules/linkat (Depends-on): Likewise. Remove also readlink,
14420         symlinkat.
14421
14422 2011-05-23  Jim Meyering  <meyering@redhat.com>
14423
14424         maint.mk: more tight_scope improvements
14425         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
14426         (_gl_TS_headers): Define only in if-0'd block.
14427         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
14428         sometimes we must *not* use it.  Adjust uses accordingly.
14429         (sc_tight_scope): Use much simpler grep-based test to determine
14430         whether we skip this rule.
14431
14432         maint.mk: generalize/improve the tight-scope rule
14433         * top/maint.mk: Emit a warning when the test is skipped.
14434         (_gl_TS_dir): Add $(srcdir)/ prefix.
14435         (_gl_TS_function_match): Simplify, rather than trying
14436         to enumerate common types.  Otherwise, it would fail to match an
14437         "extern unsigned char const *" declaration in idutils.
14438         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
14439         a way to support use of that type of macro.
14440         (_gl_TS_var_match): Simplify regexp.
14441         (_gl_TS_obj_files): New configurable variable.
14442         (_gl_TS_headers): Likewise.
14443
14444 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14445
14446         verify: fix bug when gnulib <assert.h> is also included
14447         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
14448         is defined, not if _GL_STATIC_ASSERT_H is not defined.
14449         Perhaps there's a better way, but this fixes the immediate problem.
14450         Problem reported by Bruno Haible in
14451         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
14452
14453 2011-05-22  Bruno Haible  <bruno@clisp.org>
14454
14455         xgetcwd: Simplify autoconf macro.
14456         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
14457
14458 2011-05-22  Bruno Haible  <bruno@clisp.org>
14459
14460         New module 'mktime-internal'.
14461         * modules/mktime-internal: New file.
14462         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
14463         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
14464         mktime_internal as a C macro if libc has __mktime_internal.
14465         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
14466         conditions.
14467         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
14468
14469 2011-05-22  Bruno Haible  <bruno@clisp.org>
14470
14471         timegm: Correct mktime replacement statements.
14472         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
14473         defining mktime as a C macro. This completes a 2009-07-28 commit.
14474
14475 2011-05-22  Bruno Haible  <bruno@clisp.org>
14476
14477         timegm: Simplify autoconf macro.
14478         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
14479
14480 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
14481
14482         clock-time: change to LGPLv2+.
14483         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
14484         BSD-like but we have no mark for that; this is good enough for now.
14485
14486 2011-05-21  Bruno Haible  <bruno@clisp.org>
14487
14488         strerror_r: Fix comments.
14489         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
14490
14491 2011-05-21  Bruno Haible  <bruno@clisp.org>
14492
14493         relocatable-prog-wrapper: Fix possible link error.
14494         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
14495         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
14496         (gl_FUNC_SETENV): ... to here.
14497         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
14498         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
14499
14500 2011-05-21  Bruno Haible  <bruno@clisp.org>
14501
14502         relocatable-prog-wrapper: Assume strerror() exists.
14503         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
14504         m4/strerror.m4.
14505         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
14506         * lib/relocwrapper.c: Remove mention of strerror module.
14507         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
14508         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
14509         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
14510         C macro.
14511
14512 2011-05-21  Bruno Haible  <bruno@clisp.org>
14513
14514         select: Simplify replacement idiom.
14515         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
14516         Win32 platforms.
14517         * lib/sys_select.in.h (select): Simplify accordingly.
14518         * modules/select (Depends-on): Likewise.
14519
14520 2011-05-21  Bruno Haible  <bruno@clisp.org>
14521
14522         mkdir-p: Simplify autoconf macro.
14523         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
14524         gl_FUNC_LCHOWN.
14525
14526 2011-05-21  Eric Blake  <eblake@redhat.com>
14527
14528         strerror_r: avoid clobbering strerror on cygwin
14529         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
14530         fall back instead to sys_errlist.
14531         * modules/strerror (configure.ac): Add witness.
14532         * tests/test-strerror_r.c (main): Enhance test.
14533         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14534         * tests/test-perror2.c (main): Free memory before exit.
14535
14536 2011-05-21  Bruno Haible  <bruno@clisp.org>
14537
14538         mkdtemp: Use gnulib naming conventions.
14539         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
14540         * modules/mkdtemp (configure.ac): Update.
14541
14542 2011-05-20  Eric Blake  <eblake@redhat.com>
14543
14544         strerror_r: avoid corrupting errno on Solaris
14545         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
14546         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14547
14548         strerror_r: avoid compiler warning
14549         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
14550
14551         strerror_r: simplify AIX code
14552         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
14553
14554         test-perror: avoid spurious failure on FreeBSD
14555         * modules/perror-tests (Depends-on): Add strerror, now that
14556         strerror_r no longer pulls it in.
14557
14558 2011-05-20  Bruno Haible  <bruno@clisp.org>
14559
14560         strerror_r-posix: Remove unused dependencies.
14561         * modules/strerror_r-posix (Depends-on): Remove strerror.
14562         Reported by Eric Blake.
14563
14564 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14565
14566         intprops: remove assumption about A|B representation
14567         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
14568         is a valid integer if both A and B are.  Although this is true for
14569         all known practical hosts, the C standard doesn't guarantee it,
14570         and the code need not assume it.  Also, this change may work around
14571         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
14572         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
14573
14574 2011-05-20  Eric Blake  <eblake@redhat.com>
14575
14576         perror: work around FreeBSD bug
14577         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
14578         is broken.  Move AC_LIBOBJ...
14579         * modules/perror (configure.ac): Here.
14580         * doc/posix-functions/perror.texi (perror): Document this.
14581         * tests/test-perror2.c (main): Enhance test.
14582
14583         test-perror: check for strerror interactions
14584         * tests/macros.h (STREQ): Add macro.
14585         * modules/perror-tests (Files): Add second test.
14586         * tests/test-perror2.c (main): New file.
14587         * doc/posix-functions/perror.texi (perror): Document glibc bug.
14588
14589         test-perror: rewrite to use init script
14590         * modules/perror-tests (Files): Add init.sh.
14591         * tests/test-perror.sh: Use temporary directory.
14592
14593 2011-05-20  Jim Meyering  <meyering@redhat.com>
14594
14595         maint: replace misused "a" with "an"
14596         * doc/intprops.texi: "a integer"
14597         * doc/regex.texi: "a explanation"
14598         * lib/alignof.h: "a object"
14599         * lib/argmatch.h: "a explanation"
14600         * lib/argp-help.c: "a option" and "a OPTION_DOC"
14601         * lib/stdint.in.h: "a integer"
14602         * lib/userspec.c: "a owner"
14603         * doc/gnulib.texi: Fix "a idea", and reword.
14604
14605 2011-05-19  Jim Meyering  <meyering@redhat.com>
14606
14607         maint: correct misuse of "a" and "an"
14608         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
14609         * lib/argp-help.c: "an docum...": s/an/a/
14610         * lib/argp-parse.c: "An vector": s/An/A/
14611         * lib/execute.c: "an native": s/an/a/
14612         * lib/spawn-pipe.c: Likewise.
14613         * lib/gc.h: "an Gc_rc": s/an/a/
14614         * lib/unigbrk.in.h: "an grapheme": s/an/a/
14615         * lib/fts.c: "an stat.st_dev": s/an/a/
14616
14617 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14618
14619         intprops-tests: work around HP-UX 11.23 cc bug with constants
14620         * tests/test-intprops.c (VERIFY): New macro.
14621         (main): Use it, instead of verify, to work around the compiler bug; see
14622         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14623
14624         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
14625         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
14626         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
14627         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
14628         (_GL_REMAINDER_OVERFLOW): Use it.
14629
14630         intprops-tests: revert unsigned part of previous change
14631         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
14632         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
14633         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
14634         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
14635
14636 2011-05-19  Bruno Haible  <bruno@clisp.org>
14637
14638         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
14639         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
14640         strerror_r() returned without filling the buffer.
14641         Reported by Eric Blake.
14642
14643 2011-05-19  Eric Blake  <eblake@redhat.com>
14644
14645         strerror_r: guarantee unchanged errno
14646         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
14647         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
14648         failure.
14649         * tests/test-strerror_r.c (main): Enhance test.
14650
14651 2011-05-19  Bruno Haible  <bruno@clisp.org>
14652
14653         strerror_r: Reorder #if blocks.
14654         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
14655         for consistency with the previous commit.
14656
14657 2011-05-19  Bruno Haible  <bruno@clisp.org>
14658
14659         perror: Avoid clobbering the strerror buffer when possible.
14660         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
14661         * lib/strerror.c: Include it.
14662         * modules/strerror (Files): Add lib/strerror-impl.h.
14663         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
14664         (my_strerror): New function, defined through lib/strerror-impl.h.
14665         (perror): Use it instead of strerror.
14666         * modules/perror (Files): Add lib/strerror-impl.h.
14667         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
14668
14669 2011-05-19  Eric Blake  <eblake@redhat.com>
14670
14671         strerror_r: fix on newer cygwin
14672         * lib/strerror_r.c (strerror_r): Cygwin now has
14673         __xpg_strerror_r, use it.
14674
14675 2011-05-19  Bruno Haible  <bruno@clisp.org>
14676
14677         strerror_r: Avoid clobbering the strerror buffer when possible.
14678         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
14679         (sys_nerr, sys_errlist): New declarations.
14680         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
14681         HP-UX, native Win32, IRIX, and 32-bit Solaris.
14682         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
14683
14684 2011-05-19  Bruno Haible  <bruno@clisp.org>
14685
14686         strerror_r: Fix test failure on mingw.
14687         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
14688         EXTEND_STRERROR_R.
14689         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
14690         macros from errno.in.h instead.
14691
14692 2011-05-19  Eric Blake  <eblake@redhat.com>
14693
14694         strerror: relax test for Solaris
14695         * tests/test-strerror.c (main): Permit Solaris behavior.
14696         * tests/test-strerror_r.c (main): Likewise.
14697
14698         strerror: enforce POSIX ruling on strerror(0)
14699         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
14700         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
14701         * lib/strerror_r.c (rpl_strerror_r): Work around it.
14702         * doc/posix-functions/strerror.texi (strerror): Document it.
14703         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
14704         * tests/test-strerror.c (main): Strengthen test.
14705         * tests/test-strerror_r.c (main): Likewise.
14706
14707 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14708
14709         intprop-tests: port to older and more-pedantic compilers
14710         * modules/intprops-tests (Files): Add tests/macros.h.
14711         * tests/test-intprops.c: Include macros.h.
14712         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
14713         it's no longer documented to expand to an integer constant expression.
14714         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
14715         argument is floating point, as it's no longer documented to expand
14716         to an integer constant expression in that case.
14717         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
14718         compiler bugs reported by Bruno Haible.  See
14719         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14720         (U0, U1): New constants, to work around the same bugs.  Also,
14721         in tests, use e.g., "(unsigned int) 39" rather than "39u".
14722
14723         intprops: work around C compiler bugs
14724         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
14725         bug in Sun C 5.11 2010/08/13 and other compilers; see
14726         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14727
14728         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
14729         * doc/intprops.texi (Integer Type Determination): Fix
14730         documentation for TYPE_IS_INTEGER: it returns an constant
14731         expression, not an integer constant expression.  Fix doc for
14732         TYPE_SIGNED: it returns an integer constant expression only if its
14733         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
14734         hardly worth documented that way....)
14735
14736 2011-05-18  Bruno Haible  <bruno@clisp.org>
14737
14738         strerror_r: Avoid clobbering the strerror buffer when possible.
14739         * lib/strerror_r.c (strerror_r): Merge the three implementations.
14740         Handle gnulib defined errno values here. When strerror() returns NULL
14741         or an empty string, return EINVAL.
14742         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
14743         gnulib defined errno values here.
14744         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
14745
14746 2011-05-18  Eric Blake  <eblake@redhat.com>
14747
14748         fnmatch: avoid compiler warning
14749         * lib/fnmatch_loop.c (FCT): Use correct type.
14750         Reported by Matthias Bolte.
14751
14752 2011-05-13  Jim Meyering  <meyering@redhat.com>
14753
14754         maint.mk: three new prohibit_<HDR>_without_use rules
14755         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
14756         (sc_prohibit_stdio-safer_without_use): Likewise.
14757         (sc_prohibit_xfreopen_without_use): Likewise.
14758
14759 2011-05-17  Jim Meyering  <meyering@redhat.com>
14760
14761         announce-gen: fail if the NEWS delta is empty
14762         If there's nothing noteworthy in NEWS, then either you forgot
14763         or you shouldn't be releasing.
14764         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
14765
14766 2011-05-17  Pádraig Brady <P@draigBrady.com>
14767
14768         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
14769         reserved symbols starting with double underscore from the check.
14770
14771 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14772
14773         intprops: add doc
14774         * doc/intprops.texi: New file, documenting intprops.
14775         * doc/gnulib.texi (Particular Modules): Include it.
14776
14777         verify: add doc to gnulib manual and fix example
14778         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
14779         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
14780         (Compile-time Assertions): Fix example so it can't overflow.
14781
14782 2011-05-17  Jim Meyering  <meyering@redhat.com>
14783
14784         warnings.m4: don't usurp save_CPPFLAGS variable name
14785         * m4/warnings.m4: Prefix local temporary variable name with gl_.
14786
14787         doc: fix typo
14788         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
14789
14790 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14791             Bruno Haible  <bruno@clisp.org>
14792
14793         doc: Tweak recent change.
14794         * README (Portability guidelines): Tweak new text.
14795         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
14796         Interix 6.1.
14797
14798 2011-05-16  Eric Blake  <eblake@redhat.com>
14799
14800         inttypes: avoid autoconf warning
14801         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
14802         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14803
14804 2011-05-16  Sam Steingold <sds@gnu.org>
14805         and Eric Blake  <eblake@redhat.com>
14806
14807         vc-list-files: accept multiple directory operands
14808         * build-aux/vc-list-files: Iterate over all remaining operands.
14809
14810 2011-05-16  Bruno Haible  <bruno@clisp.org>
14811
14812         Fix confusion regarding deprecated modules.
14813         * modules/calloc (Status, Notice): Mark module as deprecated, not
14814         obsolete.
14815         * modules/fnmatch-posix (Status, Notice): Likewise.
14816         * modules/getdate (Status, Notice): Likewise.
14817         * modules/getopt (Status, Notice): Likewise.
14818         * modules/malloc (Status, Notice): Likewise.
14819         * modules/pipe (Status, Notice): Likewise.
14820         * modules/realloc (Status, Notice): Likewise.
14821         * modules/rename-dest-slash (Status, Notice): Likewise.
14822         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
14823         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
14824         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
14825         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
14826         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
14827
14828 2011-05-16  Bruno Haible  <bruno@clisp.org>
14829
14830         doc: List the target platforms.
14831         * doc/gnulib-intro.texi (Target Platforms): New section.
14832         * doc/gnulib.texi (Introduction): Update menu.
14833         * README (Portability guidelines): Refer to the new section. Update
14834         statement about oldest supported environment. Remove rationale why
14835         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
14836         unportable C89 function.
14837         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
14838         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
14839
14840 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14841
14842         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
14843
14844 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14845
14846         intprops-tests: new module
14847         * modules/intprops-tests, tests/test-intprops.c: New files.
14848
14849         intprops: add safe, portable integer overflow checking
14850         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
14851         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
14852         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
14853         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
14854         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
14855         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
14856         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
14857         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
14858         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
14859         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
14860         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
14861
14862 2011-05-12  James Youngman  <jay@gnu.org>
14863
14864         Add a test for glibc's Bugzilla bug #12378.
14865         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
14866         doesn't allow the literal matching of a lone "[" (which is
14867         required by POSIX).
14868         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
14869
14870 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
14871
14872         Sync glibc change fixing Bugzilla bug #12378.
14873         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
14874         beginning and fall back to matching as normal character if the
14875         string ends before the matching ']' is found.  This is what POSIX
14876         requires.
14877
14878 2011-05-13  Eric Blake  <eblake@redhat.com>
14879
14880         getcwd-lgpl: relax test for FreeBSD
14881         * doc/posix-functions/getcwd.texi (getcwd): Document portability
14882         issue.
14883         * tests/test-getcwd-lgpl.c (main): Relax test.
14884         Reported by Matthias Bolte.
14885
14886 2011-05-11  Eric Blake  <eblake@redhat.com>
14887
14888         test-fflush: silence compiler warning
14889         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
14890
14891 2011-05-11  Bruno Haible  <bruno@clisp.org>
14892
14893         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
14894         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
14895         * modules/canonicalize (Depends-on): Add 'nocrash'.
14896         * modules/canonicalize-lgpl (Depends-on): Likewise.
14897         * doc/posix-functions/realpath.texi: Update platforms list.
14898         Reported by Ryan Schmidt <ryandesign@macports.org>.
14899
14900 2011-05-11  Bruno Haible  <bruno@clisp.org>
14901
14902         group-member: Declare function in <unistd.h>.
14903         * lib/unistd.in.h (group_member): New declaration.
14904         * lib/group-member.h: Remove file.
14905         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
14906         * tests/test-unistd-c++.cc: Check signature of group_member.
14907         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
14908         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
14909         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
14910         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
14911         HAVE_GROUP_MEMBER.
14912         * modules/group-member (Files): Remove lib/group-member.h.
14913         (Depends-on): Add unistd. Specify conditions.
14914         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
14915         (Include): Change to <unistd.h>.
14916         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
14917         HAVE_GROUP_MEMBER.
14918         * NEWS: Mention the change.
14919         * lib/euidaccess.c: Don't include group-member.h.
14920
14921 2011-05-11  Bruno Haible  <bruno@clisp.org>
14922
14923         group-member: Document module.
14924         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
14925         module.
14926
14927 2011-05-11  Bruno Haible  <bruno@clisp.org>
14928
14929         fclose: Fix mistake earlier today.
14930         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
14931
14932 2011-05-11  Eric Blake  <eblake@redhat.com>
14933
14934         fclose: preserve fflush errors
14935         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
14936         Reported by Jim Meyering.
14937
14938         bootstrap: support a prereq of 'rpcgen -' on RHEL5
14939         * build-aux/bootstrap (check_versions): When no specific version
14940         is required, merely check that the app produces an exit status
14941         that indicates its existence.
14942
14943         maint.mk: drop redundant check
14944         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
14945         the same but better.
14946
14947 2011-05-11  Bruno Haible  <bruno@clisp.org>
14948
14949         fclose: Fix possible link error.
14950         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
14951         unregister_shadow_fd. Improve comments.
14952         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
14953         Eric Blake.
14954
14955 2011-05-11  Jim Meyering  <meyering@redhat.com>
14956
14957         maint.mk: improve "can not" detection and generalize rule name
14958         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
14959         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
14960         Use the same technique as in sc_prohibit_doubled_word, so that
14961         we recognize "can not" also when the words are separated by a newline.
14962         Suggested by Eric Blake.
14963         (perl_filename_lineno_text_): Define.  Factored out of...
14964         (prohibit_doubled_word_): ...here.  Use the new definition.
14965         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
14966         (prohibit_undesirable_word_seq_RE_): New overridable variable.
14967         (ignore_undesirable_word_sequence_RE_): New overridable variable.
14968
14969 2011-05-10  Eric Blake  <eblake@redhat.com>
14970
14971         fclose: avoid double close race when possible
14972         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
14973         all but WINDOWS_SOCKETS.
14974
14975 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
14976
14977         openat: correct new comment
14978         * lib/openat-proc.c (openat_proc_name): Correct the comment.
14979
14980 2011-05-10  Jim Meyering  <meyering@redhat.com>
14981
14982         openat: add comments
14983         * lib/openat-proc.c (openat_proc_name): Add comments,
14984         mostly from Eric Blake.
14985
14986 2011-05-09  Eric Blake  <eblake@redhat.com>
14987
14988         openat: reduce syscalls in first probe of /proc
14989         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
14990         be a directory.  Simplify the probe for .. bugs.
14991         * modules/openat (Depends-on): Drop same-inode.
14992         Reported by Bastien ROUCARIES.
14993
14994 2011-05-09  Jim Meyering  <meyering@redhat.com>
14995
14996         maint.mk: change semantics/name of tight_scope variables
14997         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
14998         Rename variables to align with semantics that make them more useful.
14999
15000         maint.mk: tweak new rule's name not to impinge
15001         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
15002         (sc_tight_scope): Use new rule name rather than $@-0.
15003
15004         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
15005         * top/maint.mk (sc_tight_scope): New rule.
15006         (sc_tight_scope-0): New rule, ifdef'd out.
15007         (_gl_TS_dir): Default.
15008         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
15009         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
15010
15011 2011-05-09  Simon Josefsson  <simon@josefsson.org>
15012
15013         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
15014         Haible <bruno@clisp.org>.
15015
15016 2011-05-08  Bruno Haible  <bruno@clisp.org>
15017
15018         Comments.
15019         * m4/isnanf.m4: Add comment.
15020         * m4/isnanl.m4: Likewise.
15021
15022 2011-05-08  Bruno Haible  <bruno@clisp.org>
15023
15024         glob: Remove obsolete macro.
15025         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
15026
15027 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
15028
15029         intprops: Sun C 5.11 supports __typeof__
15030         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
15031         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
15032         which is new.
15033         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
15034
15035         intprops: switch to usual gnulib indenting and naming
15036         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
15037         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
15038
15039         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
15040
15041 2011-05-08  Jim Meyering  <meyering@redhat.com>
15042
15043         maint.mk: suppress "Entering/Leaving directory" diag in announcement
15044         * top/maint.mk (release-prep): Use make's --no-print-directory
15045         option when generating the announcement.  This eliminates the
15046         pesky "make[2]: Entering/Leaving directory" diagnostics in the
15047         generated announcement template.
15048
15049 2011-05-08  Bruno Haible  <bruno@clisp.org>
15050
15051         tzset: Fix gettimeofday wrapper on Solaris 2.6.
15052         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
15053         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
15054
15055 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
15056
15057         ignore-value, verify: Omit include files from lib_SOURCES.
15058         * modules/ignore-value, modules/verify (Makefile.am):
15059         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
15060         that leads Automake to duplicate use of am__objects_... variables
15061         in Makefile.in.  See
15062         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
15063
15064 2011-05-07  Bruno Haible  <bruno@clisp.org>
15065
15066         fclose: Simplify autoconf macro.
15067         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
15068         defined.
15069
15070 2011-05-07  Bruno Haible  <bruno@clisp.org>
15071
15072         canonicalize-lgpl: Fix autoconf macro ordering bug.
15073         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
15074         gl_STDLIB_H_DEFAULTS.
15075
15076 2011-05-06  Eric Blake  <eblake@redhat.com>
15077
15078         maintainer-makefile: make sc_po_check easier to tune
15079         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
15080         to probe for strings, such as an alternate location for gnulib.
15081
15082         fclose: guarantee behavior on seekable stdin
15083         * modules/fclose (Depends-on): Add fflush.
15084         * doc/posix-functions/fclose.texi (fclose): Document this.
15085         * tests/test-fclose.c (main): Make test for this unconditional.
15086
15087 2011-05-06  Bruno Haible  <bruno@clisp.org>
15088
15089         fflush, fpurge: Relicense under LGPLv2+.
15090         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
15091         * modules/fpurge (License): Likewise.
15092         With permission from Eric Blake and Jim Meyering.
15093         Suggested by Eric Blake.
15094
15095 2011-05-06  Karl Berry  <karl@gnu.org>
15096
15097         * MODULES.html.sh (func_all_modules): remove exit.
15098
15099 2011-05-06  Jim Meyering  <meyering@redhat.com>
15100
15101         maint.mk: use info-gnu@ as the default only for a stable release
15102         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
15103         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
15104         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
15105         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
15106
15107 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15108
15109         assert-h: new module, which supports C1X-style static_assert
15110         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
15111         * lib/verify.h: Revamp so that this can be copied into assert.h,
15112         while retaining the ability to use it standalone as before.
15113         Rename private identifiers so as not to encroach on the
15114         standard C namespace, since this is now used by assert.h.
15115         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
15116         the old verify_true.
15117         (_GL_VERIFY_TRUE): New macro, with much of the contents of
15118         the old verify_true.  Use _GL_VERIFY_TYPE.
15119         (_GL_VERIFY): New macro, with much of the contents of the old verify.
15120         (static_assert): New macro, if _GL_STATIC_ASSERT_H
15121         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
15122         defined when this file is copied into the replacement assert.h.
15123         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
15124         and _Static_assert is not built in.
15125         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
15126         defined, and use the new macros mentioned above.
15127         * doc/posix-headers/assert.texi: Document this.
15128
15129 2011-05-05  Bruno Haible  <bruno@clisp.org>
15130
15131         fclose, fflush: Respect rules for use of AC_LIBOBJ.
15132         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
15133         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
15134         gl_REPLACE_FCLOSE here.
15135         * modules/fflush (Depends-on): Remove fclose.
15136         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
15137         combination with module 'fclose'.
15138
15139 2011-05-05  Bruno Haible  <bruno@clisp.org>
15140
15141         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
15142         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
15143         gl_FUNC_FFLUSH.
15144         (gl_FUNC_FFLUSH): Use it.
15145         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
15146         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
15147         gl_REPLACE_FSEEKO here.
15148
15149 2011-05-05  Bruno Haible  <bruno@clisp.org>
15150
15151         tzset: Relicense under LGPL.
15152         * modules/tzset (License): Change to LGPL.
15153         No agreement needed; it's a no-op.
15154
15155         strtoimax, strtoumax: Relicense under LGPL.
15156         * modules/strtoimax (License): Change to LGPL.
15157         * modules/strtoumax (License): Likewise.
15158         With permission from Jim Meyering, Paul Eggert:
15159         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
15160         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
15161
15162         getgroups: Relicense under LGPL.
15163         * modules/getgroups (License): Change to LGPL.
15164         With permission from Jim Meyering, Paul Eggert, Eric Blake:
15165         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15166         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15167         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15168
15169         nanosleep: Relicense under LGPL.
15170         * modules/nanosleep (License): Change to LGPL.
15171         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
15172         Haible:
15173         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15174         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15175         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15176         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15177
15178         futimens: Relicense under LGPL.
15179         * modules/futimens (License): Change to LGPL.
15180         With permission from Eric Blake:
15181         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15182
15183         fflush: Relicense under LGPL.
15184         * modules/fflush (License): Change to LGPL.
15185         With permission from Eric Blake, Bruno Haible, Jim Meyering:
15186         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15187         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15188         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
15189
15190         tmpfile: Relicense under LGPL.
15191         * modules/tmpfile (License): Change to LGPL.
15192         With permission from Ben Pfaff:
15193         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15194
15195         isfinite: Relicense under LGPL.
15196         * modules/isfinite (License): Change to LGPL.
15197         With permission from Ben Pfaff, Bruno Haible:
15198         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15199         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
15200
15201         acosl..tanl: Relicense under LGPL.
15202         * modules/acosl (License): Change to LGPL.
15203         * modules/asinl (License): Likewise.
15204         * modules/atanl (License): Likewise.
15205         * modules/cosl (License): Likewise.
15206         * modules/expl (License): Likewise.
15207         * modules/logl (License): Likewise.
15208         * modules/sinl (License): Likewise.
15209         * modules/sqrtl (License): Likewise.
15210         * modules/tanl (License): Likewise.
15211         Source code originally from glibc and Paolo Bonzini. Agreements:
15212         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
15213         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
15214
15215 2011-05-05  Bruno Haible  <bruno@clisp.org>
15216
15217         signal: Define sighandler_t.
15218         * lib/signal.in.h (sighandler_t): New type.
15219         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
15220         whether sighandler_t is defined.
15221         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
15222         * modules/signal (Depends-on): Add extensions.
15223         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
15224         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
15225         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
15226
15227 2011-05-05  Eric Blake  <eblake@redhat.com>
15228
15229         maint: remove useless REPLACE_*_H macros
15230         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
15231         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
15232         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
15233         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
15234         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
15235         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
15236         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
15237         * m4/btowc.m4: Update callers.
15238         * m4/dirfd.m4: Likewise.
15239         * m4/duplocale.m4: Likewise.
15240         * m4/fchdir.m4: Likewise.
15241         * m4/fdopendir.m4: Likewise.
15242         * m4/inet_ntop.m4: Likewise.
15243         * m4/inet_pton.m4: Likewise.
15244         * m4/ioctl.m4: Likewise.
15245         * m4/mbrlen.m4: Likewise.
15246         * m4/mbrtowc.m4: Likewise.
15247         * m4/mbsinit.m4: Likewise.
15248         * m4/mbsnrtowcs.m4: Likewise.
15249         * m4/mbsrtowcs.m4: Likewise.
15250         * m4/poll.m4: Likewise.
15251         * m4/setlocale.m4: Likewise.
15252         * m4/wcrtomb.m4: Likewise.
15253         * m4/wcsnrtombs.m4: Likewise.
15254         * m4/wcsrtombs.m4: Likewise.
15255         * m4/wctob.m4: Likewise.
15256         * m4/wcwidth.m4: Likewise.
15257         * modules/posix_spawn: Likewise.
15258         * modules/posix_spawn_file_actions_addclose: Likewise.
15259         * modules/posix_spawn_file_actions_adddup2: Likewise.
15260         * modules/posix_spawn_file_actions_addopen: Likewise.
15261         * modules/posix_spawn_file_actions_destroy: Likewise.
15262         * modules/posix_spawn_file_actions_init: Likewise.
15263         * modules/posix_spawnattr_destroy: Likewise.
15264         * modules/posix_spawnattr_getflags: Likewise.
15265         * modules/posix_spawnattr_getpgroup: Likewise.
15266         * modules/posix_spawnattr_getschedparam: Likewise.
15267         * modules/posix_spawnattr_getschedpolicy: Likewise.
15268         * modules/posix_spawnattr_getsigdefault: Likewise.
15269         * modules/posix_spawnattr_getsigmask: Likewise.
15270         * modules/posix_spawnattr_init: Likewise.
15271         * modules/posix_spawnattr_setflags: Likewise.
15272         * modules/posix_spawnattr_setpgroup: Likewise.
15273         * modules/posix_spawnattr_setschedparam: Likewise.
15274         * modules/posix_spawnattr_setschedpolicy: Likewise.
15275         * modules/posix_spawnattr_setsigdefault: Likewise.
15276         * modules/posix_spawnattr_setsigmask: Likewise.
15277         * modules/posix_spawnp: Likewise.
15278
15279 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
15280
15281         Add option to do-release-commit-and-tag to specify branch.
15282         * build-aux/do-release-commit-and-tag: Add --branch.
15283
15284 2011-05-03  Bruno Haible  <bruno@clisp.org>
15285
15286         Avoid unnecessary compilation units, through conditional dependencies.
15287         * modules/accept (Depends-on): Add conditions to the dependencies.
15288         * modules/acosl (Depends-on): Likewise.
15289         * modules/argz (Depends-on): Likewise.
15290         * modules/asinl (Depends-on): Likewise.
15291         * modules/atanl (Depends-on): Likewise.
15292         * modules/atoll (Depends-on): Likewise.
15293         * modules/bind (Depends-on): Likewise.
15294         * modules/btowc (Depends-on): Likewise.
15295         * modules/canonicalize-lgpl (Depends-on): Likewise.
15296         * modules/ceil (Depends-on): Likewise.
15297         * modules/ceilf (Depends-on): Likewise.
15298         * modules/ceill (Depends-on): Likewise.
15299         * modules/chdir-long (Depends-on): Likewise.
15300         * modules/chown (Depends-on): Likewise.
15301         * modules/close (Depends-on): Likewise.
15302         * modules/connect (Depends-on): Likewise.
15303         * modules/cosl (Depends-on): Likewise.
15304         * modules/dirfd (Depends-on): Likewise.
15305         * modules/dprintf (Depends-on): Likewise.
15306         * modules/dprintf-posix (Depends-on): Likewise.
15307         * modules/error (Depends-on): Likewise.
15308         * modules/euidaccess (Depends-on): Likewise.
15309         * modules/expl (Depends-on): Likewise.
15310         * modules/faccessat (Depends-on): Likewise.
15311         * modules/fchdir (Depends-on): Likewise.
15312         * modules/fclose (Depends-on): Likewise.
15313         * modules/fcntl (Depends-on): Likewise.
15314         * modules/fdopendir (Depends-on): Likewise.
15315         * modules/fflush (Depends-on): Likewise.
15316         * modules/floor (Depends-on): Likewise.
15317         * modules/floorf (Depends-on): Likewise.
15318         * modules/floorl (Depends-on): Likewise.
15319         * modules/fnmatch (Depends-on): Likewise.
15320         * modules/fopen (Depends-on): Likewise.
15321         * modules/fprintf-posix (Depends-on): Likewise.
15322         * modules/frexp (Depends-on): Likewise.
15323         * modules/frexp-nolibm (Depends-on): Likewise.
15324         * modules/frexpl (Depends-on): Likewise.
15325         * modules/frexpl-nolibm (Depends-on): Likewise.
15326         * modules/fseek (Depends-on): Likewise.
15327         * modules/fsusage (Depends-on): Likewise.
15328         * modules/ftell (Depends-on): Likewise.
15329         * modules/ftello (Depends-on): Likewise.
15330         * modules/futimens (Depends-on): Likewise.
15331         * modules/getcwd (Depends-on): Likewise.
15332         * modules/getcwd-lgpl (Depends-on): Likewise.
15333         * modules/getdelim (Depends-on): Likewise.
15334         * modules/getdomainname (Depends-on): Likewise.
15335         * modules/getgroups (Depends-on): Likewise.
15336         * modules/gethostname (Depends-on): Likewise.
15337         * modules/getline (Depends-on): Likewise.
15338         * modules/getlogin_r (Depends-on): Likewise.
15339         * modules/getopt-posix (Depends-on): Likewise.
15340         * modules/getpeername (Depends-on): Likewise.
15341         * modules/getsockname (Depends-on): Likewise.
15342         * modules/getsockopt (Depends-on): Likewise.
15343         * modules/getsubopt (Depends-on): Likewise.
15344         * modules/getusershell (Depends-on): Likewise.
15345         * modules/glob (Depends-on): Likewise.
15346         * modules/grantpt (Depends-on): Likewise.
15347         * modules/iconv_open (Depends-on): Likewise.
15348         * modules/iconv_open-utf (Depends-on): Likewise.
15349         * modules/inet_ntop (Depends-on): Likewise.
15350         * modules/inet_pton (Depends-on): Likewise.
15351         * modules/ioctl (Depends-on): Likewise.
15352         * modules/isapipe (Depends-on): Likewise.
15353         * modules/isfinite (Depends-on): Likewise.
15354         * modules/isinf (Depends-on): Likewise.
15355         * modules/lchown (Depends-on): Likewise.
15356         * modules/ldexpl (Depends-on): Likewise.
15357         * modules/link (Depends-on): Likewise.
15358         * modules/linkat (Depends-on): Likewise.
15359         * modules/listen (Depends-on): Likewise.
15360         * modules/logl (Depends-on): Likewise.
15361         * modules/lstat (Depends-on): Likewise.
15362         * modules/mbrlen (Depends-on): Likewise.
15363         * modules/mbrtowc (Depends-on): Likewise.
15364         * modules/mbsinit (Depends-on): Likewise.
15365         * modules/mbsnrtowcs (Depends-on): Likewise.
15366         * modules/mbsrtowcs (Depends-on): Likewise.
15367         * modules/mbtowc (Depends-on): Likewise.
15368         * modules/memcmp (Depends-on): Likewise.
15369         * modules/mkdir (Depends-on): Likewise.
15370         * modules/mkdtemp (Depends-on): Likewise.
15371         * modules/mkfifo (Depends-on): Likewise.
15372         * modules/mkfifoat (Depends-on): Likewise.
15373         * modules/mknod (Depends-on): Likewise.
15374         * modules/mkostemp (Depends-on): Likewise.
15375         * modules/mkostemps (Depends-on): Likewise.
15376         * modules/mkstemp (Depends-on): Likewise.
15377         * modules/mkstemps (Depends-on): Likewise.
15378         * modules/mktime (Depends-on): Likewise.
15379         * modules/nanosleep (Depends-on): Likewise.
15380         * modules/open (Depends-on): Likewise.
15381         * modules/openat (Depends-on): Likewise.
15382         * modules/perror (Depends-on): Likewise.
15383         * modules/poll (Depends-on): Likewise.
15384         * modules/popen (Depends-on): Likewise.
15385         * modules/posix_spawn (Depends-on): Likewise.
15386         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
15387         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
15388         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
15389         * modules/posix_spawnp (Depends-on): Likewise.
15390         * modules/pread (Depends-on): Likewise.
15391         * modules/printf-posix (Depends-on): Likewise.
15392         * modules/ptsname (Depends-on): Likewise.
15393         * modules/putenv (Depends-on): Likewise.
15394         * modules/pwrite (Depends-on): Likewise.
15395         * modules/readline (Depends-on): Likewise.
15396         * modules/readlink (Depends-on): Likewise.
15397         * modules/readlinkat (Depends-on): Likewise.
15398         * modules/recv (Depends-on): Likewise.
15399         * modules/recvfrom (Depends-on): Likewise.
15400         * modules/regex (Depends-on): Likewise.
15401         * modules/remove (Depends-on): Likewise.
15402         * modules/rename (Depends-on): Likewise.
15403         * modules/renameat (Depends-on): Likewise.
15404         * modules/rmdir (Depends-on): Likewise.
15405         * modules/round (Depends-on): Likewise.
15406         * modules/roundf (Depends-on): Likewise.
15407         * modules/roundl (Depends-on): Likewise.
15408         * modules/rpmatch (Depends-on): Likewise.
15409         * modules/select (Depends-on): Likewise.
15410         * modules/send (Depends-on): Likewise.
15411         * modules/sendto (Depends-on): Likewise.
15412         * modules/setenv (Depends-on): Likewise.
15413         * modules/setlocale (Depends-on): Likewise.
15414         * modules/setsockopt (Depends-on): Likewise.
15415         * modules/shutdown (Depends-on): Likewise.
15416         * modules/sigaction (Depends-on): Likewise.
15417         * modules/signbit (Depends-on): Likewise.
15418         * modules/sigprocmask (Depends-on): Likewise.
15419         * modules/sinl (Depends-on): Likewise.
15420         * modules/sleep (Depends-on): Likewise.
15421         * modules/snprintf (Depends-on): Likewise.
15422         * modules/snprintf-posix (Depends-on): Likewise.
15423         * modules/socket (Depends-on): Likewise.
15424         * modules/sprintf-posix (Depends-on): Likewise.
15425         * modules/sqrtl (Depends-on): Likewise.
15426         * modules/stat (Depends-on): Likewise.
15427         * modules/strchrnul (Depends-on): Likewise.
15428         * modules/strdup-posix (Depends-on): Likewise.
15429         * modules/strerror (Depends-on): Likewise.
15430         * modules/strerror_r-posix (Depends-on): Likewise.
15431         * modules/strndup (Depends-on): Likewise.
15432         * modules/strnlen (Depends-on): Likewise.
15433         * modules/strptime (Depends-on): Likewise.
15434         * modules/strsep (Depends-on): Likewise.
15435         * modules/strsignal (Depends-on): Likewise.
15436         * modules/strstr-simple (Depends-on): Likewise.
15437         * modules/strtod (Depends-on): Likewise.
15438         * modules/strtoimax (Depends-on): Likewise.
15439         * modules/strtok_r (Depends-on): Likewise.
15440         * modules/strtoumax (Depends-on): Likewise.
15441         * modules/symlink (Depends-on): Likewise.
15442         * modules/symlinkat (Depends-on): Likewise.
15443         * modules/tanl (Depends-on): Likewise.
15444         * modules/tcgetsid (Depends-on): Likewise.
15445         * modules/tmpfile (Depends-on): Likewise.
15446         * modules/trunc (Depends-on): Likewise.
15447         * modules/truncf (Depends-on): Likewise.
15448         * modules/truncl (Depends-on): Likewise.
15449         * modules/uname (Depends-on): Likewise.
15450         * modules/unlink (Depends-on): Likewise.
15451         * modules/unlockpt (Depends-on): Likewise.
15452         * modules/unsetenv (Depends-on): Likewise.
15453         * modules/usleep (Depends-on): Likewise.
15454         * modules/utimensat (Depends-on): Likewise.
15455         * modules/vasprintf (Depends-on): Likewise.
15456         * modules/vdprintf (Depends-on): Likewise.
15457         * modules/vdprintf-posix (Depends-on): Likewise.
15458         * modules/vfprintf-posix (Depends-on): Likewise.
15459         * modules/vprintf-posix (Depends-on): Likewise.
15460         * modules/vsnprintf (Depends-on): Likewise.
15461         * modules/vsnprintf-posix (Depends-on): Likewise.
15462         * modules/vsprintf-posix (Depends-on): Likewise.
15463         * modules/wcrtomb (Depends-on): Likewise.
15464         * modules/wcscasecmp (Depends-on): Likewise.
15465         * modules/wcscspn (Depends-on): Likewise.
15466         * modules/wcsdup (Depends-on): Likewise.
15467         * modules/wcsncasecmp (Depends-on): Likewise.
15468         * modules/wcsnrtombs (Depends-on): Likewise.
15469         * modules/wcspbrk (Depends-on): Likewise.
15470         * modules/wcsrtombs (Depends-on): Likewise.
15471         * modules/wcsspn (Depends-on): Likewise.
15472         * modules/wcsstr (Depends-on): Likewise.
15473         * modules/wcstok (Depends-on): Likewise.
15474         * modules/wcswidth (Depends-on): Likewise.
15475         * modules/wctob (Depends-on): Likewise.
15476         * modules/wctomb (Depends-on): Likewise.
15477         * modules/wctype (Depends-on): Likewise.
15478         * modules/wcwidth (Depends-on): Likewise.
15479         * modules/write (Depends-on): Likewise.
15480
15481 2011-05-03  Bruno Haible  <bruno@clisp.org>
15482
15483         Support for conditional dependencies.
15484         * doc/gnulib.texi (Module description): Document the syntax of
15485         conditional dependencies.
15486         * gnulib-tool: New option --conditional-dependencies.
15487         (func_usage): Document it.
15488         (cond_dependencies): New variable.
15489         (func_get_automake_snippet_conditional,
15490         func_get_automake_snippet_unconditional): New functions, extracted from
15491         func_get_automake_snippet.
15492         (func_get_automake_snippet): Use them.
15493         (sed_first_32_chars): New variable.
15494         (func_module_shellfunc_name): New function.
15495         (func_module_shellvar_name): New function.
15496         (func_module_conditional_name): New function.
15497         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
15498         func_cond_module_condition): New functions.
15499         (func_modules_transitive_closure): Add support for conditional
15500         dependencies.
15501         (func_emit_lib_Makefile_am): For a conditional module, enclose the
15502         conditional automake snippet in an automake conditional.
15503         (func_emit_autoconf_snippets): Emit shell functions that contain the
15504         code for conditional modules.
15505         (func_import, func_create_testdir): Update specification.
15506
15507 2011-05-03  Eric Blake  <eblake@redhat.com>
15508
15509         test-getaddrinfo: report error information
15510         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
15511
15512 2011-05-03  Jim Meyering  <meyering@redhat.com>
15513
15514         bootstrap: avoid build failure when $GZIP is set
15515         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
15516         program name.  If defined at all, it is supposed to list gzip options.
15517         Reported by Alan Curry in http://debbugs.gnu.org/8609
15518
15519 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
15520
15521         readme-release: new module with release instructions
15522         * modules/readme-release: New module.
15523         * top/README-release: New file, from coreutils, grep, diffutils.
15524         * MODULES.html.sh (Support for maintaining and releasing): Add it.
15525
15526 2011-05-02  Eric Blake  <eblake@redhat.com>
15527
15528         fflush: also replace fclose when fixing fflush
15529         * modules/fflush (Depends-on): Add fclose.
15530         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
15531         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
15532         memstreams with no backing fd.
15533         * doc/posix-functions/fclose.texi (fclose): Document the use of
15534         fflush module to fix the bug.
15535         * tests/test-fclose.c (main): Relax test when fclose is used in
15536         isolation.
15537
15538         fclose: add some tests
15539         * modules/fclose-tests: New test module.
15540         * tests/test-fclose.c: New file.
15541         * doc/posix-functions/fclose.texi (fclose): Document the bug.
15542
15543         fclose: reduced dependencies
15544         * modules/fclose (Depends-on): Switch from fflush/fseeko to
15545         simpler lseek.
15546         * lib/fclose.c (rpl_fclose): Likewise.
15547         Reported by Simon Josefsson.
15548
15549         exit: drop remaining clients
15550         * modules/argmatch (Depends-on): Replace exit with stdlib.
15551         * modules/copy-file (Depends-on): Likewise.
15552         * modules/execute (Depends-on): Likewise.
15553         * modules/exitfail (Depends-on): Likewise.
15554         * modules/obstack (Depends-on): Likewise.
15555         * modules/pagealign_alloc (Depends-on): Likewise.
15556         * modules/pipe-filter-gi (Depends-on): Likewise.
15557         * modules/pipe-filter-ii (Depends-on): Likewise.
15558         * modules/savewd (Depends-on): Likewise.
15559         * modules/spawn-pipe (Depends-on): Likewise.
15560         * modules/wait-process (Depends-on): Likewise.
15561         * modules/xsetenv (Depends-on): Likewise.
15562         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
15563         * modules/git-merge-changelog (Depends-on): Likewise.
15564         * modules/long-options (Depends-on): Likewise.
15565         * modules/pt_chown (Depends-on): Likewise.
15566         * modules/sysexits (Depends-on): Likewise.
15567
15568         freading: relax license from LGPLv3+ to LGPLv2+
15569         * modules/freading (License): Relax LGPL version.
15570
15571 2011-05-02  Bruno Haible  <bruno@clisp.org>
15572
15573         fchdir: Remove unused dependencies.
15574         * modules/fchdir (Depends-on): Remove include_next.
15575
15576 2011-05-02  Bruno Haible  <bruno@clisp.org>
15577
15578         gnulib-tool: Refactor.
15579         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
15580         from func_emit_autoconf_snippets.
15581         (func_emit_autoconf_snippets): Use it.
15582
15583 2011-05-02  Simon Josefsson  <simon@josefsson.org>
15584
15585         * NEWS: Document removal of 'exit'.
15586         * modules/exit: Remove file.
15587
15588 2011-05-01  Bruno Haible  <bruno@clisp.org>
15589
15590         Update DEPENDENCIES.
15591         * DEPENDENCIES (gettext): Recommend the newest release.
15592         Reported by Simon Josefsson.
15593
15594 2011-05-01  Bruno Haible  <bruno@clisp.org>
15595
15596         gnulib-tool: Reduce code duplication.
15597         * gnulib-tool (func_emit_autoconf_snippets): New function.
15598         (func_import, func_create_testdir): Use it.
15599
15600 2011-04-30  Eric Blake  <eblake@redhat.com>
15601
15602         fclose: don't fail on non-seekable input stream
15603         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
15604         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
15605         since fflush is allowed to fail in that case.
15606
15607 2011-04-30  Bruno Haible  <bruno@clisp.org>
15608
15609         dup3: cleanup
15610         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
15611
15612 2011-04-30  Bruno Haible  <bruno@clisp.org>
15613
15614         netdb: Make it work in C++ mode.
15615         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
15616         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
15617         module.
15618         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
15619         gl_MODULE_INDICATOR_FOR_TESTS.
15620         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
15621         * modules/netdb-c++-tests: New file.
15622         * tests/test-netdb-c++.cc: New file.
15623
15624 2011-04-30  Bruno Haible  <bruno@clisp.org>
15625
15626         New modules 'vfscanf', 'vscanf'.
15627         * modules/vfscanf: New file.
15628         * modules/vscanf: New file.
15629         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
15630         here.
15631         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
15632         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
15633
15634 2011-04-30  Bruno Haible  <bruno@clisp.org>
15635
15636         passfd: Add comments.
15637         * lib/passfd.c: Add comments about platforms.
15638
15639 2011-04-30  Bruno Haible  <bruno@clisp.org>
15640
15641         sys_uio: Make <sys/uio.h> self-contained.
15642         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
15643         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
15644
15645 2011-04-30  Bruno Haible  <bruno@clisp.org>
15646
15647         sys_socket: Ensure 'struct iovec' definition.
15648         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
15649         <sys/socket.h>.
15650         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
15651
15652 2011-04-30  Bruno Haible  <bruno@clisp.org>
15653
15654         sys_uio: Protect definition of 'struct iovec'.
15655         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
15656         it as a C struct.
15657
15658 2011-04-30  Bruno Haible  <bruno@clisp.org>
15659
15660         manywarnings: fix indentation
15661         * m4/manywarnings.m4: Indent by 2 spaces consistently.
15662
15663 2011-04-30  Pádraig Brady <P@draigBrady.com>
15664
15665         manywarnings: add -Wno-missing-field-initializers if needed.
15666         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
15667         option if it's needed to allow initialization with { 0, }
15668
15669 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
15670
15671         announce-gen: cosmetic improvement
15672         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
15673
15674 2011-04-29  Jim Meyering  <meyering@redhat.com>
15675
15676         vc-list-files: indent with spaces, not TABs
15677         * build-aux/vc-list-files: Convert leading TABs to spaces,
15678         to match the style of most other files in gnulib.
15679
15680         announce-gen: indent with spaces, not TABs
15681         * build-aux/announce-gen: Convert all TABs to spaces, to match
15682         the style of most other files in gnulib.
15683
15684 2011-04-29  Eric Blake  <eblake@redhat.com>
15685
15686         quotearg: avoid uninitialized variable use
15687         * lib/quotearg.c (quoting_options_from_style): Initialize
15688         remaining fields, and ensure that custom styles are only used via
15689         quoting_options rather than quoting_style.
15690
15691 2011-04-29  Jim Meyering  <meyering@redhat.com>
15692
15693         maint.mk: remove unused VC-tag variable
15694         * top/maint.mk (VC-tag): Remove unused variable.
15695
15696 2011-04-29  Bruno Haible  <bruno@clisp.org>
15697
15698         netdb: fix gai_strerror replacements
15699         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
15700         * modules/netdb: Substitute it.
15701
15702 2011-04-29  Jim Meyering  <meyering@redhat.com>
15703
15704         test-getcwd.c: avoid new set-but-not-used warning
15705         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
15706         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
15707         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
15708         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
15709
15710         test-hash.c: avoid a new shadowing warning
15711         * tests/test-hash.c (main): Don't shadow "dup".
15712
15713 2011-04-28  Eric Blake  <eblake@redhat.com>
15714
15715         getaddrinfo: fix gai_strerror signature
15716         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
15717         and work around mingw with UNICODE defined.
15718         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
15719         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
15720         * modules/netdb (Makefile.am): Substitute it.
15721         * lib/netdb.in.h (gai_strerror): Declare replacement.
15722         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
15723         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
15724         the fix.
15725
15726         getsockopt: avoid compiler warning
15727         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
15728         Reported by Matthias Bolte.
15729
15730         tests: drop unused link dependency
15731         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
15732         * modules/dirent-safer-tests (Makefile.am): Likewise.
15733         * modules/fdopendir-tests (Makefile.am): Likewise.
15734         * modules/mkfifoat-tests (Makefile.am): Likewise.
15735         * modules/openat-safer-tests (Makefile.am): Likewise.
15736         * modules/openat-tests (Makefile.am): Likewise.
15737         * modules/readlinkat-tests (Makefile.am): Likewise.
15738         * modules/symlinkat-tests (Makefile.am): Likewise.
15739         * modules/linkat-tests (Makefile.am): Likewise.
15740         (Depends-on): Switch to filenamecat-lgpl.
15741         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
15742         LIBINTL.
15743         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
15744         * tests/test-linkat.c (main): Don't require xalloc.
15745
15746         hash, mgetgroups: drop xalloc dependency
15747         * lib/hash.c (includes): Adjust includes.
15748         * lib/mgetgroups.c (includes): Likewise.
15749         (xgetgroups): Move...
15750         * lib/xgetgroups.c: ...to new file.
15751         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
15752         * modules/xgetgroups: New file, split from...
15753         * modules/mgetgroups: ...here.
15754         (Depends-on): Add xalloc-oversized.
15755         * modules/hash (Depends-on): Likewise.
15756         * modules/hash-tests (Depends-on): Drop xalloc.
15757         (test_hash_LDADD): Drop unused library.
15758         * tests/test-hash.c (main): Break xalloc dependency.
15759         (includes): Drop unused include.
15760
15761         xalloc-oversized: new module
15762         * modules/xalloc-oversized: New module.
15763         * modules/xalloc (Depends-on): Add it.
15764         * lib/xalloc.h (xalloc_oversized): Move...
15765         * lib/xalloc-oversized.h: ...into new file.
15766
15767         utimecmp: drop dependency on xmalloc
15768         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
15769         due to memory pressure.
15770         * modules/utimecmp (Depends-on): Drop xalloc.
15771
15772 2011-04-27  Eric Blake  <eblake@redhat.com>
15773
15774         getcwd: fix mingw bugs
15775         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
15776         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
15777         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
15778
15779 2011-04-27  Bruno Haible  <bruno@clisp.org>
15780
15781         mkstemps: Ensure declaration on MacOS X 10.5.
15782         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
15783         * doc/glibc-functions/mkstemps.texi: Document header file problem on
15784         MacOS X.
15785
15786 2011-04-27  Bruno Haible  <bruno@clisp.org>
15787
15788         mkstemp: More documentation.
15789         * doc/posix-functions/mkstemp.texi: Document header file problem on
15790         MacOS X.
15791
15792 2011-04-27  Bruno Haible  <bruno@clisp.org>
15793
15794         mkstemp: Tweak configure message when cross-compiling.
15795         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
15796         result as a guess.
15797
15798 2011-04-27  Bruno Haible  <bruno@clisp.org>
15799
15800         clean-temp: Clarify what it does.
15801         * lib/clean-temp.h: Add more comments.
15802         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
15803         module.
15804         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
15805         * doc/glibc-functions/mkstemps.texi: Likewise.
15806         * doc/glibc-functions/mkostemps.texi: Likewise.
15807
15808 2011-04-27  Eric Blake  <eblake@redhat.com>
15809
15810         fchdir: avoid extra chdir and fix test
15811         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
15812         getcwd-lgpl.
15813         * lib/fchdir.c (get_name): Any absolute name will do; it does not
15814         have to be canonical.
15815         (canonicalize_file_name): Drop unused macro.
15816         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
15817
15818         filenamecat-lgpl: fix licence
15819         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
15820         when it was first created.
15821
15822         linkat, renameat: add missing dependency
15823         * modules/linkat (Depends-on): Require getcwd-lgpl.
15824         * modules/renameat (Depends-on): Likewise.
15825
15826         tests: reduce dependencies
15827         * tests/test-linkat.c (main): Use lighter-weight getcwd.
15828         * tests/test-renameat.c (main): Likewise.
15829         * modules/linkat-tests (Depends-on): Relax dependency.
15830         * modules/renameat-tests (Depends-on): Likewise.
15831         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
15832         dependency explicit.
15833
15834         save-cwd: reduce default dependency
15835         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
15836         * lib/save-cwd.c: Update comments.
15837         * NEWS: Document the semantic change.
15838
15839         getcwd: enhance tests
15840         * tests/test-getcwd-lgpl.c: New file, taken from...
15841         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
15842         repeat long path stress tests from m4 probe.
15843         * modules/getcwd-lgpl-tests: New module.
15844         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
15845         * m4/getcwd-abort-bug.m4: Update comment.
15846         * m4/getcwd-path-max.m4: Likewise.
15847
15848         getcwd-lgpl: new module
15849         * modules/getcwd-lgpl: New module.
15850         * lib/getcwd-lgpl.c: New file.
15851         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15852         * MODULES.html.sh (lacking POSIX:2008): Likewise.
15853         * modules/getcwd (configure.ac): Set C witness.
15854         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
15855
15856         getcwd: tweak comments
15857         * m4/getcwd-abort-bug.m4: Fix comments.
15858         * m4/getcwd-path-max.m4: Likewise.
15859         * m4/getcwd.m4: Likewise.
15860
15861 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15862         and Eric Blake  <eblake@redhat.com>
15863
15864         mkstemp: replace if system version uses wrong permissions
15865         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
15866         read/write mode bits set in file created by mkstemp.
15867         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
15868
15869 2011-04-27  Eric Blake  <eblake@redhat.com>
15870
15871         passfd: avoid compiler warning
15872         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
15873         Reported by Laine Stump.
15874
15875 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
15876
15877         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
15878         required by the NetBSD (and perhaps other 4.4BSD derived) join.
15879
15880 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15881         and Eric Blake  <eblake@redhat.com>
15882
15883         mkstemp: mention clean-temp module
15884         * lib/mkstemp.c: Add comment.
15885         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
15886
15887 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
15888
15889         inttypes: also provide default values for 32-bit tests
15890         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
15891         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
15892
15893 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
15894
15895         strtoumax: remove dependency on strtoimax
15896         This is like the strtoull change of yesterday.
15897         * modules/strtoumax (Files): Add lib/strtoimax.c.
15898         (Depends-on): Remove strtoimax and add verify.
15899
15900         inttypes-incomplete: new module
15901         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
15902         all but the PRI* and SCN* parts of gl_INTTYPES_H.
15903         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
15904         of gl_INTTYPES_H.
15905         (gl_INTTYPES_H): Rewrite in terms of these new macros.
15906         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
15907         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
15908         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
15909         * modules/strtoumax, modules/xstrtol (Depends-on):
15910         Depend on inttypes-incomplete, not inttypes.
15911         * modules/inttypes-incomplete: New module, containing the contents
15912         of the old modules/inttypes module, except that the Files: section
15913         omits m4/inttypes-pri.m4, and the configure.ac section invokes
15914         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
15915         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
15916         (Depends-on): Depend only on inttypes-incomplete.
15917         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
15918
15919         inttypes: omit now-redundant strtoimax and strtoumax work
15920         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
15921         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
15922
15923         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
15924         This supports apps that need pointers to strtoimax and strtoumax,
15925         and ports to HP-UX 11.00 64.bit, which has macros that expand to
15926         nonexistent functions.  See
15927         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
15928         et seq.
15929         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
15930         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
15931         a macro.
15932         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
15933
15934 2011-04-25  Simon Josefsson  <simon@josefsson.org>
15935
15936         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
15937
15938 2011-04-25  Bruno Haible  <bruno@clisp.org>
15939
15940         strtol, strtoul: Mark modules as obsolete.
15941         * modules/strtol (Status, Notice): New sections.
15942         * modules/strtoul (Status, Notice): New sections.
15943
15944 2011-04-25  Bruno Haible  <bruno@clisp.org>
15945
15946         strtod: Remove check for strtod, unless supporting old platforms.
15947         * modules/strtod-obsolete: New file.
15948         * m4/strtod-obsolete.m4: New file.
15949         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
15950         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
15951         * modules/strtod (Depends-on): Add strtod-obsolete.
15952         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
15953
15954 2011-04-25  Bruno Haible  <bruno@clisp.org>
15955
15956         strcase: Make module obsolete.
15957         * modules/strcase (Status, Notice): New sections.
15958
15959 2011-04-25  Bruno Haible  <bruno@clisp.org>
15960
15961         dup2: Remove check for dup2, unless supporting old obsolete platforms.
15962         * modules/dup2-obsolete: New file.
15963         * m4/dup2-obsolete.m4: New file.
15964         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
15965         gl_FUNC_DUP2_OBSOLETE is not also defined.
15966         * modules/dup2 (Depends-on): Add dup2-obsolete.
15967         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
15968
15969 2011-04-25  Bruno Haible  <bruno@clisp.org>
15970
15971         strnlen: Avoid memchr related link error on old obsolete platforms.
15972         * modules/memchr-obsolete: New file.
15973         * m4/memchr-obsolete.m4: New file.
15974         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
15975         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
15976         * modules/memchr (Depends-on): Add memchr-obsolete.
15977         * modules/strnlen (Depends-on): Likewise.
15978         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
15979
15980 2011-04-25  Jim Meyering  <meyering@redhat.com>
15981
15982         maint.mk: makefile_at_at_check extend and clean up
15983         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
15984         in addition to */Makefile.am.
15985         Exempt legitimate uses of @VAR@ notation, e.g.,
15986         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
15987         Remove obsolete coreutils-specific comment.
15988         Prompted by discussion here:
15989         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
15990
15991 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
15992
15993         strtoul: remove dependency on strtol
15994         This is so that 'configure' need not check for strtol merely because
15995         the application needs strtoul.
15996         * modules/strtoul (Files): Add lib/strtol.c.
15997         (Depends-on): Remove strtol.
15998
15999         strtoull: remove dependency on strtoul
16000         This is like the strtoll change.
16001         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
16002         (Depends-on): Remove strtoul.
16003
16004         strtoll: remove dependency on strtol
16005         This is so that 'configure' need not check for strtol merely because
16006         the application needs strtoll.
16007         * modules/strtoll (Files): Add lib/strtol.c.
16008         (Depends-on): Remove strtol.
16009
16010 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16011
16012         inttypes: Move some configure check to module 'imaxdiv'.
16013         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
16014         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
16015         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
16016
16017 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16018
16019         inttypes: Move some configure check to module 'imaxabs'.
16020         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
16021         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
16022         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
16023
16024 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16025
16026         inttypes: Remove configure tests that are not needed since 2009-12-31.
16027         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
16028         gl_cv_header_working_inttypes_h.
16029
16030 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16031
16032         * modules/strnlen (Depends-on): Remove memchr.
16033         The strnlen implementation doesn't need the memchr module's fixes; see
16034         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
16035
16036         strtol: remove dependency on wchar
16037         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
16038         * modules/strtol (Depends-on): Remove wchar.
16039
16040 2011-04-21  Eric Blake  <eblake@redhat.com>
16041
16042         passfd: fix test regression on Linux
16043         * modules/passfd-tests (configure.ac): Correct socketpair check.
16044
16045         passfd: speed up configure and drop unused code
16046         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
16047         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
16048         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
16049         Instead of probing at configure for unix_scm_rights_bsd44_way,
16050         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
16051         check to a struct member probe.
16052         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
16053         (sendfd, recvfd): Update preprocessor checks.
16054         * modules/passfd (Files): Reflect rename, and drop unused file.
16055         (Depends-on): Drop unused dependency.
16056
16057         passfd: allow compilation on mingw
16058         * modules/sys_socket (Depends-on): Add sys_uio.
16059         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
16060         iovec and a minimal struct msghdr.
16061         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
16062         * tests/test-sys_socket.c (main): Enhance test.
16063         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
16064         guaranteed to provide what we need.
16065         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
16066         * modules/passfd-tests (Depends-on): Add sys_wait.
16067         * tests/test-passfd.c (main): Skip test on mingw, for now.
16068         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
16069         partial 'struct msghdr' implementation.
16070
16071         sys_uio: new module
16072         * modules/sys_uio: New module.
16073         * modules/sys_uio-tests: Likewise.
16074         * lib/sys_uio.in.h: New file.
16075         * m4/sys_uio_h.m4: Likewise.
16076         * tests/test-sys_uio.c: Likewise.
16077         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
16078         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
16079
16080 2011-04-20  Jim Meyering  <meyering@redhat.com>
16081
16082         useless-if-before-free: avoid false-positive
16083         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
16084         disjunct so that it too requires a terminating ";".  Without that,
16085         this script would identify as useless one statement from gcc that
16086         was not:
16087           if (aligned_ptr)
16088             free (((void **) aligned_ptr) [-1]);
16089
16090 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
16091
16092         doc: update users.txt.
16093         * users.txt: Add barcode.
16094
16095 2011-04-19  Bruno Haible  <bruno@clisp.org>
16096
16097         ioctl: Remove link dependency on native Windows.
16098         * lib/fd-hook.h: Renamed from lib/close-hook.h.
16099         (gl_close_fn, gl_ioctl_fn): New types.
16100         (struct fd_hook): Renamed from struct close_hook. Change type of
16101         private_close_fn field. Add private_ioctl_fn field.
16102         (close_hook_fn): Add parameter for primary close method.
16103         (execute_close_hooks, execute_all_close_hooks): Likewise.
16104         (ioctl_hook_fn): New type.
16105         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
16106         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16107         argument.
16108         (unregister_fd_hook): Renamed from unregister_close_hook.
16109         * lib/fd-hook.c: Renamed from lib/close-hook.c.
16110         Don't include <unistd.h>.
16111         (close): Remove undef.
16112         (anchor): Update.
16113         (execute_close_hooks): Add argument for primary close method.
16114         (execute_all_close_hooks): Likewise.
16115         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
16116         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16117         argument. Allow each argument to be NULL.
16118         (unregister_fd_hook): Renamed from unregister_close_hook.
16119         * lib/close.c (rpl_close): Pass 'close' function pointer to
16120         execute_all_close_hooks.
16121         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
16122         (primary_ioctl): New function.
16123         (ioctl): Don't call ioctlsocket here. Instead, call
16124         execute_all_ioctl_hooks.
16125         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
16126         close method.
16127         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
16128         (fd_sockets_hook): Renamed from close_sockets_hook.
16129         (gl_sockets_startup, gl_sockets_cleanup): Update.
16130         * modules/fd-hook: Renamed from modules/close-hook. Update.
16131         * modules/close (Depends-on): Add fd-hook, remove close-hook.
16132         * modules/sockets (Depends-on): Likewise.
16133         * modules/ioctl (Depends-on): Add fd-hook.
16134         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
16135         GNULIB_SOCKET.
16136
16137 2011-04-19  Bruno Haible  <bruno@clisp.org>
16138
16139         Move the support of O_NONBLOCK in open() to the 'open' module.
16140         * modules/nonblocking (Depends-on): Remove 'open'.
16141         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
16142         gl_cv_have_open_O_NONBLOCK.
16143         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
16144         O_NONBLOCK support.
16145         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
16146
16147 2011-04-17  Bruno Haible  <bruno@clisp.org>
16148
16149         pipe2: Simplify code.
16150         * lib/pipe2.c (pipe2): Reduce code duplication.
16151
16152 2011-04-17  Bruno Haible  <bruno@clisp.org>
16153
16154         nonblocking: Add comment.
16155         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
16156
16157 2011-04-17  Bruno Haible  <bruno@clisp.org>
16158
16159         nonblocking: Add tests for sockets.
16160         * tests/test-nonblocking-socket.sh: New file.
16161         * tests/test-nonblocking-socket-main.c: New file.
16162         * tests/test-nonblocking-socket-child.c: New file.
16163         * tests/test-nonblocking-socket.h: New file.
16164         * tests/socket-server.h: New file.
16165         * tests/socket-client.h: New file.
16166         * modules/nonblocking-socket-tests: New file.
16167         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
16168
16169 2011-04-17  Bruno Haible  <bruno@clisp.org>
16170
16171         nonblocking: Add tests for pipes.
16172         * tests/test-nonblocking-pipe.sh: New file.
16173         * tests/test-nonblocking-pipe-main.c: New file.
16174         * tests/test-nonblocking-pipe-child.c: New file.
16175         * tests/test-nonblocking-pipe.h: New file.
16176         * tests/test-nonblocking-writer.h: New file.
16177         * tests/test-nonblocking-reader.h: New file.
16178         * tests/test-nonblocking-misc.h: New file.
16179         * modules/nonblocking-pipe-tests: New file.
16180         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
16181
16182 2011-04-16  Bruno Haible  <bruno@clisp.org>
16183
16184         gettext: Clarify the needed programmer actions.
16185         * modules/gettext (Notice): New field.
16186         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
16187
16188 2011-04-16  Bruno Haible  <bruno@clisp.org>
16189
16190         strchrnul: Tweak last commit.
16191         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
16192         bug.
16193         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
16194         as in _GL_FUNCDECL_SYS.
16195         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
16196         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
16197
16198 2011-04-15  Eric Blake  <eblake@redhat.com>
16199
16200         strchrnul: work around cygwin bug
16201         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
16202         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
16203         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
16204         * modules/string (Makefile.am): Substitute it.
16205         * lib/string.in.h (strchrnul): Use it.
16206
16207 2011-04-15  Bruno Haible  <bruno@clisp.org>
16208
16209         Don't require lib/stdio-write.c when only module 'stdio' is used.
16210         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
16211         invocation.
16212         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
16213
16214 2011-04-14  Bruno Haible  <bruno@clisp.org>
16215
16216         Support non-blocking pipe I/O in read() on native Windows.
16217         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
16218         (read): New declaration.
16219         * lib/read.c: New file.
16220         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
16221         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
16222         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
16223         vscanf): New declarations.
16224         * lib/stdio-read.c: New file.
16225         * m4/read.m4: New file.
16226         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
16227         REPLACE_READ.
16228         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
16229         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16230         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
16231         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
16232         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
16233         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16234         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16235         * modules/read: New file.
16236         * modules/nonblocking (Files): Add lib/stdio-read.c.
16237         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
16238         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
16239         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16240         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16241         * modules/pread (Depends-on): Add read.
16242         * modules/safe-read (Depends-on): Likewise.
16243         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
16244         gets, scanf, vfscanf, vscanf): Verify signatures.
16245         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
16246         problem with non-blocking pipes.
16247         * doc/posix-functions/fgetc.texi: Likewise.
16248         * doc/posix-functions/fgets.texi: Likewise.
16249         * doc/posix-functions/fread.texi: Likewise.
16250         * doc/posix-functions/fscanf.texi: Likewise.
16251         * doc/posix-functions/getc.texi: Likewise.
16252         * doc/posix-functions/getchar.texi: Likewise.
16253         * doc/posix-functions/gets.texi: Likewise.
16254         * doc/posix-functions/scanf.texi: Likewise.
16255         * doc/posix-functions/vfscanf.texi: Likewise.
16256         * doc/posix-functions/vscanf.texi: Likewise.
16257
16258 2011-04-14  Bruno Haible  <bruno@clisp.org>
16259
16260         Support non-blocking pipe I/O in write() on native Windows.
16261         * lib/write.c (rpl_write): Split a write request that failed merely
16262         because the byte count was larger than the pipe buffer's size.
16263         * doc/posix-functions/write.texi: Mention the problem with large byte
16264         counts.
16265
16266 2011-04-14  Bruno Haible  <bruno@clisp.org>
16267
16268         wchar: Ensure that wchar_t gets defined on uClibc.
16269         * lib/wchar.in.h: On uClibc, include <stddef.h>.
16270         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
16271
16272 2011-04-13  Bruno Haible  <bruno@clisp.org>
16273
16274         safe-write, full-read: Avoid unnecessary compilation units.
16275         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
16276         (Depends-on): Remove safe-read. Add ssize_t.
16277         * modules/full-read (Files): Add lib/full-write.c.
16278         (Depends-on): Add full-write.
16279
16280 2011-04-13  Bruno Haible  <bruno@clisp.org>
16281
16282         Support non-blocking pipe I/O and SIGPIPE in pwrite().
16283         * modules/pwrite (Depends-on): Add 'write'.
16284
16285 2011-04-13  Bruno Haible  <bruno@clisp.org>
16286
16287         Support non-blocking pipe I/O in write() on native Windows.
16288         * lib/unistd.in.h (write): Enable replacement also if
16289         GNULIB_UNISTD_H_NONBLOCKING is 1.
16290         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
16291         (rpl_write): When failing to write on a non-blocking pipe, change
16292         errno from ENOSPC to EAGAIN.
16293         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
16294         putchar, puts, vfprintf, vprintf): Enable replacement also if
16295         GNULIB_STDIO_H_NONBLOCKING is 1.
16296         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
16297         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
16298         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
16299         CALL_WITH_SIGPIPE_EMULATION.
16300         (CALL_WITH_SIGPIPE_EMULATION): Use them.
16301         * m4/nonblocking.m4: New file.
16302         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
16303         for non-blocking I/O support.
16304         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16305         GNULIB_UNISTD_H_NONBLOCKING.
16306         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
16307         required for non-blocking I/O support.
16308         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
16309         * modules/nonblocking (Files): Add m4/nonblocking.m4,
16310         lib/stdio-write.c, m4/asm-underscore.m4.
16311         (Depends-on): Add stdio, unistd.
16312         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
16313         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
16314         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
16315         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
16316         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
16317         problem with non-blocking pipes.
16318         * doc/posix-functions/fputc.texi: Likewise.
16319         * doc/posix-functions/fputs.texi: Likewise.
16320         * doc/posix-functions/fwrite.texi: Likewise.
16321         * doc/posix-functions/printf.texi: Likewise.
16322         * doc/posix-functions/putc.texi: Likewise.
16323         * doc/posix-functions/putchar.texi: Likewise.
16324         * doc/posix-functions/puts.texi: Likewise.
16325         * doc/posix-functions/vfprintf.texi: Likewise.
16326         * doc/posix-functions/vprintf.texi: Likewise.
16327         * doc/posix-functions/write.texi: Likewise.
16328
16329 2011-04-10  Jim Meyering  <meyering@redhat.com>
16330
16331         maint.mk: prohibit doubled words
16332         Detect them also when they're separated by a newline.
16333         There are 3 ways to customize it:
16334           - disable the test on a per file basis, as usual with rules using
16335             $(VC_LIST_EXCEPT)
16336           - replace the default doubled-word-selecting regexp (affects all files)
16337           - ignore a particular file-vs-doubled-word match
16338         I nearly used that last one to ignore the "is is" match in
16339         coreutils' NEWS file, since the text was "ls -is is ..."
16340         To do that, I would have added this line to cfg.mk:
16341           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
16342         but it would have ignored any "is is" match in NEWS.
16343         Low probability, but still...
16344         Instead, I changed the text, slightly:
16345           -  ls -is is now consistent with ls -lis in ignoring values returned
16346           +  "ls -is" is now consistent with ls -lis in ignoring values returned
16347         * top/maint.mk (prohibit_double_word_RE_): Provide default.
16348         (prohibit_doubled_word_): Define.
16349         (sc_prohibit_doubled_word): New rule.
16350         (sc_prohibit_the_the): Remove.  Subsumed by the above.
16351
16352 2011-04-10  Jim Meyering  <meyering@redhat.com>
16353
16354         maint: fix doubled-word typo in comment
16355         * m4/gethostname.m4: s/is is/it is/
16356         * m4/getdomainname.m4: Likewise.
16357
16358 2011-04-10  Jim Meyering  <meyering@redhat.com>
16359
16360         maint: remove doubled word: s/it it/it/
16361         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
16362
16363 2011-04-10  Jim Meyering  <meyering@redhat.com>
16364
16365         maint.mk: remove useless semicolon and backslash
16366         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
16367         semicolon and backslash.
16368
16369 2011-04-10  Bruno Haible  <bruno@clisp.org>
16370
16371         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
16372         * modules/stdint-tests (Depends-on): Add wchar.
16373
16374 2011-04-10  Jim Meyering  <meyering@redhat.com>
16375
16376         maint: remove doubled words in comments, e.g., s/a a/a/
16377         * lib/strptime.c (day_of_the_week): s/the the/the/
16378         * tests/test-chown.h (test_chown): s/a a/a/
16379
16380         test-chown.h: correct a cast
16381         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
16382         when the destination is a stat.st_gid.
16383
16384 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
16385
16386         getaddrinfo: Fix test for sa_len member.
16387         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
16388         include <sys/types.h> before <sys/socket.h>.
16389
16390 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16391
16392         maint: change "can not" to "cannot"
16393         * doc/posix-functions/iconv.texi (iconv): This one crossed line
16394         boundaries.
16395
16396 2011-04-09  Jim Meyering  <meyering@redhat.com>
16397
16398         maint: change "a a" to "a"
16399         * tests/test-lchown.h (test_lchown): s/a a/a/
16400
16401         maint.mk: prohibit \<the the\>
16402         * top/maint.mk (sc_prohibit_the_the): New rule.
16403
16404         maint: fix "the the" in comment
16405         * lib/count-one-bits.h: s/the the/the/
16406
16407         maint: change "can not" to "cannot"
16408         But do not change the occurrences in maintain.texi or in
16409         build-aux/po/Makefile.in.in, which I presume comes from gettext.
16410         * doc/gnulib-tool.texi: s/can not/cannot/
16411         * doc/posix-functions/accept.texi (accept): Likewise.
16412         * doc/posix-functions/socket.texi (socket): Likewise.
16413         * lib/mbrtowc.c: Likewise.
16414
16415         maint.mk: prohibit use of "can not"
16416         * top/maint.mk (sc_prohibit_can_not): New rule.
16417         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
16418
16419 2011-04-09  Bruno Haible  <bruno@clisp.org>
16420
16421         careadlinkat: Guard against misuse of careadlinkatcwd.
16422         * lib/careadlinkat.c: Include <stdlib.h>.
16423         (careadlinkatcwd): Check that the fd argument is as expected.
16424
16425 2011-04-09  Bruno Haible  <bruno@clisp.org>
16426
16427         careadlinkat: Use common coding style.
16428         * lib/careadlinkat.c: Move gnulib includes after system includes.
16429
16430 2011-04-09  Bruno Haible  <bruno@clisp.org>
16431
16432         careadlinkat: Clarify specification.
16433         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
16434         (careadlinkatcwd): Add comment.
16435         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
16436
16437 2011-04-09  Bruno Haible  <bruno@clisp.org>
16438
16439         areadlinkat: Avoid link error on many platforms.
16440         * modules/areadlinkat (Depends-on): Add areadlink.
16441
16442 2011-04-09  Bruno Haible  <bruno@clisp.org>
16443
16444         allocator, careadlinkat: Fix double-inclusion guard.
16445         * lib/allocator.h: Fix double-inclusion guard.
16446         * lib/careadlinkat.h: Likewise.
16447
16448 2011-04-09  Bruno Haible  <bruno@clisp.org>
16449
16450         relocatable-prog-wrapper: Update after module 'areadlink' changed.
16451         * lib/relocwrapper.c: Update dependencies hierarchy.
16452         * build-aux/install-reloc: Update list of files to be compiled.
16453         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
16454         lib/allocator.[hc].
16455
16456 2011-04-08  Eric Blake  <eblake@redhat.com>
16457
16458         strftime: silence gnulib-tool warning
16459         * modules/strftime-tests (Depends-on): Drop automatic dependency.
16460
16461 2011-04-08  Bruno Haible  <bruno@clisp.org>
16462
16463         verify: Fix syntax error with GCC 4.6 in C++ mode.
16464         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
16465         (HAVE_STATIC_ASSERT): New macro.
16466         (verify_true, verify): Use 'static_assert' if it is supported and
16467         '_Static_assert' is not supported.
16468
16469 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
16470
16471         allocator: New module.
16472         * modules/allocator, lib/allocator.c: New files.
16473         * lib/allocator.h (stdlib_allocator): New decl.
16474         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
16475         Remove.  Do not include <stdlib.h>.
16476         (careadlinkat): Use stdlib_allocator instead of rolling our own.
16477         * modules/careadlinkat (Files): Remove lib/allocator.h.
16478         (Depends-on): Add allocator.
16479
16480         stdlib: let modules use system malloc, realloc
16481         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
16482         if !_GL_USE_STDLIB_ALLOC.
16483         (malloc, realloc): Limit this change to a smaller scope.
16484
16485         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
16486         (malloc, realloc): Don't #undef; no longer needed.
16487         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16488         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16489         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16490         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16491         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16492         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16493         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16494         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16495
16496         careadlinkat: rename members to avoid problem
16497         * lib/allocator.h (struct allocator): Rename members from
16498         malloc/realloc to allocate/reallocate, to avoid problems if malloc
16499         and realloc are #define'd.  Reported by Eric Blake in
16500         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
16501         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
16502
16503 2011-04-08  Eric Blake  <eblake@redhat.com>
16504
16505         nonblocking: reduce dependency
16506         * tests/test-nonblocking.c: Only test sockets when in use.
16507         * modules/nonblocking-tests (Depends-on): Drop socket.
16508         (Makefile.am): Link even if sockets are not present.
16509         * modules/pipe2-tests (Makefile.am): Likewise.
16510         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
16511
16512         pipe2: fix O_NONBLOCK support on mingw
16513         * modules/pipe2 (Depends-on): Add nonblocking.
16514         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
16515         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
16516         * tests/test-nonblocking.c (main): Likewise.
16517         * modules/pipe2-tests (Makefile.am): Avoid link failure.
16518
16519         fcntl-h: fix O_ACCMODE on cygwin
16520         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
16521         * lib/fcntl.in.h (O_ACCMODE): Fix it.
16522
16523         pipe-filter: drop O_NONBLOCK workarounds
16524         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
16525         * modules/pipe-filter-ii (Depends-on): Likewise.
16526         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
16527
16528         nonblocking: provide O_NONBLOCK for mingw
16529         * modules/nonblocking (Depends-on): Add open.
16530         (configure.ac): Set new witness macro.
16531         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
16532         * modules/fcntl-h (Makefile.am): Substitute it.
16533         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
16534         nonblocking module is in use.
16535         * lib/nonblocking.c: Adjust portability test.
16536         * lib/open.c (open): Don't let native open see gnulib flag.
16537         * tests/test-fcntl-h.c (main): Enhance test.
16538         * tests/test-open.h (test_open): Likewise.
16539         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
16540
16541         careadlinkat: fix compilation error on mingw
16542         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
16543         within struct allocator.
16544
16545 2011-04-06  Eric Blake  <eblake@redhat.com>
16546
16547         binary-io: relicense under LGPLv2+
16548         * modules/binary-io (License): Relax to LGPLv2+.
16549         Requested for libvirt, and required by pipe2.
16550
16551 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
16552
16553         verify: use _Static_assert if available
16554         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
16555         (verify_true, verify): Use it if available.  This generates better
16556         diagnostics with GCC 4.6.0 and later.
16557
16558 2011-04-05  Bruno Haible  <bruno@clisp.org>
16559
16560         Remove leftover generated .h files after config.status changed.
16561
16562         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
16563         GL_GENERATE_ALLOCA_H.
16564         * modules/alloca-opt (Makefile.am): Remove alloca.h if
16565         GL_GENERATE_ALLOCA_H evaluates to false.
16566
16567         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
16568         GL_GENERATE_ARGZ_H.
16569         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
16570         evaluates to false.
16571
16572         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
16573         GL_GENERATE_BYTESWAP_H.
16574         * modules/byteswap (Makefile.am): Remove byteswap.h if
16575         GL_GENERATE_BYTESWAP_H evaluates to false.
16576
16577         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
16578         GL_GENERATE_ERRNO_H.
16579         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
16580         evaluates to false.
16581
16582         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
16583         GL_GENERATE_FLOAT_H.
16584         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
16585         evaluates to false.
16586
16587         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
16588         GL_GENERATE_FNMATCH_H.
16589         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
16590         GL_GENERATE_FNMATCH_H evaluates to false.
16591
16592         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
16593         GL_GENERATE_GLOB_H.
16594         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
16595         evaluates to false.
16596
16597         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
16598         automake conditional GL_GENERATE_ICONV_H.
16599         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
16600         evaluates to false.
16601
16602         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
16603         GL_GENERATE_NETINET_IN_H.
16604         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
16605         GL_GENERATE_NETINET_IN_H evaluates to false.
16606
16607         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
16608         conditional GL_GENERATE_PTHREAD_H.
16609         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
16610         * modules/pthread (Makefile.am): Remove pthread.h if
16611         GL_GENERATE_PTHREAD_H evaluates to false.
16612
16613         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
16614         GL_GENERATE_SCHED_H.
16615         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
16616         evaluates to false.
16617
16618         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
16619         conditional GL_GENERATE_SELINUX_CONTEXT_H.
16620         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
16621         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
16622
16623         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
16624         GL_GENERATE_STDARG_H.
16625         * modules/stdarg (Makefile.am): Remove stdarg.h if
16626         GL_GENERATE_STDARG_H evaluates to false.
16627
16628         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
16629         GL_GENERATE_STDBOOL_H.
16630         * modules/stdbool (Makefile.am): Remove stdbool.h if
16631         GL_GENERATE_STDBOOL_H evaluates to false.
16632
16633         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
16634         conditional GL_GENERATE_STDDEF_H.
16635         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
16636         * modules/stddef (Makefile.am): Remove stddef.h if
16637         GL_GENERATE_STDDEF_H evaluates to false.
16638
16639         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
16640         GL_GENERATE_STDINT_H.
16641         * modules/stdint (Makefile.am): Remove stdint.h if
16642         GL_GENERATE_STDINT_H evaluates to false.
16643
16644         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
16645         GL_GENERATE_SYSEXITS_H.
16646         * modules/sysexits (Makefile.am): Remove sysexits.h if
16647         GL_GENERATE_SYSEXITS_H evaluates to false.
16648
16649         Reported by Karl Berry and Ralf Wildenhues.
16650
16651 2011-04-05  Bruno Haible  <bruno@clisp.org>
16652
16653         Ensure to rebuild generated .h files when config.status has changed.
16654         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
16655         config.status.
16656         * modules/ctype (Makefile.am): Likewise.
16657         * modules/dirent (Makefile.am): Likewise.
16658         * modules/errno (Makefile.am): Likewise.
16659         * modules/fcntl-h (Makefile.am): Likewise.
16660         * modules/float (Makefile.am): Likewise.
16661         * modules/getopt-posix (Makefile.am): Likewise.
16662         * modules/glob (Makefile.am): Likewise.
16663         * modules/iconv-h (Makefile.am): Likewise.
16664         * modules/inttypes (Makefile.am): Likewise.
16665         * modules/langinfo (Makefile.am): Likewise.
16666         * modules/locale (Makefile.am): Likewise.
16667         * modules/math (Makefile.am): Likewise.
16668         * modules/netdb (Makefile.am): Likewise.
16669         * modules/netinet_in (Makefile.am): Likewise.
16670         * modules/poll-h (Makefile.am): Likewise.
16671         * modules/pthread (Makefile.am): Likewise.
16672         * modules/pty (Makefile.am): Likewise.
16673         * modules/sched (Makefile.am): Likewise.
16674         * modules/search (Makefile.am): Likewise.
16675         * modules/selinux-h (Makefile.am): Likewise.
16676         * modules/signal (Makefile.am): Likewise.
16677         * modules/spawn (Makefile.am): Likewise.
16678         * modules/stdarg (Makefile.am): Likewise.
16679         * modules/stdbool (Makefile.am): Likewise.
16680         * modules/stddef (Makefile.am): Likewise.
16681         * modules/stdint (Makefile.am): Likewise.
16682         * modules/stdio (Makefile.am): Likewise.
16683         * modules/stdlib (Makefile.am): Likewise.
16684         * modules/string (Makefile.am): Likewise.
16685         * modules/strings (Makefile.am): Likewise.
16686         * modules/sys_file (Makefile.am): Likewise.
16687         * modules/sys_ioctl (Makefile.am): Likewise.
16688         * modules/sys_select (Makefile.am): Likewise.
16689         * modules/sys_socket (Makefile.am): Likewise.
16690         * modules/sys_stat (Makefile.am): Likewise.
16691         * modules/sys_time (Makefile.am): Likewise.
16692         * modules/sys_times (Makefile.am): Likewise.
16693         * modules/sys_utsname (Makefile.am): Likewise.
16694         * modules/sys_wait (Makefile.am): Likewise.
16695         * modules/sysexits (Makefile.am): Likewise.
16696         * modules/termios (Makefile.am): Likewise.
16697         * modules/time (Makefile.am): Likewise.
16698         * modules/unistd (Makefile.am): Likewise.
16699         * modules/wchar (Makefile.am): Likewise.
16700         * modules/wctype-h (Makefile.am): Likewise.
16701         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
16702
16703 2011-04-05  Bruno Haible  <bruno@clisp.org>
16704
16705         pipe2: Relicense under LGPLv2+.
16706         * modules/pipe2 (License): Change to LGPLv2+.
16707         Requested by Eric Blake, for libvirt.
16708
16709 2011-04-05  Bruce Korb  <bkorb@gnu.org>
16710
16711         bootstrap: compute gnulib_extra_files after updating build_aux
16712         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
16713         change build_aux or also supply gnulib_extra_files.  Handle correctly.
16714
16715 2011-04-05  Eric Blake  <eblake@redhat.com>
16716
16717         bootstrap: preserve git whitelist item sorting
16718         * build-aux/bootstrap (sort_patterns): New function.
16719         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
16720
16721 2011-04-05  Simon Josefsson  <simon@josefsson.org>
16722
16723         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
16724         sc_space_tab check.
16725
16726 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
16727
16728         areadlink, areadlinkat: rewrite in terms of careadlinkat
16729         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
16730         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
16731         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
16732         (malloc, realloc): Remove #undefs.
16733         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
16734         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
16735         readlink, ssize_t, stdint, unistd.
16736         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
16737         areadlink, stdint.
16738
16739         careadlinkat: new module
16740         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
16741         * modules/careadlinkat: New files, written by me with
16742         a review and feedback from Ben Pfaff in
16743         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
16744
16745 2011-04-01  Bruno Haible  <bruno@clisp.org>
16746
16747         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
16748         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
16749         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
16750         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
16751         Reported by Bruce Korb <bruce.korb@gmail.com>.
16752
16753 2011-04-01  Bruno Haible  <bruno@clisp.org>
16754
16755         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
16756         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
16757         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
16758         * modules/wcpcpy (Depends-on): Add extensions.
16759         * modules/wcpncpy (Depends-on): Likewise.
16760         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
16761         systems.
16762         * doc/posix-functions/wcpncpy.texi: Likewise.
16763         * doc/posix-functions/wcwidth.texi: Likewise.
16764
16765 2011-03-31  Eric Blake  <eblake@redhat.com>
16766
16767         nonblocking: fix mingw test failures
16768         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
16769         non-blocking flag on regular file.
16770         (get_nonblocking_flag): Set errno on invalid fd.
16771         * tests/test-nonblocking.c (main): Avoid test failure on
16772         directories if fchdir is not active.
16773         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
16774
16775 2011-03-31  Bruno Haible  <bruno@clisp.org>
16776
16777         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
16778         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
16779         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
16780         Reported by Simon Josefsson <simon@josefsson.org>.
16781
16782 2011-03-31  Bruno Haible  <bruno@clisp.org>
16783         and Eric Blake  <eblake@redhat.com>
16784
16785         nonblocking: new module
16786         * modules/nonblocking: New module.
16787         * modules/nonblocking-tests: Likewise.
16788         * lib/nonblocking.h: New file.
16789         * lib/nonblocking.c: Likewise.
16790         * tests/test-nonblocking.c: New test.
16791         * lib/ioctl.c (ioctl) [mingw]: Update comment.
16792
16793 2011-03-30  Bruno Haible  <bruno@clisp.org>
16794
16795         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
16796         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
16797         instead of 'printf' format for GCC >= 4.4.
16798         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
16799         (fprintf, printf, vfprintf, vprintf): Declare with
16800         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
16801         the system's vfprintf() function.
16802         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
16803
16804 2011-03-30  Eric Blake  <eblake@redhat.com>
16805
16806         passfd: fix scoping bug
16807         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
16808         before sendmsg/recvmsg.
16809
16810         passfd: standardize coding conventions
16811         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
16812         can be learned at compile time.
16813         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
16814         ifdefs.
16815         (sendfd, recvfd): Follow gnulib code conventions.
16816
16817         passfd: fix incorrect sendmsg arguments
16818         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
16819         incorrect msg_controllen value.
16820         * modules/passfd-tests (Depends-on): Check for alarm.
16821         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
16822         Reported by Bastien ROUCARIES.
16823
16824 2011-03-30  Bruno Haible  <bruno@clisp.org>
16825
16826         c-strcasestr: Relicense under LGPLv2+.
16827         * modules/c-strcasestr (License): Change to LGPLv2+.
16828         Requested by Eric Blake, for libvirt.
16829
16830 2011-03-30  Simon Josefsson  <simon@josefsson.org>
16831
16832         * users.txt: Add libidn2.  Fix libtasn1 link.
16833
16834 2011-03-30  Jim Meyering  <meyering@redhat.com>
16835
16836         tests: readlink* ("",... fails with EINVAL on newer kernels
16837         readlink and readlinkat have typically failed with ENOENT for
16838         the invalid, empty file name,  "".  However, with the advent
16839         of linux-2.6.39, they fail with EINVAL.
16840         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
16841         when operating on the empty file name.
16842         * tests/test-readlink.h (test_readlink): Likewise.
16843
16844 2011-03-29  Bruno Haible  <bruno@clisp.org>
16845
16846         Relicense some modules under LGPLv2+, for libidn2.
16847         * modules/array-mergesort (License): Change to LGPLv2+.
16848         * modules/c-strcaseeq (License): Likewise.
16849         * modules/striconveh (License): Likewise.
16850         * modules/striconveha (License): Likewise.
16851         * modules/uniconv/base (License): Likewise.
16852         * modules/uniconv/u8-conv-from-enc (License): Likewise.
16853         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
16854         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
16855         * modules/unictype/base (License): Likewise.
16856         * modules/unictype/bidiclass-of (License): Likewise.
16857         * modules/unictype/category-M (License): Likewise.
16858         * modules/unictype/category-none (License): Likewise.
16859         * modules/unictype/category-of (License): Likewise.
16860         * modules/unictype/category-test (License): Likewise.
16861         * modules/unictype/category-test-withtable (License): Likewise.
16862         * modules/unictype/combining-class (License): Likewise.
16863         * modules/unictype/joiningtype-of (License): Likewise.
16864         * modules/unictype/scripts (License): Likewise.
16865         * modules/uninorm/base (License): Likewise.
16866         * modules/uninorm/canonical-decomposition (License): Likewise.
16867         * modules/uninorm/composition (License): Likewise.
16868         * modules/uninorm/decompose-internal (License): Likewise.
16869         * modules/uninorm/decomposition-table (License): Likewise.
16870         * modules/uninorm/nfc (License): Likewise.
16871         * modules/uninorm/nfd (License): Likewise.
16872         * modules/uninorm/u32-normalize (License): Likewise.
16873         * modules/unistr/base (License): Likewise.
16874         * modules/unistr/u32-cpy (License): Likewise.
16875         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
16876         * modules/unistr/u32-to-u8 (License): Likewise.
16877         * modules/unistr/u32-uctomb (License): Likewise.
16878         * modules/unistr/u8-check (License): Likewise.
16879         * modules/unistr/u8-mblen (License): Likewise.
16880         * modules/unistr/u8-mbtouc (License): Likewise.
16881         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
16882         * modules/unistr/u8-mbtoucr (License): Likewise.
16883         * modules/unistr/u8-prev (License): Likewise.
16884         * modules/unistr/u8-strlen (License): Likewise.
16885         * modules/unistr/u8-to-u32 (License): Likewise.
16886         * modules/unistr/u8-uctomb (License): Likewise.
16887         * modules/unitypes (License): Likewise.
16888         Requested by Simon Josefsson.
16889
16890 2011-03-29  Simon Josefsson  <simon@josefsson.org>
16891
16892         lib-symbol-visibility: Add a notice.
16893         * modules/lib-symbol-visibility (Notice): New field.
16894
16895 2011-03-29  Bruno Haible  <bruno@clisp.org>
16896
16897         getaddrinfo: Doc fix.
16898         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
16899         section "fixed in Gnulib".
16900
16901 2011-03-28  Simon Josefsson  <simon@josefsson.org>
16902
16903         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
16904         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
16905
16906 2011-03-26  Bruno Haible  <bruno@clisp.org>
16907
16908         unictype/property-byname: Reduce the number of load-time relocations.
16909         * lib/unictype/pr_byname.c: Include <stdlib.h>.
16910         (UC_PROPERTY_INDEX_*): New enumeration values.
16911         (uc_property_byname): Convert an index from the lookup table to an
16912         uc_property_t.
16913         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
16914         values.
16915
16916 2011-03-26  Bruno Haible  <bruno@clisp.org>
16917
16918         unictype/property-byname: Allow omitted word separators and aliases.
16919         * lib/unictype/pr_byname.gperf: Add property names without word
16920         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
16921         for 'space'.
16922
16923 2011-03-26  Bruno Haible  <bruno@clisp.org>
16924
16925         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
16926         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
16927         also hyphens to space.
16928         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
16929         without spaces.
16930         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
16931
16932 2011-03-26  Bruno Haible  <bruno@clisp.org>
16933
16934         unictype/joiningtype-byname: Recognize long names as well.
16935         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
16936         a long name.
16937         * lib/unictype/joiningtype_byname.c: Include <string.h>,
16938         unictype/joiningtype_byname.h.
16939         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
16940         * lib/unictype/joiningtype_byname.gperf: New file.
16941         * modules/unictype/joiningtype-byname (Files): Add
16942         lib/unictype/joiningtype_byname.gperf.
16943         (Depends-on): Add gperf.
16944         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
16945         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
16946         long names.
16947
16948         Tests for module 'unictype/joiningtype-longname'.
16949         * modules/unictype/joiningtype-longname-tests: New file.
16950         * tests/unictype/test-joiningtype_longname.c: New file.
16951
16952         New module 'unictype/joiningtype-longname'.
16953         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
16954         * lib/unictype/joiningtype_longname.c: New file.
16955         * modules/unictype/joiningtype-longname: New file.
16956         * modules/unictype/joiningtype-all (Depends-on): Add
16957         unictype/joiningtype-longname.
16958
16959 2011-03-26  Bruno Haible  <bruno@clisp.org>
16960
16961         unictype/bidiclass-byname: Recognize long names as well.
16962         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
16963         name.
16964         * lib/unictype/bidi_byname.c: Include <string.h>,
16965         unictype/bidi_byname.h.
16966         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
16967         * lib/unictype/bidi_byname.gperf: New file.
16968         * modules/unictype/bidiclass-byname (Files): Add
16969         lib/unictype/bidi_byname.gperf.
16970         (Depends-on): Add gperf.
16971         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
16972         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
16973         long names.
16974
16975         Tests for module 'unictype/bidiclass-longname'.
16976         * modules/unictype/bidiclass-longname-tests: New file.
16977         * tests/unictype/test-bidi_longname.c: New file.
16978
16979         New module 'unictype/bidiclass-longname'.
16980         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
16981         * lib/unictype/bidi_longname.c: New file.
16982         * modules/unictype/bidiclass-longname: New file.
16983         * modules/unictype/bidiclass-all (Depends-on): Add
16984         unictype/bidiclass-longname.
16985
16986 2011-03-26  Bruno Haible  <bruno@clisp.org>
16987
16988         unictype/bidi*: Rename modules.
16989         * modules/unictype/bidiclass-all: Renamed from
16990         modules/unictype/bidicategory-all.
16991         * modules/unictype/bidiclass-name: Renamed from
16992         modules/unictype/bidiclass-name.
16993         (Description): Update.
16994         * modules/unictype/bidiclass-name-tests: Renamed from
16995         modules/unictype/bidicategory-name-tests.
16996         * modules/unictype/bidiclass-byname: Renamed from
16997         modules/unictype/bidicategory-byname.
16998         (Description): Update.
16999         * modules/unictype/bidiclass-byname-tests: Renamed from
17000         modules/unictype/bidicategory-byname-tests.
17001         * modules/unictype/bidiclass-of: Renamed from
17002         modules/unictype/bidicategory-of.
17003         (Description): Update.
17004         * modules/unictype/bidiclass-of-tests: Renamed from
17005         modules/unictype/bidicategory-of-tests.
17006         * modules/unictype/bidiclass-test: Renamed from
17007         modules/unictype/bidicategory-test.
17008         (Description): Update.
17009         * modules/unictype/bidiclass-test-tests: Renamed from
17010         modules/unictype/bidicategory-test-tests.
17011         * modules/unictype/bidicategory-all: New file, a simple redirection.
17012         * modules/unictype/bidicategory-name: Likewise.
17013         * modules/unictype/bidicategory-byname: Likewise.
17014         * modules/unictype/bidicategory-of: Likewise.
17015         * modules/unictype/bidicategory-test: Likewise.
17016         * modules/unictype/property-bidi-* (Dependencies): Update.
17017         * lib/unictype/bidi_*.c: Update comment.
17018
17019 2011-03-26  Bruno Haible  <bruno@clisp.org>
17020
17021         unictype/bidi*: Rename functions, part 2.
17022         * modules/unictype/bidicategory-name (configure.ac): Update required
17023         libunistring version.
17024         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
17025
17026 2011-03-25  Bruno Haible  <bruno@clisp.org>
17027
17028         New module 'unictype/combining-class-all'.
17029         * modules/unictype/combining-class-all: New file.
17030
17031         Tests for module 'unictype/combining-class-byname'.
17032         * modules/unictype/combining-class-byname-tests: New file.
17033         * tests/unictype/test-combiningclass_byname.c: New file.
17034
17035         New module 'unictype/combining-class-byname'.
17036         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
17037         * lib/unictype/combiningclass_byname.c: New file.
17038         * lib/unictype/combiningclass_byname.gperf: New file.
17039         * modules/unictype/combining-class-byname: New file.
17040
17041         Tests for module 'unictype/combining-class-longname'.
17042         * modules/unictype/combining-class-longname-tests: New file.
17043         * tests/unictype/test-combiningclass_longname.c: New file.
17044
17045         New module 'unictype/combining-class-longname'.
17046         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
17047         * lib/unictype/combiningclass_longname.c: New file.
17048         * modules/unictype/combining-class-longname: New file.
17049
17050         Tests for module 'unictype/combining-class-name'.
17051         * modules/unictype/combining-class-name-tests: New file.
17052         * tests/unictype/test-combiningclass_name.c: New file.
17053
17054         New module 'unictype/combining-class-name'.
17055         * lib/unictype.in.h (uc_combining_class_name): New declaration.
17056         * lib/unictype/combiningclass_name.c: New file.
17057         * modules/unictype/combining-class-name: New file.
17058
17059 2011-03-25  Bruno Haible  <bruno@clisp.org>
17060
17061         unictype/combining-class: Rename source files.
17062         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
17063         of unictype/combining.h.
17064         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
17065         Update.
17066         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
17067         * modules/unictype/combining-class (Description): Fix.
17068         (Files, Makefile.am): Update.
17069         * tests/unictype/test-combiningclass.c: Renamed from
17070         tests/unictype/test-combining.c.
17071         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
17072
17073 2011-03-25  Bruno Haible  <bruno@clisp.org>
17074
17075         unictype: Update list of canonical combining classes.
17076         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
17077
17078 2011-03-25  Bruno Haible  <bruno@clisp.org>
17079
17080         unictype/category-byname: Recognize long names as well.
17081         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
17082         a long name.
17083         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
17084         unictype/categ_byname.h.
17085         (UC_CATEGORY_INDEX_*): New enumeration values.
17086         (uc_general_category_byname): Use uc_general_category_lookup and
17087         convert from index to value.
17088         * lib/unictype/categ_byname.gperf: New file.
17089         * modules/unictype/category-byname (Files): Add
17090         lib/unictype/categ_byname.gperf.
17091         (Depends-on): Add gperf.
17092         (Makefile.am): Add rule for generating unictype/categ_byname.h.
17093         * tests/unictype/test-categ_byname.c (main): Test the recognition of
17094         long names.
17095
17096         Tests for module 'unictype/category-longname'.
17097         * modules/unictype/category-longname-tests: New file.
17098         * tests/unictype/test-categ_longname.c: New file.
17099
17100         New module 'unictype/category-longname'.
17101         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
17102         * lib/unictype/categ_longname.c: New file.
17103         * modules/unictype/category-longname: New file.
17104         * modules/unictype/category-all (Depends-on): Add it.
17105
17106 2011-03-25  Bruno Haible  <bruno@clisp.org>
17107
17108         Tests for module 'unictype/category-LC'.
17109         * modules/unictype/category-LC-tests: New file.
17110         * tests/unictype/test-categ_LC.c: New file, automatically generated.
17111
17112         New module 'unictype/category-LC'.
17113         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
17114         (UC_CATEGORY_LC): New declaration.
17115         (UC_CASED_LETTER): New macro.
17116         * lib/gen-uni-tables.c (is_category_LC): New function.
17117         (output_categories): Also handle category LC.
17118         (UC_CATEGORY_MASK_LC): New enumeration value.
17119         (general_category_byname): Also handle category LC.
17120         * lib/unictype/categ_LC.c: New file.
17121         * lib/unictype/categ_LC.h: New file, automatically generated.
17122         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
17123         category LC.
17124         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
17125         * modules/unictype/category-LC: New file.
17126         * modules/unictype/category-byname (Depends-on): Add
17127         unictype/category-LC.
17128         * modules/unictype/category-all (Depends-on): Likewise.
17129
17130 2011-03-25  Eric Blake  <eblake@redhat.com>
17131
17132         xmalloc: revert yesterday's regression
17133         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
17134         realloc's underlying behavior (allowing allocation of zero-size
17135         objects, especially if malloc-gnu is also in use).
17136
17137 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
17138
17139         maint.mk: add missing version to VC-tag
17140         * top/maint.mk: git tag was missing actual tag name; add it.
17141
17142         valgrind: do leak checking, and exit with code 1 on error (not 0)
17143         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
17144         to VALGRIND.
17145
17146 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
17147
17148         posix-modules: say what it does.
17149         * posix-modules: Add a line to the --help output saying what it does.
17150
17151 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
17152
17153         xmalloc: Do not leak if underlying realloc is C99 compatible.
17154         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
17155         This avoids a leak on C99-based systems.  See
17156         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
17157
17158 2011-03-24  Eric Blake  <eblake@redhat.com>
17159
17160         realloc: document portability problem
17161         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
17162         passing 0 size to realloc.
17163
17164 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
17165
17166         doc: update users.txt
17167         * users.txt: Add cvsps, tmpwatch
17168
17169 2011-03-23  Matt Rice  <ratmice@gmail.com>
17170
17171         doc: update users.txt
17172         * users.txt: Add gdb.
17173
17174 2011-03-23  Jim Meyering  <meyering@redhat.com>
17175
17176         doc: update users.txt
17177         Looking through matches up to the following URL (there are still
17178         several more pages), I found several projects that use gnulib:
17179         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
17180         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
17181         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
17182
17183 2011-03-22  Bruno Haible  <bruno@clisp.org>
17184
17185         unictype/bidi*: Rename functions.
17186         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
17187         uc_bidi_class, uc_is_bidi_class): New declarations.
17188         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
17189         uc_bidi_category_byname.
17190         (uc_bidi_category_byname): New function.
17191         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
17192         u_bidi_category_name.
17193         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
17194         (uc_bidi_category_name): New function.
17195         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
17196         uc_bidi_category.
17197         (uc_bidi_category): New function.
17198         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
17199         uc_is_bidi_category. Invoke uc_bidi_class.
17200         (uc_is_bidi_category): New function.
17201         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
17202         instead of uc_bidi_category_byname.
17203         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
17204         instead of uc_bidi_category_name.
17205         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
17206         uc_bidi_category.
17207         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
17208         instead of uc_is_bidi_category.
17209
17210 2011-03-21  Bruno Haible  <bruno@clisp.org>
17211
17212         New module 'unictype/joininggroup-all'.
17213         * modules/unictype/joininggroup-all: New file.
17214
17215         Tests for module 'unictype/joininggroup-of'.
17216         * modules/unictype/joininggroup-of-tests: New file.
17217         * tests/unictype/test-joininggroup_of.c: New file.
17218         * tests/unictype/test-joininggroup_of.h: New file, automatically
17219         generated by gen-uni-tables.
17220
17221         New module 'unictype/joininggroup-of'.
17222         * modules/unictype/joininggroup-of: New file.
17223         * lib/unictype/joininggroup_of.c: New file.
17224         * lib/unictype/joininggroup_of.h: New file, automatically generated by
17225         gen-uni-tables.
17226
17227         Tests for module 'unictype/joininggroup-byname'.
17228         * modules/unictype/joininggroup-byname-tests: New file.
17229         * tests/unictype/test-joininggroup_byname.c: New file.
17230
17231         New module 'unictype/joininggroup-byname'.
17232         * modules/unictype/joininggroup-byname: New file.
17233         * lib/unictype/joininggroup_byname.c: New file.
17234         * lib/unictype/joininggroup_byname.gperf: New file.
17235
17236         Tests for module 'unictype/joininggroup-name'.
17237         * modules/unictype/joininggroup-name-tests: New file.
17238         * tests/unictype/test-joininggroup_name.c: New file.
17239
17240         New module 'unictype/joininggroup-name'.
17241         * modules/unictype/joininggroup-name: New file.
17242         * lib/unictype/joininggroup_name.c: New file.
17243         * lib/unictype/joininggroup_name.h: New file.
17244
17245         New module 'unictype/joiningtype-all'.
17246         * modules/unictype/joiningtype-all: New file.
17247
17248         Tests for module 'unictype/joiningtype-of'.
17249         * modules/unictype/joiningtype-of-tests: New file.
17250         * tests/unictype/test-joiningtype_of.c: New file.
17251         * tests/unictype/test-joiningtype_of.h: New file, automatically
17252         generated by gen-uni-tables.
17253
17254         New module 'unictype/joiningtype-of'.
17255         * modules/unictype/joiningtype-of: New file.
17256         * lib/unictype/joiningtype_of.c: New file.
17257         * lib/unictype/joiningtype_of.h: New file, automatically generated by
17258         gen-uni-tables.
17259
17260         Tests for module 'unictype/joiningtype-byname'.
17261         * modules/unictype/joiningtype-byname-tests: New file.
17262         * tests/unictype/test-joiningtype_byname.c: New file.
17263
17264         New module 'unictype/joiningtype-byname'.
17265         * modules/unictype/joiningtype-byname: New file.
17266         * lib/unictype/joiningtype_byname.c: New file.
17267
17268         Tests for module 'unictype/joiningtype-name'.
17269         * modules/unictype/joiningtype-name-tests: New file.
17270         * tests/unictype/test-joiningtype_name.c: New file.
17271
17272         New module 'unictype/joiningtype-name'.
17273         * modules/unictype/joiningtype-name: New file.
17274         * lib/unictype/joiningtype_name.c: New file.
17275
17276         unictype: Add support for Arabic shaping properties.
17277         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
17278         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
17279         declarations.
17280         (UC_JOINING_GROUP_*): New enumeration values.
17281         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
17282         declarations.
17283         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
17284         (unicode_joining_type): New variable.
17285         (UC_JOINING_GROUP_*): New enumeration values.
17286         (unicode_joining_group): New variable.
17287         (fill_arabicshaping, joining_type_as_c_identifier,
17288         output_joining_type_test, output_joining_type,
17289         joining_group_as_c_identifier, output_joining_group_test,
17290         output_joining_group): New functions.
17291         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
17292         fill_arabicshaping and output_joining_type_test, output_joining_type,
17293         output_joining_group_test, output_joining_group.
17294         Reported by Simon Josefsson.
17295
17296 2011-03-21  Jim Meyering  <meyering@redhat.com>
17297
17298         strftime: fix a bug in yesterday's change
17299         * lib/strftime.c (add): Accommodate width's initial value of -1.
17300         Otherwise, nstrftime would copy uninitialized data into
17301         the result buffer.
17302
17303 2011-03-21  Jim Meyering  <meyering@redhat.com>
17304
17305         tests: add strftime-tests module
17306         * tests/test-strftime.c: New file.
17307         * modules/strftime-tests: New module.
17308
17309 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17310
17311         strftime: don't assume a byte count fits in 'int'
17312         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
17313         found this problem by static analysis, using gcc -Wstrict-overflow
17314         (GCC 4.5.2, x86-64).  This reported an optimization that depended
17315         on an integer overflow having undefined behavior, but it turns out
17316         that the argument is a size, which might not fit in 'int' anyway,
17317
17318 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17319
17320         stdio: don't require ignore_value around fwrite
17321
17322         This patch works around libc bug 11959
17323         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
17324         Without this patch, applications must often write
17325         ignore_value (fwrite (...)) even though the ignore_value is
17326         not helpful here.  It's common to write many objects, using
17327         fwrite/printf/etc., and then use ferror to detect output error.
17328
17329         I considered making this patch optional, but decided against it,
17330         because libc is obviously being inconsistent here: there is no
17331         reason libc should insist that user code must inspect fwrite
17332         return's value without also insisting that it inspect printf's,
17333         putchar's, etc.  If user code wants to have a strict style where
17334         all these functions' values are checked (so that ferror need not
17335         be checked), we could add support for that style in a new gnulib
17336         module, but in the meantime it's better to be consistent and to
17337         support common usage.
17338
17339         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
17340         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
17341         that we are compiling in checking mode, and if not C++, and
17342         if not already wrapping fwrite for some other reason.
17343         (fwrite): #define to rpl_fwrite if the latter is defined.
17344
17345 2011-03-20  Bruno Haible  <bruno@clisp.org>
17346
17347         verror: Fix compilation error introduced on 2011-02-13.
17348         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
17349         instead of __attribute__.
17350         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17351
17352 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17353             Bruno Haible  <bruno@clisp.org>
17354
17355         socklen: do not depend on sys_socket
17356         While trying to modify Emacs to use gnulib's socklen module,
17357         I discovered a circular dependency: socklen depends on sys_socket
17358         and vice versa.  Emacs can use socklen, but it does not need
17359         sys_socket because it has its own substitute for sys/socket.h.
17360         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
17361         gl_TYPE_SOCKLEN_T.
17362         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
17363         gl_PREREQ_SYS_H_SOCKET.
17364         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
17365         gl_PREREQ_SYS_H_SOCKET.
17366         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
17367         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
17368         * modules/socklen (Depends-on): Do not depend on sys_socket.
17369         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
17370
17371 2011-03-20  Jim Meyering  <meyering@redhat.com>
17372
17373         maint.mk: sort file names *after* new transformation
17374         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
17375         prefix would have led to an unwarranted failure in GNU parted.
17376         Sort after that transformation.
17377
17378 2011-03-19  Jim Meyering  <meyering@redhat.com>
17379
17380         maint.mk: fix po-file syntax-check rule
17381         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
17382         Patch by Bruno Haible.
17383
17384 2011-03-19  Bruno Haible  <bruno@clisp.org>
17385
17386         socklen: Update comment.
17387         * m4/socklen.m4: Update comment about platforms.
17388
17389 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17390             Bruno Haible  <bruno@clisp.org>
17391
17392         inet_ntop, inet_pton: Simplify.
17393         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
17394         documented to provide socklen_t and we already depend on sys_socket.
17395         * modules/inet_pton (Depends-on): Likewise.
17396         * lib/arpa_inet.in.h: Adjust comment.
17397
17398 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17399             Bruno Haible  <bruno@clisp.org>
17400
17401         netdb: Simplify.
17402         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
17403         documented to provide socklen_t and we already depend on sys_socket.
17404         * lib/netdb.in.h: Adjust comment.
17405
17406 2011-03-19  Bruno Haible  <bruno@clisp.org>
17407
17408         sys_socket, netdb: Document problem with socklen_t.
17409         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
17410         platforms.
17411         * doc/posix-headers/netdb.texi: Likewise.
17412
17413 2011-03-18  Eric Blake  <eblake@redhat.com>
17414
17415         maint.mk: let po check work in VPATH build
17416         * top/maint.mk (po_file): Allow cfg.mk override.
17417         (sc_po_check): Allow VPATH use.
17418         Reported by Jiri Denemark.
17419
17420 2011-03-16  Jim Meyering  <meyering@redhat.com>
17421
17422         maint.mk: allow fine-grained syntax-check exclusion via Make variables
17423         Before, you would have had to create one .x-sc_ file per rule in order
17424         to exempt offending files.  Now, you may instead use a Make variable --
17425         usually defined in cfg.mk -- whose name identifies the affected rule.
17426         * top/maint.mk (_sc_excl): Define.
17427         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
17428         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
17429
17430 2011-03-13  Bruno Haible  <bruno@clisp.org>
17431
17432         ignore-value tests: Avoid warnings.
17433         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
17434         empty for gcc < 3.4.
17435
17436 2011-03-13  Bruno Haible  <bruno@clisp.org>
17437
17438         passfd: Fix link error on Solaris.
17439         * modules/passfd (Description): Correct.
17440         (Depends-on): Add socketlib.
17441         (Link): New section.
17442         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
17443
17444 2011-03-13  Bruno Haible  <bruno@clisp.org>
17445
17446         passfd: Fix link error on AIX 5.2.
17447         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
17448
17449 2011-03-13  Bruno Haible  <bruno@clisp.org>
17450
17451         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
17452         * lib/sys_socket.in.h: Include <stddef.h>.
17453         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
17454         CMSG_FIRSTHDR. Remove unused variable.
17455
17456 2011-03-13  Bruno Haible  <bruno@clisp.org>
17457
17458         passfd: Fix compilation error on OpenBSD.
17459         * lib/passfd.c: Include <sys/uio.h>.
17460
17461 2011-03-13  Bruno Haible  <bruno@clisp.org>
17462
17463         passfd test: Fix warnings.
17464         * tests/test-passfd.c: Include <sys/wait.h>.
17465         (main): Fix typo.
17466
17467 2011-03-13  Bruno Haible  <bruno@clisp.org>
17468
17469         passfd module, part 4, tweaks.
17470         * tests/test-passfd.c: Reorder includes.
17471         (main): Fix perror and printf calls.
17472
17473 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17474
17475         passfd module, part 4.
17476         * modules/passfd-tests: New file.
17477         * tests/test-passfd.c: New file.
17478
17479 2011-03-13  Jim Meyering  <meyering@redhat.com>
17480
17481         Makefile: rely on GNU make; derive syntax-check rule names
17482         Rather than requiring that each sc_ rule be listed as a dependent
17483         of "check", use features of GNU make to derive the list.
17484         * Makefile (syntax-check-rules): Define.
17485         (check): Depend on the new variable, not the hard-coded list.
17486
17487 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
17488             Bruno Haible  <bruno@clisp.org>
17489
17490         passfd module, part 3.
17491         * lib/passfd.h (recvfd): Add a flags argument.
17492         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
17493         (recvfd): Add a flags argument.
17494         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
17495         exists.
17496         * modules/passfd (Depends-on): Add cloexec.
17497         Suggested by Eric Blake.
17498
17499 2011-03-13  Bruno Haible  <bruno@clisp.org>
17500
17501         passfd module, part 2, tweaks.
17502         * modules/passfd (Files): Reorder.
17503         (Depends-on): Remove errno.
17504         (Include): Remove <sys/socket.h>, <sys/un.h>.
17505         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
17506         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
17507         specification header. Include <sys/socket.h> always. Don't include
17508         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
17509         (sendfd): Clarify that it sets errno when it fails.
17510         (recvfd): Fix specification.
17511
17512 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17513
17514         passfd module, part 2.
17515         * modules/passfd: New file.
17516         * lib/passfd.h: New file.
17517         * lib/passfd.c: New file.
17518
17519 2011-03-12  Bruno Haible  <bruno@clisp.org>
17520
17521         wcswidth, mbswidth: Avoid integer overflow.
17522         * lib/wcswidth.c: Include <limits.h>.
17523         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
17524         * lib/mbswidth.c: Include <limits.h>.
17525         (mbsnwidth): Avoid 'int' overflow.
17526         Reported by Jim Meyering.
17527
17528 2011-03-12  Bruno Haible  <bruno@clisp.org>
17529
17530         futimens, utimensat: Avoid endless recursion on Solaris 10.
17531         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
17532         Solaris.
17533         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
17534         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
17535
17536 2011-03-11  Jim Meyering  <meyering@redhat.com>
17537
17538         maint.mk: relax a regexp to accommodate other formatting styles
17539         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
17540         between "ngettext" and the following "(".
17541
17542 2011-03-11  Pádraig Brady <P@draigBrady.com>
17543
17544         maint.mk: suppress a false positive warning
17545         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
17546         diagnostics are marked with ngettext.
17547
17548 2011-03-10  Eric Blake  <eblake@redhat.com>
17549
17550         wchar: add explicit dependencies, for Tru64
17551         * modules/mbmemcasecoll (Depends-on): Add wchar.
17552         * modules/mbtowc (Depends-on): Likewise.
17553         * modules/vasnprintf (Depends-on): Likewise.
17554         * modules/unistdio/u-printf-args (Depends-on): Likewise.
17555         * modules/wctomb (Depends-on): Likewise.
17556         Reported by Peter O'Gorman.
17557
17558 2011-03-08  Bruno Haible  <bruno@clisp.org>
17559
17560         passfd module, part 1, tweaks.
17561         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
17562         Improve indentation. Improve AC_MSG_CHECKING messages.
17563         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
17564         gl_SOCKET_FAMILIES.
17565
17566 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17567
17568         passfd module, part 1.
17569         * m4/afunix.m4: New file.
17570         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
17571         sockets.
17572
17573 2011-03-08  Bruno Haible  <bruno@clisp.org>
17574
17575         regex-quote: New API.
17576         * lib/regex-quote.h: Include <stdbool.h>.
17577         (struct regex_quote_spec): New type.
17578         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17579         New declarations.
17580         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17581         'const struct regex_quote_spec *' argument.
17582         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
17583         (pcre_special): New constant.
17584         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17585         New functions.
17586         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17587         'const struct regex_quote_spec *' argument.
17588         * modules/regex-quote (Depends-on): Add stdbool.
17589         * tests/test-regex-quote.c (check): Update for new API. Add test for
17590         anchored results.
17591         * NEWS: Mention the API change.
17592         Reported by Reuben Thomas and Eric Blake.
17593
17594 2011-03-06  Bruno Haible  <bruno@clisp.org>
17595
17596         regex-quote: Fix creation of POSIX extended regular expressions.
17597         * lib/regex-quote.c (ere_special): Add grouping and alternation
17598         operators.
17599
17600 2011-03-05  Bruno Haible  <bruno@clisp.org>
17601
17602         doc: Improve doc regarding autopoint vs. gnulib.
17603         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
17604         disable autopoint while running autoreconf.
17605         Suggested by Ralf Wildenhues.
17606
17607 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17608
17609         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
17610         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
17611
17612 2011-03-03  Bruce Korb  <bkorb@gnu.org>
17613
17614         parse-duration: remove xalloc.h dependency
17615         * lib/parse-duration.c (parse_period): handle NULL return from
17616         strdup instead of calling xstrdup().
17617         * modules/parse-duration: remove "xalloc" dependency
17618
17619 2011-03-03  Matthew Booth  <mbooth@redhat.com>
17620
17621         bootstrap: honor m4_base when running aclocal
17622         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
17623
17624 2011-03-02  Jim Meyering  <meyering@redhat.com>
17625
17626         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
17627         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
17628         on request from Matt Booth.
17629
17630 2011-03-01  Eric Blake  <eblake@redhat.com>
17631
17632         test-link: work on Hurd
17633         * tests/test-link.h (test_link): Hurd rejects linking directories
17634         with EISDIR instead of the POSIX-mandated EPERM.
17635
17636 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
17637
17638         stdio: simplify by moving files to printf-posix, sigpipe
17639         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
17640         since this symbol is needed only if printf is replaced.
17641         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
17642         Require gl_ASM_SYMBOL_PREFIX.
17643         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
17644         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
17645         (Depends-on): Add 'raise'.
17646         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
17647         * modules/stdio (Files): Remove lib/stdio-write.c,
17648         m4/asm-underscore.m4.
17649         (Depends-on): Remove 'raise'.
17650
17651         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
17652         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
17653         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
17654         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
17655
17656 2011-02-28  Bruno Haible  <bruno@clisp.org>
17657
17658         localcharset: Assume ANSI C behaviour of free().
17659         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
17660         calling free().
17661         Suggested by Simon Josefsson <simon@josefsson.org>.
17662
17663 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
17664             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
17665             Bruno Haible  <bruno@clisp.org>  (tiny change)
17666
17667         On Cygwin, use /proc file system instead of win32 API.
17668         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
17669         Win32 file names.
17670         (DllMain): Simplify by removing Cygwin specific code.
17671         (find_shared_library_fullname): Use Linux specific implementation also
17672         for Cygwin.
17673         (get_shared_library_fullname): Update accordingly.
17674         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
17675         Win32 file names.
17676         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
17677         Cygwin specific code.
17678
17679 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
17680             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
17681
17682         Fix OpenMP flag detection for various Fortran compilers.
17683         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
17684         OpenMP-conditional compilation construct, to force compile
17685         failure with missing OpenMP flag.
17686         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
17687
17688 2011-02-25  Eric Blake  <eblake@redhat.com>
17689
17690         strstr: expand test coverage
17691         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
17692         compilation.
17693         * tests/test-memmem.c (main): Duplicate tests.
17694         * tests/test-strcasestr.c (main): Likewise.
17695         * tests/test-c-strcasestr.c (main): Likewise.
17696
17697 2011-02-25  Jim Meyering  <meyering@redhat.com>
17698
17699         maint.mk: detect missing-NL-at-EOF, too
17700         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
17701         it also detects when a file lacks a newline at EOF.
17702         (require_exactly_one_NL_at_EOF_): Renamed from
17703         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
17704         since people may well have .x-sc_... file names tied to the
17705         existing name.  Suggested by Eric Blake.
17706
17707 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17708
17709         dirname: move m4/dos.m4 functionality into lib/dosname.h
17710
17711         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
17712         extracts symbols from it, puts them into config.h; but it's much
17713         easier to use the symbols directly.  filename.h already does this,
17714         but it disagrees with dos.m4 in some respects.  This patch
17715         introduces a different include file dosname.h that packages up
17716         dos.m4, and then later we can work on merging filename.h and
17717         dosname.h.  Applications that need only the easy-to-configure
17718         symbols should consider including dosname.h rather than dirname.h.
17719         * NEWS: Mention incompatible changes.
17720         * m4/dos.m4: Remove.
17721         * lib/dosname.h, modules/dosname: New files.
17722         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
17723         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
17724         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
17725         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
17726         Include dosname.h, not dirname.h.
17727         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
17728         Include dosname.h, for definitions of symbols like ISSLASH
17729         that used to be in config.h.
17730         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
17731         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17732         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17733         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17734         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
17735         * modules/rmdir (Files): Likewise.
17736         * modules/stat (Files): Likewise.
17737         * modules/unlink (Files): Likewise.
17738         * modules/dirname-lgpl (Depends-on): Add dosname.
17739         * modules/lstat (Depends-on): Likewise.
17740         * modules/openat (Depends-on): Likewise.
17741         * modules/rmdir (Depends-on): Likewise.
17742         * modules/savewd (Depends-on): Likewise.
17743         * modules/stat (Depends-on): Likewise.
17744         * modules/unlink (Depends-on): Likewise.
17745         * modules/openat (Depends-on): Remove dirname-lgpl.
17746         * modules/savewd (Depends-on): Likewise.
17747         * tests/test-dirname.c: Do not use removed symbols like
17748         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
17749         the remaining symbols, e.g., ISSLASH ('\\').
17750
17751 2011-02-25  Eric Blake  <eblake@redhat.com>
17752
17753         strstr: revert patches that introduced bug and pessimization
17754         * lib/str-two-way.h: Add another reference.
17755         (two_way_short_needle, two_way_long_needle): Revert changes from
17756         2011-02-24; they pessimize search speed.
17757         (critical_factorization): Partially revert changes from
17758         2010-06-22; they violate the requirement that the left half of the
17759         needle be smaller than the period of the needle.
17760
17761 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
17762
17763         filenamecat: remove unnecessary dependency on dirname-lgpl
17764         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
17765         is no direct dependency, just an indirect one via filenamecat-lgpl.
17766
17767         remove: remove unnecessary use of m4/dos.m4
17768         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
17769         * modules/remove (FILES): Remove m4/dos.m4.
17770
17771         * lib/openat-proc.c: Don't include dirname.h; not needed.
17772
17773         backupfile: remove unnecessary use of m4/dos.m4
17774         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
17775         of its symbols are used by the backupfile code.  backupfile.c does
17776         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
17777         for the rare case of programs that want all their backup file
17778         names to live within 8+3 limits, and dos.m4 doesn't address that.
17779         * modules/backupfile (Files): Remove m4/dos.m4.
17780
17781 2011-02-24  Jim Meyering  <meyering@redhat.com>
17782
17783         strstr: fix a bug whereby strstr would mistakenly return NULL
17784         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
17785         in period calculation.
17786         (two_way_long_needle): Likewise.
17787         The original problem was reported by Mike Stump in
17788         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
17789         Ralf Wildenhues provided the short needle and haystack.
17790         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
17791         Add a more involved test to trigger the bug in two_way_long_needle.
17792
17793 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17794
17795         gnulib-tool: remove use of bold display in help screen
17796         * gnulib-tool (func_usage): Do not use bold display anymore in the
17797         help screen.  That was just meant to be a temporary emphasis for a
17798         backward-incompatible change.
17799
17800 2011-02-23  Bruno Haible  <bruno@clisp.org>
17801
17802         Fix misindentation of preprocessor directives.
17803         * lib/argp-namefrob.h: Reindent preprocessor directives.
17804         * lib/getopt_int.h (struct _getopt_data): Likewise.
17805         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
17806         * lib/vasnprintf.c (decode_long_double): Likewise.
17807         * tests/test-argmatch.c: Insert blank lines, for clarity.
17808         * tests/test-exclude.c: Likewise.
17809
17810 2011-02-22  Bruno Haible  <bruno@clisp.org>
17811
17812         ioctl: Fix for MacOS X in 64-bit mode.
17813         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
17814         value.
17815         Suggested by Eric Blake.
17816         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
17817
17818 2011-02-22  Jim Meyering  <meyering@redhat.com>
17819
17820         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
17821         * Makefile (sc_cpp_indent_check): Don't limit the check to files
17822         in lib/.
17823
17824 2011-02-22  Eric Blake  <eblake@redhat.com>
17825
17826         maint: avoid any CDPATH issue
17827         * Makefile (sc_cpp_indent_check): Anchor cd argument.
17828
17829         maint: adjust cpp indentation for my modules, as well
17830         * Makefile (sc_cpp_indent_check): Add my name.
17831         * lib/fbufmode.c: Filter through cppi.
17832         * lib/fpurge.c: Likewise.
17833         * lib/freadable.c: Likewise.
17834         * lib/freading.c: Likewise.
17835         * lib/fwritable.c: Likewise.
17836         * lib/fwriting.c: Likewise.
17837         * lib/sigaction.c: Likewise.
17838
17839 2011-02-22  Jim Meyering  <meyering@redhat.com>
17840
17841         maint: adjust cpp indentation to reflect nesting depth
17842         I.e., in a block of code that begins with an unnested "#if",
17843         put one space between the "#" in column 1 and following token.
17844         For example,
17845         -#include <sys/vfs.h>
17846         +# include <sys/vfs.h>
17847         Do this only in .c files that are part of a module I maintain.
17848         * lib/linkat.c: Filter through cppi.
17849         * lib/nanosleep.c: Likewise.
17850         * lib/openat.c: Likewise.
17851         * lib/openat-die.c: Likewise.
17852         * lib/dup3.c: Likewise.
17853         * lib/fchownat.c: Likewise.
17854         * lib/flock.c: Likewise.
17855         * lib/fsync.c: Likewise.
17856         * lib/fts.c: Likewise.
17857         * lib/getpass.c: Likewise.
17858         * lib/gettimeofday.c: Likewise.
17859         * lib/userspec.c: Likewise.
17860         * Makefile (sc_cpp_indent_check): New rule, to check this.
17861
17862 2011-02-22  Bruno Haible  <bruno@clisp.org>
17863
17864         New module 'wctomb'.
17865         * lib/stdlib.in.h (wctomb): New declaration.
17866         * lib/wctomb.c: New file.
17867         * lib/wctomb-impl.h: New file.
17868         * m4/wctomb.m4: New file.
17869         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
17870         REPLACE_WCTOMB.
17871         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
17872         REPLACE_WCTOMB.
17873         * modules/wctomb: New file.
17874         * tests/test-stdlib-c++.cc: Test signature of wctomb.
17875         * doc/posix-functions/wctomb.texi: Mention the new module.
17876         * modules/wctob (Depends-on): Add wctomb.
17877
17878 2011-02-22  Bruno Haible  <bruno@clisp.org>
17879
17880         New module 'mbtowc'.
17881         * lib/stdlib.in.h (mbtowc): New declaration.
17882         * lib/mbtowc.c: New file.
17883         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
17884         * m4/mbtowc.m4: New file.
17885         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
17886         REPLACE_MBTOWC.
17887         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
17888         REPLACE_MBTOWC.
17889         * modules/mbtowc: New file.
17890         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
17891         * doc/posix-functions/mbtowc.texi: Mention the new module.
17892         * modules/btowc (Depends-on): Add mbtowc.
17893
17894 2011-02-22  Bruno Haible  <bruno@clisp.org>
17895
17896         wcrtomb: Add more tests for native Windows platforms.
17897         * tests/test-wcrtomb-w32-1.sh: New file.
17898         * tests/test-wcrtomb-w32-2.sh: New file.
17899         * tests/test-wcrtomb-w32-3.sh: New file.
17900         * tests/test-wcrtomb-w32-4.sh: New file.
17901         * tests/test-wcrtomb-w32-5.sh: New file.
17902         * tests/test-wcrtomb-w32.c: New file.
17903         * modules/wcrtomb-tests (Files): Add them.
17904         (Makefile.am): Arrange to run these tests.
17905         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
17906         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
17907
17908 2011-02-20  Bruno Haible  <bruno@clisp.org>
17909
17910         wcrtomb: Enhance test.
17911         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
17912
17913 2011-02-20  Bruno Haible  <bruno@clisp.org>
17914
17915         mbrtowc: Tiny optimization.
17916         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
17917
17918 2011-02-20  Jim Meyering  <meyering@redhat.com>
17919
17920         test-exclude.c: remove unmatched #endif
17921         * tests/test-exclude.c: Remove stray #endif, left over from
17922         the change of a week ago.
17923
17924 2011-02-19  Jim Meyering  <meyering@redhat.com>
17925
17926         git-version-gen: skip "-dirty" check when appropriate
17927         * build-aux/git-version-gen: Don't run any git commands when the
17928         version string comes from .tarball-version.  Prior to this, we
17929         would run git update-index --refresh even from a just-unpacked
17930         tarball directory, and that could affect a .git/ directory in a
17931         parent of the build directory.  Reported by Mike Frysinger.
17932
17933 2011-02-19  Bruno Haible  <bruno@clisp.org>
17934
17935         unictype/property-byname: Reduce the size of the 'data' segment.
17936         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
17937
17938 2011-02-19  Bruno Haible  <bruno@clisp.org>
17939
17940         unictype/scripts: Reduce the size of the 'data' segment.
17941         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
17942         '%pic'.
17943         * lib/unictype/scripts_byname.gperf: Regenerated.
17944
17945 2011-02-19  Bruno Haible  <bruno@clisp.org>
17946
17947         stdint: Update documentation.
17948         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
17949
17950 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
17951
17952         stdint: omit redundant check for wchar.h
17953         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
17954         always tests whether wchar.h exists, so remove the now-redundant test.
17955
17956 2011-02-18  Bruno Haible  <bruno@clisp.org>
17957
17958         stdint: Cut dependency to module 'wchar'.
17959         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
17960         include the necessary prerequisites.
17961         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
17962         * modules/stdint (Depends-on): Remove wchar.
17963         (Makefile.am): Substitute HAVE_WCHAR_H.
17964         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
17965
17966 2011-02-18  Eric Blake  <eblake@redhat.com>
17967
17968         longlong: skip, rather than fail, on cross-compilation
17969         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
17970         when cross-compiling; regression from 2011-02-16.
17971
17972 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17973
17974         * NEWS: Mention 2011-02-08 change to stdlib.
17975
17976 2011-02-17  Bruno Haible  <bruno@clisp.org>
17977
17978         getloadavg: Add comments about platforms.
17979         * m4/getloadavg.m4: Add comment.
17980         * lib/getloadavg.c: Likewise.
17981
17982 2011-02-17  Bruno Haible  <bruno@clisp.org>
17983
17984         getloadavg: Fix link error on Solaris 2.6.
17985         * modules/getloadavg (Link): New section.
17986         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
17987         linking test-getloadavg.
17988         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
17989         getloadavg.
17990
17991 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17992
17993         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
17994         It was 'int', but this doesn't match the IRIX 6.5 manual.
17995         Suggested by Bruno Haible in
17996         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
17997
17998 2011-02-17  Bruno Haible  <bruno@clisp.org>
17999
18000         havelib: Fix comments.
18001         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
18002         change.
18003
18004 2011-02-17  Bruno Haible  <bruno@clisp.org>
18005
18006         havelib: Update config.rpath.
18007         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
18008
18009 2011-02-17  Bruno Haible  <bruno@clisp.org>
18010
18011         getloadavg test: Add some plausibility checks.
18012         * tests/test-getloadavg.c (check_avg): Print a warning when the value
18013         is improbable.
18014
18015 2011-02-16  Eric Blake  <eblake@redhat.com>
18016
18017         maintainer-makefile: make syntax-check a no-op from tarballs
18018         * top/maint.mk (no-vc-detected): New rule.
18019         (local-checks-available): Use it to avoid hanging if someone tries
18020         'make syntax-check' from a tarball.  Also append to any non-syntax
18021         checks already defined in cfg.mk.
18022
18023 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
18024
18025         longlong: tune, particularly for common case of c99
18026
18027         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
18028         or running anything if c99, or if unsigned long long int does not
18029         work.  In either case, we know the answer without further tests.
18030         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
18031         it at most once, and use its results for both long long int and
18032         unsigned long long int.  This is more likely to be efficient in
18033         the common case where the program wants to check for both long
18034         long int and unsigned long long int.
18035         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
18036         since the answer is already known.
18037
18038 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
18039
18040         getloadavg: set errno
18041         * lib/getloadavg.c: Set errno when returning -1.  If no other
18042         error number looks appropriate, set it to ENOSYS if the getloadavg
18043         looks like it can't possibly ever work, ENOTSUP otherwise.
18044         Suggested by Bruno Haible in
18045         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
18046
18047         getloadavg: trim unused parts and speed up 'configure'
18048         * NEWS: Document this.
18049         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
18050         always compiled if getloadavg is absent.
18051         Move test code to ...
18052         * tests/test-getloadavg.c: New file, containing previous
18053         contents of test from lib/getloadavg.c.  It also contains
18054         suggestions by Bruno Haible in
18055         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
18056         * modules/getloadavg-tests: New file.
18057         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
18058         Do tests in the same order as they're needed for getloadavg.c.
18059         Omit setgid-related tests that generate symbols KMEM_GROUP,
18060         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
18061         Do only the tests that are needed to see whether the system has
18062         getloadavg, moving the other tests into ...
18063         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
18064         NLIST_NAME_UNION; nobody should be using it.  Do not define
18065         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
18066         relevant, as the user of this module shouldn't care how getloadavg
18067         is implemented.
18068
18069         getloadavg: omit unused var
18070         * lib/getloadavg.c (getloadavg): Omit unused local variable.
18071
18072 2011-02-15  Jim Meyering  <meyering@redhat.com>
18073
18074         doc: update users.txt
18075         * users.txt: Update iwhd's URL.
18076
18077 2011-02-13  Bruno Haible  <bruno@clisp.org>
18078
18079         Consistent macro naming for macros that use GCC __attribute__.
18080         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
18081         _ATTRIBUTE_NONNULL_.
18082         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
18083         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
18084         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
18085         ATTRIBUTE_DEPRECATED.
18086         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
18087         ATTRIBUTE_NORETURN.
18088         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18089         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18090         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18091         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18092         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
18093         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
18094         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
18095         ATTRIBUTE_SENTINEL.
18096         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
18097         ATTRIBUTE_RETURN_CHECK.
18098         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
18099         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
18100         ATTRIBUTE_NORETURN.
18101         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
18102         Reported by Paul Eggert.
18103
18104 2011-02-13  Bruno Haible  <bruno@clisp.org>
18105
18106         Don't interfere with a program's definition of __attribute__.
18107         * lib/argp.h (__attribute__): Remove definition.
18108         (_GL_ATTRIBUTE_FORMAT): New macro.
18109         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
18110         * lib/argp-fmtstream.h (__attribute__): Remove definition.
18111         (_GL_ATTRIBUTE_FORMAT): New macro.
18112         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
18113         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
18114         GCC 3 or newer.
18115         * lib/error.h (__attribute__): Remove definition.
18116         (_GL_ATTRIBUTE_FORMAT): New macro.
18117         (error, error_at_line): Use it.
18118         * lib/hash.h (__attribute__): Remove definition.
18119         (ATTRIBUTE_WUR): Update definition. Define always.
18120         * lib/openat.h (__attribute__): Remove definition.
18121         (ATTRIBUTE_NORETURN): Update definition. Define always.
18122         * lib/sigpipe-die.h (__attribute__): Remove definition.
18123         (ATTRIBUTE_NORETURN): Update definition. Define always.
18124         * lib/vasnprintf.h (__attribute__): Remove definition.
18125         (_GL_ATTRIBUTE_FORMAT): New macro.
18126         (asnprintf, vasnprintf): Use it.
18127         * lib/xalloc.h (__attribute__): Remove definition.
18128         (ATTRIBUTE_NORETURN): Update definition. Define always.
18129         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
18130         * lib/xmemdup0.h (__attribute__): Remove definition.
18131         (ATTRIBUTE_NORETURN): Update definition. Define always.
18132         * lib/xprintf.h (__attribute__): Remove definition.
18133         (_GL_ATTRIBUTE_FORMAT): New macro.
18134         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
18135         * lib/xstrtol.h (__attribute__): Remove definition.
18136         (ATTRIBUTE_NORETURN): Update definition. Define always.
18137         * lib/xvasprintf.h (__attribute__): Remove definition.
18138         (_GL_ATTRIBUTE_FORMAT): New macro.
18139         (xasprintf, xvasprintf): Use it.
18140         * tests/test-argmatch.c (__attribute__): Remove definition.
18141         (ATTRIBUTE_NORETURN): Update definition. Define always.
18142         * tests/test-exclude.c (__attribute__): Remove definition.
18143         (ATTRIBUTE_NORETURN): Update definition. Define always.
18144         Reported by Paul Eggert.
18145
18146 2011-02-13  Bruno Haible  <bruno@clisp.org>
18147
18148         mbrtowc: Add more tests for native Windows platforms.
18149         * tests/test-mbrtowc-w32-1.sh: New file.
18150         * tests/test-mbrtowc-w32-2.sh: New file.
18151         * tests/test-mbrtowc-w32-3.sh: New file.
18152         * tests/test-mbrtowc-w32-4.sh: New file.
18153         * tests/test-mbrtowc-w32-5.sh: New file.
18154         * tests/test-mbrtowc-w32.c: New file.
18155         * modules/mbrtowc-tests (Files): Add them.
18156         (Makefile.am): Arrange to run these tests.
18157         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
18158         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
18159
18160 2011-02-13  Bruno Haible  <bruno@clisp.org>
18161
18162         mbrtowc: Work around native Windows bug.
18163         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
18164         guess when no suitable locale for testing was found.
18165         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
18166
18167 2011-02-13  Bruno Haible  <bruno@clisp.org>
18168
18169         mbsinit: Work around mingw bug.
18170         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
18171         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
18172         Windows.
18173         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
18174
18175 2011-02-13  Bruno Haible  <bruno@clisp.org>
18176
18177         mbsinit: Don't crash for a NULL argument.
18178         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
18179         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
18180
18181 2011-02-13  Bruno Haible  <bruno@clisp.org>
18182
18183         Don't interfere with a program's definition of __attribute__.
18184         * lib/stdio.in.h (__attribute__): Remove definition.
18185         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
18186         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
18187         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
18188         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
18189         * lib/string.in.h (__attribute__): Remove definition.
18190         Reported by Paul Eggert.
18191
18192 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18193
18194         stdlib: don't get in the way of non-GCC __attribute__
18195         See thread starting at
18196         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
18197         Revert previous stdlib change, installing the following instead:
18198         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
18199         to get in the way of a non-GCC compiler that supports __attribute__.
18200         (_GL_ATTRIBUTE_RETURN): New macro.
18201         (_Exit): Use it instead of __attribute__.
18202
18203 2011-02-12  Bruno Haible  <bruno@clisp.org>
18204
18205         quotearg test: Avoid test failure on mingw.
18206         * tests/test-quotearg.sh: Convert the locale identifier from native
18207         Windows syntax to Unix syntax.
18208
18209 2011-02-12  Bruno Haible  <bruno@clisp.org>
18210
18211         setlocale: Prefer gnulib's override over libintl's override.
18212         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
18213         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
18214         GNULIB_defined_setlocale is set.
18215
18216 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18217
18218         stdlib: support non-GCC __attribute__
18219
18220         Fix a serious and tricky problem encountered when attempting to
18221         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
18222         5.5, but it crashed due to memory corruption on Solaris 10 with
18223         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
18224         bits that are otherwise zero.  This tagging is optional inside
18225         Emacs but is preferred and is used when __attribute__ ((__aligned
18226         (8))) works, as it does with both recent-enough GCC and with Sun C
18227         5.11.  However, Sun C 5.11 is not GCC and does not #define
18228         __GNUC__ and __GNUC_MINOR__.
18229
18230         When I added the getloadavg module to Emacs, it brought in
18231         stdlib.in.h, which contained this fragment:
18232
18233            #ifndef __attribute__
18234            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
18235            #  define __attribute__(Spec)   /* empty */
18236            # endif
18237            #endif
18238
18239         When files that include <stdlib.h> were compiled with Sun C 5.11,
18240         the above code disabled __attribute__ ((__aligned (8))), which
18241         caused variables to not be properly aligned, which eventually led
18242         to the pointer corruption mentioned above.  (This was a bit hard
18243         to diagnose, unfortunately.)
18244
18245         Several "#define __attribute__(X) /* empty */" code snippets need
18246         to be eradicated from Gnulib to work with non-GCC compilers that
18247         support __attribute__.  The Autoconf way to do this is to test for
18248         each kind of attribute that we want support for, and selectively
18249         enable that in source code.
18250
18251         Fix this problem just for stdlib.h, by adding a test for the
18252         __noreturn__ attribute, and change stdlib.in.h to use that test
18253         when needed.  This technique can be easily generalized to the
18254         other *.in.h files and attributes, and a similar technique can be
18255         used for *.h and *.c files.  This patch is enough to solve the
18256         problem for Emacs + getloadavg, and I thought I'd publish it for
18257         feedback before undertaking further, similar fixes in other
18258         modules.
18259
18260         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
18261         because it's not needed for stdlib.h.  It merely substitutes the
18262         value directly into stdlib.h.  We may well need to #define it, or
18263         similar symbols, for other modules, but it's nice to also have an
18264         option to not #define it for applications like Emacs that do not
18265         need it.
18266
18267         * lib/stdlib.in.h (__attribute__): Do not #define.
18268         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
18269         be defined only if the _Exit module is also used.
18270         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
18271         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
18272         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
18273         platforms.
18274         * modules/_Exit (Files): Add m4/attribute.m4.
18275         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
18276         * m4/attribute.m4: New file.
18277
18278 2011-02-12  Bruno Haible  <bruno@clisp.org>
18279
18280         wcsrtombs: Work around bug on native Windows.
18281         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
18282         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
18283         instead of len.
18284         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
18285
18286 2011-02-12  Bruno Haible  <bruno@clisp.org>
18287
18288         mbsrtowcs: Work around bug on native Windows.
18289         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
18290         against mingw bug.
18291         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
18292
18293 2011-02-12  Bruno Haible  <bruno@clisp.org>
18294
18295         Avoid setlocale bugs in tests.
18296         * modules/btowc (Dependencies): Add setlocale.
18297         * modules/c-strcase (Dependencies): Likewise.
18298         * modules/mbmemcasecmp (Dependencies): Likewise.
18299         * modules/mbmemcasecoll (Dependencies): Likewise.
18300         * modules/mbrtowc (Dependencies): Likewise.
18301         * modules/mbscasecmp (Dependencies): Likewise.
18302         * modules/mbscasestr (Dependencies): Likewise.
18303         * modules/mbschr (Dependencies): Likewise.
18304         * modules/mbscspn (Dependencies): Likewise.
18305         * modules/mbsinit (Dependencies): Likewise.
18306         * modules/mbsncasecmp (Dependencies): Likewise.
18307         * modules/mbsnrtowcs (Dependencies): Likewise.
18308         * modules/mbspbrk (Dependencies): Likewise.
18309         * modules/mbspcasecmp (Dependencies): Likewise.
18310         * modules/mbsrchr (Dependencies): Likewise.
18311         * modules/mbsrtowcs (Dependencies): Likewise.
18312         * modules/mbsspn (Dependencies): Likewise.
18313         * modules/mbsstr (Dependencies): Likewise.
18314         * modules/nl_langinfo (Dependencies): Likewise.
18315         * modules/quotearg (Dependencies): Likewise.
18316         * modules/unicase/locale-language (Dependencies): Likewise.
18317         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
18318         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
18319         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
18320         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
18321         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
18322         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
18323         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
18324         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
18325         * modules/vasnprintf-posix (Dependencies): Likewise.
18326         * modules/wcrtomb (Dependencies): Likewise.
18327         * modules/wcsnrtombs (Dependencies): Likewise.
18328         * modules/wcsrtombs (Dependencies): Likewise.
18329
18330 2011-02-12  Bruno Haible  <bruno@clisp.org>
18331
18332         setlocale: Workaround native Windows bug.
18333         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
18334         succeeds but sets LC_CTYPE to "C", report a failure.
18335         * tests/test-setlocale2.sh: New file.
18336         * tests/test-setlocale2.c: New file.
18337         * modules/setlocale-tests (Files): Add the new files.
18338         (Makefile.am): Enable test-setlocale2.sh test.
18339         * doc/posix-functions/setlocale.texi: Mention workaround.
18340
18341 2011-02-11  Bruno Haible  <bruno@clisp.org>
18342
18343         Tests for module 'setlocale'.
18344         * modules/setlocale-tests: New file.
18345         * tests/test-setlocale1.sh: New file.
18346         * tests/test-setlocale1.c: New file.
18347
18348         New module 'setlocale'.
18349         * lib/locale.in.h (setlocale): New declaration.
18350         * lib/setlocale.c: New file, based on
18351         gettext/gettext-runtime/intl/setlocale.c.
18352         * m4/setlocale.m4: New file.
18353         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
18354         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
18355         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
18356         REPLACE_SETLOCALE.
18357         * modules/setlocale: New file.
18358         * tests/test-locale-c++.cc: Test the declaration of setlocale.
18359         * doc/posix-functions/setlocale.texi: Mention the new module.
18360
18361 2011-02-11  Bruno Haible  <bruno@clisp.org>
18362
18363         Prepare for locale dependent tests on mingw.
18364         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
18365         because it has the wrong locale encoding.
18366         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
18367         French_France.1252 instead of "fr".
18368         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
18369         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
18370         because it has the wrong locale encoding.
18371         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
18372         native Windows, try Turkish_Turkey.65001.
18373         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
18374         Chinese_China.54936.
18375
18376         Prepare for locale dependent tests on mingw.
18377         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
18378         differently.
18379         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
18380         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
18381         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
18382         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18383
18384 2011-02-11  Eric Blake  <eblake@redhat.com>
18385
18386         strptime: avoid compiler warnings
18387         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
18388         compiler warnings about dead code.
18389         Reported by Daniel P. Berrange.
18390
18391 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
18392
18393         doc: update users.txt
18394         * users.txt: Add rcs.
18395
18396 2011-02-10  John W. Eaton  <jwe@gnu.org>
18397
18398         doc: update users.txt
18399         * users.txt: Add octave.
18400
18401 2011-02-10  Jim Meyering  <meyering@redhat.com>
18402
18403         doc: update users.txt
18404         * users.txt: Add iwhd.
18405
18406 2011-02-09  Bruno Haible  <bruno@clisp.org>
18407
18408         gnulib-tool: Make copyright notice adjustment more robust.
18409         * gnulib-tool (func_import): In sed_transform_main_lib_file,
18410         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
18411         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
18412         License".
18413         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
18414
18415 2011-02-06  Bruno Haible  <bruno@clisp.org>
18416
18417         New module 'towctrans'.
18418         * modules/towctrans: New file.
18419         * lib/wctype.in.h (towctrans): New declaration.
18420         * lib/towctrans.c: New file.
18421         * lib/towctrans-impl.h: New file.
18422         * m4/towctrans.m4: New file.
18423         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
18424         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
18425         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
18426         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
18427         * doc/posix-functions/towctrans.texi: Mention the new module.
18428
18429 2011-02-06  Bruno Haible  <bruno@clisp.org>
18430
18431         New module 'wctrans'.
18432         * modules/wctrans: New file.
18433         * lib/wctype.in.h (wctrans): New declaration.
18434         * lib/wctrans.c: New file.
18435         * lib/wctrans-impl.h: New file.
18436         * m4/wctrans.m4: New file.
18437         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
18438         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
18439         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
18440         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
18441         * doc/posix-functions/wctrans.texi: Mention the new module.
18442
18443 2011-02-06  Bruno Haible  <bruno@clisp.org>
18444
18445         New module 'iswctype'.
18446         * modules/iswctype: New file.
18447         * lib/wctype.in.h (iswctype): New declaration.
18448         * lib/iswctype.c: New file.
18449         * lib/iswctype-impl.h: New file.
18450         * m4/iswctype.m4: New file.
18451         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
18452         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
18453         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
18454         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
18455         * doc/posix-functions/iswctype.texi: Mention the new module and the
18456         HP-UX 11.00 problem.
18457
18458 2011-02-06  Bruno Haible  <bruno@clisp.org>
18459
18460         New module 'wctype'.
18461         * modules/wctype: Change to represent the wctype() substitute.
18462         * lib/wctype.in.h (wctype): New declaration.
18463         * lib/wctype.c: New file.
18464         * lib/wctype-impl.h: New file.
18465         * m4/wctype.m4: New file.
18466         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
18467         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
18468         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
18469         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
18470         * doc/posix-functions/wctype.texi: Mention the new module and the
18471         HP-UX 11.00 problem.
18472
18473 2011-02-06  Bruno Haible  <bruno@clisp.org>
18474
18475         wctype-h: Ensure wctype_t and wctrans_t are defined.
18476         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
18477         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18478         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18479         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
18480         HAVE_WCTRANS_T.
18481         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
18482
18483 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18484
18485         flock: fix license typo
18486
18487         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
18488         omitted.
18489
18490 2011-02-08  Bruno Haible  <bruno@clisp.org>
18491
18492         Split large sed scripts, for HP-UX sed.
18493         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
18494         to avoid HP-UX limit of 99 commands, in the near future.
18495         * modules/stdlib (Makefile.am): Likewise.
18496         * modules/unistd (Makefile.am): Likewise.
18497         * modules/wchar (Makefile.am): Likewise.
18498         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18499         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
18500         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
18501
18502 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18503             Bruno Haible  <bruno@clisp.org>
18504
18505         stdlib: improve random_r modularization
18506         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
18507         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
18508         you also need the random_r module to get this material right.
18509         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
18510         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
18511         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
18512
18513 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18514
18515         stdlib: don't depend on stdint
18516         * lib/stdlib.in.h: Don't include <stdint.h> merely because
18517         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
18518         be independent of whether stdint.h is needed.
18519         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
18520         here, instead of ...
18521         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
18522         struct random_data should be using the random_r module, not just
18523         the stdlib module (which wouldn't make sense: what package needs
18524         just struct random_data without also needing random_r?).
18525         * modules/stdlib (Depends-on): Remove stdint.
18526
18527         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
18528         See the thread rooted at
18529         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
18530         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
18531         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
18532         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
18533         __VMS)); previously it was always included (via fcntl--.h).
18534         (getloadavg): Do not use c_strtod.  Instead, approximate it by
18535         hand; this is good enough for load averages.  Also, do not use
18536         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
18537         flags directly if available and don't bother otherwise.  (Packages
18538         that need the extra reliability should use the modules that define
18539         these flags on older platforms that lack them.)
18540         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
18541         fcntl-safer.
18542
18543 2011-02-08  Jim Meyering  <meyering@redhat.com>
18544
18545         di-set.h, ino-map.h: add multiple-inclusion guard
18546         Technically, the guard is required only for ino-map.h, due to its
18547         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
18548         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
18549         * lib/ino-map.h: Likewise.
18550
18551 2011-02-06  Bruno Haible  <bruno@clisp.org>
18552
18553         iswblank: Ensure declaration on glibc systems.
18554         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
18555         * modules/iswblank (Dependencies): Add 'extensions'.
18556         * doc/posix-functions/iswblank.texi: Document the glibc problem.
18557
18558 2011-02-06  Bruno Haible  <bruno@clisp.org>
18559
18560         New module 'iswblank'.
18561         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
18562         * modules/iswblank: New file.
18563         * modules/wctype-h (Files): Remove lib/iswblank.c.
18564         (Makefile.am): Substitute GNULIB_ISWBLANK.
18565         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
18566         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
18567         (gl_WCTYPE_H_DEFAULTS): New macro.
18568         (gl_WCTYPE_H): Require it. Remove iswblank related code.
18569         * modules/iswblank-tests: New file.
18570         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
18571         * tests/test-wctype-h.c (main): Remove iswblank tests.
18572         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
18573         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
18574         of 'wctype-h'.
18575         * NEWS: Mention the change.
18576         * modules/mbchar (Depends-on): Add iswblank.
18577
18578 2011-02-08  Bruno Haible  <bruno@clisp.org>
18579
18580         di-set tests: Refactor.
18581         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
18582         unnecessary includes.
18583         (ASSERT): Remove macro.
18584         (main): Make C90 compliant by avoiding variable declaration after
18585         statement.
18586         * modules/di-set-tests (Files): Add tests/macros.h.
18587
18588 2011-02-08  Bruno Haible  <bruno@clisp.org>
18589
18590         ino-map tests: Refactor.
18591         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
18592         unnecessary includes.
18593         (ASSERT): Remove macro.
18594         (main): Make C90 compliant by avoiding variable declaration after
18595         statement.
18596         * modules/ino-map-tests (Files): Add tests/macros.h.
18597
18598 2011-02-08  Jim Meyering  <meyering@redhat.com>
18599
18600         di-set: add "const" to a cast
18601         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
18602         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
18603
18604 2011-02-06  Bruno Haible  <bruno@clisp.org>
18605
18606         Rename module 'wctype' to 'wctype-h'.
18607         * modules/wctype-h: Renamed from modules/wctype.
18608         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
18609         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
18610         (Files, Depends-on, Makefile.am): Update.
18611         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
18612         (Files, Makefile.am): Update.
18613         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
18614         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
18615         * doc/posix-headers/wctype.texi: Update.
18616         * doc/posix-functions/iswalnum.texi: Update.
18617         * doc/posix-functions/iswalpha.texi: Update.
18618         * doc/posix-functions/iswblank.texi: Update.
18619         * doc/posix-functions/iswcntrl.texi: Update.
18620         * doc/posix-functions/iswdigit.texi: Update.
18621         * doc/posix-functions/iswgraph.texi: Update.
18622         * doc/posix-functions/iswlower.texi: Update.
18623         * doc/posix-functions/iswprint.texi: Update.
18624         * doc/posix-functions/iswpunct.texi: Update.
18625         * doc/posix-functions/iswspace.texi: Update.
18626         * doc/posix-functions/iswupper.texi: Update.
18627         * doc/posix-functions/iswxdigit.texi: Update.
18628         * doc/posix-functions/towlower.texi: Update.
18629         * doc/posix-functions/towupper.texi: Update.
18630         * NEWS: Mention the change.
18631         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
18632         * modules/mbchar (Dependencies): Likewise.
18633         * modules/mbswidth (Dependencies): Likewise.
18634         * modules/quotearg (Dependencies): Likewise.
18635         * modules/regex (Dependencies): Likewise.
18636         * modules/wcscasecmp (Dependencies): Likewise.
18637         * modules/wcsncasecmp (Dependencies): Likewise.
18638         * modules/wcwidth (Dependencies): Likewise.
18639
18640 2011-02-06  Bruno Haible  <bruno@clisp.org>
18641
18642         New module 'wcswidth'.
18643         * modules/wcswidth: New file.
18644         * lib/wchar.in.h (wcswidth): New declaration.
18645         * lib/wcswidth.c: New file.
18646         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
18647         * m4/wcswidth.m4: New file.
18648         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
18649         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
18650         REPLACE_WCSWIDTH.
18651         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
18652         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
18653         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
18654         * doc/posix-functions/wcswidth.texi: Mention the new module.
18655
18656 2011-02-06  Bruno Haible  <bruno@clisp.org>
18657
18658         New module 'wcstok'.
18659         * modules/wcstok: New file.
18660         * lib/wchar.in.h (wcstok): New declaration.
18661         * lib/wcstok.c: New file.
18662         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
18663         * m4/wcstok.m4: New file.
18664         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
18665         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
18666         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
18667         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
18668         * doc/posix-functions/wcstok.texi: Mention the new module.
18669
18670 2011-02-06  Bruno Haible  <bruno@clisp.org>
18671
18672         New module 'wcsstr'.
18673         * modules/wcsstr: New file.
18674         * lib/wchar.in.h (wcsstr): New declaration.
18675         * lib/wcsstr.c: New file.
18676         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
18677         * m4/wcsstr.m4: New file.
18678         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
18679         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
18680         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
18681         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
18682         * doc/posix-functions/wcsstr.texi: Mention the new module.
18683
18684 2011-02-06  Bruno Haible  <bruno@clisp.org>
18685
18686         New module 'wcspbrk'.
18687         * modules/wcspbrk: New file.
18688         * lib/wchar.in.h (wcspbrk): New declaration.
18689         * lib/wcspbrk.c: New file.
18690         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
18691         * m4/wcspbrk.m4: New file.
18692         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
18693         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
18694         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
18695         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
18696         * doc/posix-functions/wcspbrk.texi: Mention the new module.
18697
18698 2011-02-06  Bruno Haible  <bruno@clisp.org>
18699
18700         New module 'wcsspn'.
18701         * modules/wcsspn: New file.
18702         * lib/wchar.in.h (wcsspn): New declaration.
18703         * lib/wcsspn.c: New file.
18704         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
18705         * m4/wcsspn.m4: New file.
18706         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
18707         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
18708         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
18709         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
18710         * doc/posix-functions/wcsspn.texi: Mention the new module.
18711
18712 2011-02-06  Bruno Haible  <bruno@clisp.org>
18713
18714         New module 'wcscspn'.
18715         * modules/wcscspn: New file.
18716         * lib/wchar.in.h (wcscspn): New declaration.
18717         * lib/wcscspn.c: New file.
18718         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
18719         * m4/wcscspn.m4: New file.
18720         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
18721         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
18722         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
18723         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
18724         * doc/posix-functions/wcscspn.texi: Mention the new module.
18725
18726 2011-02-06  Bruno Haible  <bruno@clisp.org>
18727
18728         New module 'wcsrchr'.
18729         * modules/wcsrchr: New file.
18730         * lib/wchar.in.h (wcsrchr): New declaration.
18731         * lib/wcsrchr.c: New file.
18732         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
18733         * m4/wcsrchr.m4: New file.
18734         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
18735         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
18736         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
18737         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
18738         * doc/posix-functions/wcsrchr.texi: Mention the new module.
18739
18740 2011-02-06  Bruno Haible  <bruno@clisp.org>
18741
18742         New module 'wcschr'.
18743         * modules/wcschr: New file.
18744         * lib/wchar.in.h (wcschr): New declaration.
18745         * lib/wcschr.c: New file.
18746         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
18747         * m4/wcschr.m4: New file.
18748         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
18749         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
18750         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
18751         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
18752         * doc/posix-functions/wcschr.texi: Mention the new module.
18753
18754 2011-02-06  Bruno Haible  <bruno@clisp.org>
18755
18756         New module 'wcsdup'.
18757         * modules/wcsdup: New file.
18758         * lib/wchar.in.h (wcsdup): New declaration.
18759         * lib/wcsdup.c: New file.
18760         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
18761         * m4/wcsdup.m4: New file.
18762         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
18763         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
18764         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
18765         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
18766         * doc/posix-functions/wcsdup.texi: Mention the new module.
18767
18768 2011-02-06  Bruno Haible  <bruno@clisp.org>
18769
18770         New module 'wcsxfrm'.
18771         * modules/wcsxfrm: New file.
18772         * lib/wchar.in.h (wcsxfrm): New declaration.
18773         * lib/wcsxfrm.c: New file.
18774         * lib/wcsxfrm-impl.h: New file.
18775         * m4/wcsxfrm.m4: New file.
18776         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
18777         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
18778         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
18779         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
18780         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
18781
18782 2011-02-06  Bruno Haible  <bruno@clisp.org>
18783
18784         New module 'wcscoll'.
18785         * modules/wcscoll: New file.
18786         * lib/wchar.in.h (wcscoll): New declaration.
18787         * lib/wcscoll.c: New file.
18788         * lib/wcscoll-impl.h: New file.
18789         * m4/wcscoll.m4: New file.
18790         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
18791         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
18792         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
18793         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
18794         * doc/posix-functions/wcscoll.texi: Mention the new module.
18795
18796 2011-02-06  Bruno Haible  <bruno@clisp.org>
18797
18798         New module 'wcsncasecmp'.
18799         * modules/wcsncasecmp: New file.
18800         * lib/wchar.in.h (wcsncasecmp): New declaration.
18801         * lib/wcsncasecmp.c: New file.
18802         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
18803         * m4/wcsncasecmp.m4: New file.
18804         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
18805         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
18806         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
18807         HAVE_WCSNCASECMP.
18808         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
18809         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
18810
18811 2011-02-06  Bruno Haible  <bruno@clisp.org>
18812
18813         New module 'wcscasecmp'.
18814         * modules/wcscasecmp: New file.
18815         * lib/wchar.in.h (wcscasecmp): New declaration.
18816         * lib/wcscasecmp.c: New file.
18817         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
18818         * m4/wcscasecmp.m4: New file.
18819         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
18820         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
18821         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
18822         HAVE_WCSCASECMP.
18823         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
18824         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
18825
18826 2011-02-05  Bruno Haible  <bruno@clisp.org>
18827
18828         New module 'wcsncmp'.
18829         * modules/wcsncmp: New file.
18830         * lib/wchar.in.h (wcsncmp): New declaration.
18831         * lib/wcsncmp.c: New file.
18832         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
18833         * m4/wcsncmp.m4: New file.
18834         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
18835         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
18836         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
18837         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
18838         * doc/posix-functions/wcsncmp.texi: Mention the new module.
18839
18840 2011-02-05  Bruno Haible  <bruno@clisp.org>
18841
18842         New module 'wcscmp'.
18843         * modules/wcscmp: New file.
18844         * lib/wchar.in.h (wcscmp): New declaration.
18845         * lib/wcscmp.c: New file.
18846         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
18847         * m4/wcscmp.m4: New file.
18848         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
18849         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
18850         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
18851         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
18852         * doc/posix-functions/wcscmp.texi: Mention the new module.
18853
18854 2011-02-05  Bruno Haible  <bruno@clisp.org>
18855
18856         New module 'wcsncat'.
18857         * modules/wcsncat: New file.
18858         * lib/wchar.in.h (wcsncat): New declaration.
18859         * lib/wcsncat.c: New file.
18860         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
18861         * m4/wcsncat.m4: New file.
18862         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
18863         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
18864         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
18865         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
18866         * doc/posix-functions/wcsncat.texi: Mention the new module.
18867
18868 2011-02-05  Bruno Haible  <bruno@clisp.org>
18869
18870         New module 'wcscat'.
18871         * modules/wcscat: New file.
18872         * lib/wchar.in.h (wcscat): New declaration.
18873         * lib/wcscat.c: New file.
18874         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
18875         * m4/wcscat.m4: New file.
18876         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
18877         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
18878         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
18879         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
18880         * doc/posix-functions/wcscat.texi: Mention the new module.
18881
18882 2011-02-05  Bruno Haible  <bruno@clisp.org>
18883
18884         New module 'wcpncpy'.
18885         * modules/wcpncpy: New file.
18886         * lib/wchar.in.h (wcpncpy): New declaration.
18887         * lib/wcpncpy.c: New file.
18888         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
18889         * m4/wcpncpy.m4: New file.
18890         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
18891         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
18892         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
18893         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
18894         * doc/posix-functions/wcpncpy.texi: Mention the new module.
18895
18896 2011-02-05  Bruno Haible  <bruno@clisp.org>
18897
18898         New module 'wcsncpy'.
18899         * modules/wcsncpy: New file.
18900         * lib/wchar.in.h (wcsncpy): New declaration.
18901         * lib/wcsncpy.c: New file.
18902         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
18903         * m4/wcsncpy.m4: New file.
18904         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
18905         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
18906         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
18907         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
18908         * doc/posix-functions/wcsncpy.texi: Mention the new module.
18909
18910 2011-02-05  Bruno Haible  <bruno@clisp.org>
18911
18912         New module 'wcpcpy'.
18913         * modules/wcpcpy: New file.
18914         * lib/wchar.in.h (wcpcpy): New declaration.
18915         * lib/wcpcpy.c: New file.
18916         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
18917         * m4/wcpcpy.m4: New file.
18918         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
18919         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
18920         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
18921         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
18922         * doc/posix-functions/wcpcpy.texi: Mention the new module.
18923
18924 2011-02-05  Bruno Haible  <bruno@clisp.org>
18925
18926         New module 'wcscpy'.
18927         * modules/wcscpy: New file.
18928         * lib/wchar.in.h (wcscpy): New declaration.
18929         * lib/wcscpy.c: New file.
18930         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
18931         * m4/wcscpy.m4: New file.
18932         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
18933         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
18934         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
18935         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
18936         * doc/posix-functions/wcscpy.texi: Mention the new module.
18937
18938 2011-02-05  Bruno Haible  <bruno@clisp.org>
18939
18940         New module 'wcsnlen'.
18941         * modules/wcsnlen: New file.
18942         * lib/wchar.in.h (wcsnlen): New declaration.
18943         * lib/wcsnlen.c: New file.
18944         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
18945         * m4/wcsnlen.m4: New file.
18946         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
18947         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
18948         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
18949         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
18950         * doc/posix-functions/wcsnlen.texi: Mention the new module.
18951
18952 2011-02-05  Bruno Haible  <bruno@clisp.org>
18953
18954         New module 'wcslen'.
18955         * modules/wcslen: New file.
18956         * lib/wchar.in.h (wcslen): New declaration.
18957         * lib/wcslen.c: New file.
18958         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
18959         * m4/wcslen.m4: New file.
18960         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
18961         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
18962         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
18963         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
18964         * doc/posix-functions/wcslen.texi: Mention the new module.
18965
18966 2011-02-05  Bruno Haible  <bruno@clisp.org>
18967
18968         New module 'wmemset'.
18969         * modules/wmemset: New file.
18970         * lib/wchar.in.h (wmemset): New declaration.
18971         * lib/wmemset.c: New file.
18972         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
18973         * m4/wmemset.m4: New file.
18974         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
18975         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
18976         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
18977         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
18978         * doc/posix-functions/wmemset.texi: Mention the new module.
18979
18980 2011-02-05  Bruno Haible  <bruno@clisp.org>
18981
18982         New module 'wmemmove'.
18983         * modules/wmemmove: New file.
18984         * lib/wchar.in.h (wmemmove): New declaration.
18985         * lib/wmemmove.c: New file.
18986         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
18987         * m4/wmemmove.m4: New file.
18988         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
18989         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
18990         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
18991         HAVE_WMEMMOVE.
18992         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
18993         * doc/posix-functions/wmemmove.texi: Mention the new module.
18994
18995 2011-02-05  Bruno Haible  <bruno@clisp.org>
18996
18997         New module 'wmemcpy'.
18998         * modules/wmemcpy: New file.
18999         * lib/wchar.in.h (wmemcpy): New declaration.
19000         * lib/wmemcpy.c: New file.
19001         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
19002         * m4/wmemcpy.m4: New file.
19003         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
19004         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
19005         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
19006         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
19007         * doc/posix-functions/wmemcpy.texi: Mention the new module.
19008
19009 2011-02-05  Bruno Haible  <bruno@clisp.org>
19010
19011         New module 'wmemcmp'.
19012         * modules/wmemcmp: New file.
19013         * lib/wchar.in.h (wmemcmp): New declaration.
19014         * lib/wmemcmp.c: New file.
19015         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
19016         * m4/wmemcmp.m4: New file.
19017         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
19018         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
19019         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
19020         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
19021         * doc/posix-functions/wmemcmp.texi: Mention the new module.
19022
19023 2011-02-07  Jim Meyering  <meyering@redhat.com>
19024
19025         di-set, ino-map: new modules, from coreutils
19026         * lib/di-set.c: New file.
19027         * lib/di-set.h: Likewise.
19028         * lib/ino-map.c: Likewise.
19029         * lib/ino-map.h: Likewise.
19030         * modules/di-set: Likewise.
19031         * modules/di-set-tests: Likewise.
19032         * modules/ino-map: Likewise.
19033         * modules/ino-map-tests: Likewise.
19034         * tests/test-di-set.c: Likewise.
19035         * tests/test-ino-map.c: Likewise.
19036
19037 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
19038
19039         getloadavg: merge minor changes from Emacs
19040
19041         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
19042         (getloadavg): Use memset, not bzero.
19043
19044         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
19045         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
19046         clash (bug#86).
19047
19048 2010-11-14  Bruno Haible  <bruno@clisp.org>
19049
19050         Allow multiple gnulib generated replacements to coexist.
19051         * lib/getopt.in.h (struct option): Avoid identical redefinition.
19052         * lib/inttypes.in.h (imaxdiv_t): Likewise.
19053         * lib/langinfo.in.h (nl_item): Likewise.
19054         * lib/math.in.h (_NaN, NAN): Likewise.
19055         * lib/netdb.in.h (struct addrinfo): Likewise.
19056         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
19057         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
19058         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
19059         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
19060         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
19061         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
19062         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
19063         pthread_mutexattr_init, pthread_mutexattr_settype,
19064         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
19065         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
19066         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
19067         pthread_spin_trylock, pthread_spin_unlock): Likewise.
19068         * lib/sched.in.h (struct sched_param): Likewise.
19069         * lib/se-selinux.in.h (security_class_t, security_context_t,
19070         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
19071         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
19072         lsetfilecon, fsetfilecon, security_check_context,
19073         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
19074         Likewise.
19075         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
19076         Likewise.
19077         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
19078         _gl_function_taking_int_returning_void_t, union sigval,
19079         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
19080         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
19081         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
19082         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
19083         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
19084         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
19085         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
19086         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
19087         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
19088         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
19089         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
19090         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
19091         socklen_t, rpl_fd_isset): Likewise.
19092         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
19093         * lib/sys_time.in.h (struct timeval): Likewise.
19094         * lib/sys_times.in.h (struct tms): Likewise.
19095         * lib/sys_utsname.in.h (struct utsname):
19096         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
19097         * lib/unistd.in.h (getpagesize): Likewise.
19098         * lib/wchar.in.h (mbstate_t): Likewise.
19099         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
19100         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
19101         towlower, towupper): Likewise.
19102         Reported by Sam Steingold <sds@gnu.org>.
19103
19104 2011-02-05  Eric Blake  <eblake@redhat.com>
19105
19106         unsetenv: work around Haiku issues
19107         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
19108         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
19109
19110 2010-12-30  Bruce Korb  <bkorb@gnu.org>
19111
19112         libposix: avoid calling error() within libposix
19113         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
19114         is defined.
19115
19116 2011-02-05  Eric Blake  <eblake@redhat.com>
19117
19118         strerror_r-posix: port to cygwin
19119         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
19120         implementation.
19121         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
19122         * tests/test-strerror_r.c (main): Fix test.
19123         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19124         issue.
19125
19126 2011-02-05  Bruno Haible  <bruno@clisp.org>
19127
19128         New module 'wmemchr'.
19129         * modules/wmemchr: New file.
19130         * lib/wchar.in.h (wmemchr): New declaration.
19131         * lib/wmemchr.c: New file.
19132         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
19133         * m4/wmemchr.m4: New file.
19134         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
19135         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
19136         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
19137         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
19138         * doc/posix-functions/wmemchr.texi: Mention the new module.
19139
19140 2011-02-04  Eric Blake  <eblake@redhat.com>
19141
19142         fdopendir: detect FreeBSD bug
19143         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
19144         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
19145
19146 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
19147
19148         stdbool: do not define HAVE_STDBOOL_H
19149         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
19150         AC_HEADER_STDBOOL.  All uses changed.  Do not define
19151         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
19152         imported from the latest Autoconf git.  It was motivated by Emacs,
19153         which uses gnulib but does not need HAVE_STDBOOL_H.
19154
19155 2011-02-04  Bruno Haible  <bruno@clisp.org>
19156
19157         wcsnrtombs: Prepare for new module wwcsnrtombs.
19158         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
19159         * lib/wcsnrtombs.c: Include it.
19160         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
19161
19162         wcsrtombs: Prepare for new module wwcsrtombs.
19163         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
19164         * lib/wcsrtombs.c: Include it.
19165         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
19166
19167         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
19168         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
19169         * lib/mbsnrtowcs.c: Include it.
19170         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
19171
19172         mbsrtowcs: Prepare for new module mbsrtowwcs.
19173         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
19174         * lib/mbsrtowcs.c: Include it.
19175         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
19176
19177 2011-02-04  Bruno Haible  <bruno@clisp.org>
19178
19179         vasnprintf: Reduce use of malloc for small format strings.
19180         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
19181         (arguments): Add room for the first 7 arguments.
19182         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
19183         (char_directives, u8_directives, u16_directives, u32_directives): Add
19184         room for the first 7 directives.
19185         * lib/printf-parse.c: Include <string.h>.
19186         (PRINTF_PARSE): Change memory handling code so that it uses the first
19187         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
19188         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
19189         Reported by Pádraig Brady <P@draigbrady.com>.
19190
19191 2011-01-31  Eric Blake  <eblake@redhat.com>
19192
19193         dup2: work around Haiku bug
19194         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
19195         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
19196         * doc/posix-functions/dup2.texi (dup2): Document the bug.
19197         * tests/test-dup2.c (main): Enhance test.
19198
19199 2011-01-31  Simon Josefsson  <simon@josefsson.org>
19200
19201         doc: off_t is not available in eglibc 2.11.2 stdio.h.
19202         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
19203         declared by eglibc 2.11.2.
19204         * lib/stdio.in.h: Likewise.
19205
19206 2011-01-31  Eric Blake  <eblake@redhat.com>
19207
19208         ignore-value: add missing test dependency
19209         * tests/test-ignore-value.c: Revert previous change; stdio.h
19210         provides off_t.
19211         * modules/ignore-value-tests (Depends-on): Add missing dependency.
19212
19213 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19214
19215         mktime: clarify long_int width checking
19216         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
19217         the top level, to make it clearer that the assumption about
19218         long_int width is being checked.  See
19219         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
19220
19221 2011-01-30  Simon Josefsson  <simon@josefsson.org>
19222
19223         ignore-value: Fix self-test.
19224         * tests/test-ignore-value.c: Include sys/types.h for off_t.
19225
19226 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19227
19228         TYPE_MAXIMUM: avoid theoretically undefined behavior
19229         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
19230         negative number, which the C Standard says has undefined behavior.
19231         In practice this is not a problem, but might as well do it by the book.
19232         Reported by Rich Felker and Eric Blake; see
19233         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
19234         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
19235         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
19236         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19237         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
19238         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19239         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
19240
19241         mktime: #undef mktime before #defining it
19242         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
19243
19244         mktime: systematically normalize tm_isdst comparisons
19245         * lib/mktime.c (isdst_differ): New function.
19246         (__mktime_internal): Use it systematically for all isdst comparisons.
19247         This completes the fix for libc BZ #6723, and removes the need for
19248         normalizing tm_isdst.  See
19249         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
19250         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
19251
19252         mktime: fix some integer overflow issues and sidestep the rest
19253
19254         This was prompted by a bug report by Benjamin Lindner for MinGW
19255         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
19256         His bug is due to signed integer overflow (0 - INT_MIN), and I
19257         I scanned through mktime.c looking for other integer overflow
19258         problems, fixing all the bugs I found.
19259
19260         Although the C Standard says the resulting code is still not safe
19261         in the presence of integer overflow, in practice it should be good
19262         enough for all real-world two's-complement implementations, except
19263         for debugging environments that deliberately trap on integer
19264         overflow (e.g., gcc -ftrapv).
19265
19266         * lib/mktime.c (WRAPV): New macro.
19267         (SHR): Also check that long_int and time_t shift right in the
19268         usual way, before using the fast-but-unportable method.
19269         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
19270         used.  The code already assumed two's complement, so there's
19271         no need to test for alternatives.  All uses removed.
19272         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
19273         the C standard.  Problem reported by Rich Felker in
19274         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
19275         (twos_complement_arithmetic): Also check long_int and time_t.
19276         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
19277         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
19278         (__mktime_internal): Avoid integer overflow with unary subtraction
19279         in two instances where -1 - X is an adequate replacement for -X,
19280         since the calculations are approximate.
19281
19282 2011-01-29  Eric Blake  <eblake@redhat.com>
19283
19284         mktime: avoid infinite loop
19285         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
19286         type; behavior is still undefined but portable to all known targets.
19287         Reported by Rich Felker.
19288
19289 2011-01-29  Simon Josefsson  <simon@josefsson.org>
19290
19291         rename, unlink, same-inode: Relicense.
19292         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
19293         * modules/unlink (License): Likewise.
19294         * modules/same-inode (License): Likewise.
19295
19296 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
19297
19298         mktime: avoid problems on NetBSD 5 / i386
19299         * lib/mktime.c (long_int): New type.  This works around a problem
19300         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
19301         but time_t is 64 bits, and where I expect the existing code is
19302         wrong in some cases.
19303         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
19304         (ydhms_diff): Bring back the compile-time check for wide-enough
19305         year and yday.
19306
19307         mktime: fix misspelling in comment
19308         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
19309         This merges all recent glibc changes of importance.
19310
19311 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19312
19313         move-if-change: cope with concurrent mv of identical file.
19314         * build-aux/move-if-change (CMPPROG): Accept environment
19315         variable as an override for `cmp'.
19316         (usage): Document CMPPROG.
19317         Adjust comparison to drop stdout.  Cope with failure of mv if
19318         the target file exists and is identical to the source, for
19319         parallel builds.
19320         Report from H.J. Lu against binutils in PR binutils/12283.
19321
19322 2011-01-28  Bruce Korb  <bkorb@gnu.org>
19323
19324         * users.txt: Mention sharutils.
19325
19326 2011-01-28  Simon Josefsson  <simon@josefsson.org>
19327
19328         * users.txt: Mention OATH Toolkit.
19329
19330 2011-01-27  Bruno Haible  <bruno@clisp.org>
19331
19332         Prepare for supporting FreeBSD 10.
19333         * build-aux/config.libpath: Remove handling of freebsd1*.
19334
19335 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
19336
19337         Prepare for supporting FreeBSD 10.
19338         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
19339         match FreeBSD 10.0.
19340
19341 2011-01-27  Bruno Haible  <bruno@clisp.org>
19342
19343         vma-iter, get-rusage-as: Add OpenBSD support.
19344         * modules/vma-iter (configure.ac): Test for mquery.
19345         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
19346         * lib/vma-iter.c: Include <sys/mman.h>.
19347         (vma_iterate): Add an implementation based on mquery().
19348         * lib/resource-ext.h (get_rusage_as): Update comments.
19349         * lib/get-rusage-as.c: Likewise.
19350         * lib/get-rusage-data.c: Likewise.
19351
19352 2011-01-26  Karl Berry  <karl@gnu.org>
19353
19354         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
19355         variables to make it easier to override the makeinfo program used.
19356
19357 2011-01-26  Eric Blake  <eblake@redhat.com>
19358
19359         fcntl: work around Haiku F_DUPFD bugs
19360         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
19361         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
19362         cloexec bit on duplication.
19363         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
19364
19365 2011-01-26  Bruno Haible  <bruno@clisp.org>
19366
19367         Enable memory leak tests on AIX.
19368         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
19369         * tests/test-fprintf-posix3.c (main): Likewise.
19370
19371 2011-01-26  Bruno Haible  <bruno@clisp.org>
19372
19373         Tests for module 'get-rusage-data'.
19374         * modules/get-rusage-data-tests: New file.
19375         * tests/test-get-rusage-data.c: New file.
19376
19377         New module 'get-rusage-data'.
19378         * lib/resource-ext.h (get_rusage_data): New declaration.
19379         * lib/get-rusage-data.c: New file.
19380         * modules/get-rusage-data: New file.
19381
19382 2011-01-25  Bruno Haible  <bruno@clisp.org>
19383
19384         get-rusage-as: Allow for easier testing.
19385         * lib/resource-ext.h (get_rusage_as): Add comment.
19386         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
19387         (main): New function for interactive testing.
19388
19389 2011-01-25  Bruno Haible  <bruno@clisp.org>
19390
19391         vma-iter: Treat Haiku like BeOS.
19392         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
19393         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
19394
19395 2011-01-25  Eric Blake  <eblake@redhat.com>
19396
19397         c-stack: fix regression on cygwin when libsigsegv is present
19398         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
19399
19400 2011-01-24  Bruno Haible  <bruno@clisp.org>
19401
19402         vma-iter: Avoid empty intervals.
19403         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
19404         on an empty interval.
19405
19406 2011-01-24  Jim Meyering  <meyering@redhat.com>
19407
19408         u64: remove unnecessary #include
19409         * lib/u64.h: Don't include <stddef.h>.  It was not used.
19410
19411 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19412
19413         Allow the user to avoid the HAVE_RAW_DECL_* macros.
19414         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
19415
19416 2011-01-23  Bruno Haible  <bruno@clisp.org>
19417
19418         New module 'vma-iter'.
19419         * lib/vma-iter.h: New file.
19420         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
19421         * modules/vma-iter: New file.
19422         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
19423         for get_rusage_as_via_iterator.
19424         (vma_iterate_callback): New function.
19425         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
19426         * modules/get-rusage-as (Depends-on): Add vma-iter.
19427
19428 2011-01-23  Bruno Haible  <bruno@clisp.org>
19429
19430         uninorm: Tweak includes.
19431         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
19432         Reported by Jim Meyering.
19433
19434 2011-01-23  Bruno Haible  <bruno@clisp.org>
19435
19436         get-rusage-as: Improve on NetBSD.
19437         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
19438         /proc, like on FreeBSD.
19439
19440 2011-01-23  Jim Meyering  <meyering@redhat.com>
19441
19442         xreadlink.h: remove unnecessary #include
19443         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
19444
19445         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
19446         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
19447
19448 2011-01-23  Bruno Haible  <bruno@clisp.org>
19449
19450         get-rusage-as: Fix bug.
19451         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
19452         original limit when aborting the first loop.
19453
19454 2011-01-23  Bruno Haible  <bruno@clisp.org>
19455
19456         wctype: Ensure valid C syntax.
19457         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
19458         unconditionally, instead of gl_NEXT_HEADERS conditionally.
19459
19460 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
19461
19462         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
19463         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
19464         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
19465         as they are needed only for configure's test case.
19466         This removes two unnecessary symbols from config.h.
19467
19468         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
19469         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
19470         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
19471         AC_CHECK_HEADERS_ONCE on a header that we also invoke
19472         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
19473         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
19474         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
19475         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
19476         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19477         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
19478         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
19479         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19480         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19481         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19482         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
19483         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19484         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
19485         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19486
19487 2011-01-21  Eric Blake  <eblake@redhat.com>
19488
19489         maintainer-makefile: work with older git for submodule check
19490         * top/maint.mk (public-submodule-commit): Rewrite to avoid
19491         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
19492         Reported by Matthias Bolte.
19493
19494         bootstrap: minor portability fixes
19495         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
19496         (usage): Omit leading capital and trailing . on help phrases, per
19497         GNU Coding Standards.
19498         (check_versions, top level): Prefix messages with script name.
19499
19500 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
19501
19502         bootstrap: support --no-git option
19503         * build-aux/bootstrap: Add --no-git option, to be used when
19504         --gnulib-srcdir points to the exact desired checkout.
19505
19506 2011-01-21  Eric Blake  <eblake@redhat.com>
19507
19508         strerror_r-posix: work with glibc 2.13
19509         * lib/strerror_r.c (strerror_r): Fix return type.
19510
19511 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19512             Bruno Haible  <bruno@clisp.org>
19513
19514         uN_strstr: New unit tests.
19515         * modules/unistr/u8-strstr-tests: New file.
19516         * modules/unistr/u16-strstr-tests: New file.
19517         * modules/unistr/u32-strstr-tests: New file.
19518         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
19519         * tests/unistr/test-u8-strstr.c: New file.
19520         * tests/unistr/test-u16-strstr.c: New file.
19521         * tests/unistr/test-u32-strstr.c: New file.
19522
19523 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19524             Bruno Haible  <bruno@clisp.org>
19525
19526         Make uN_strstr functions O(n) worst-case.
19527         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
19528         16-bit and 32-bit unit cases, use the unibyte algorithm from
19529         lib/mbsstr.c.
19530         * lib/unistr/u8-strstr.c: Include <string.h>.
19531         (UNIT_IS_UINT8_T): New macro.
19532         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
19533         (U_STRLEN, U_STRNLEN): New macros.
19534         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
19535         (U_STRLEN, U_STRNLEN): New macros.
19536         * modules/unistr/u8-strstr (Depends-on): Add strstr.
19537         (configure.ac): Update required libunistring version.
19538         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
19539         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
19540         malloca.
19541         (configure.ac): Update required libunistring version.
19542         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
19543         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
19544         malloca.
19545         (configure.ac): Update required libunistring version.
19546
19547 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19548             Bruno Haible  <bruno@clisp.org>
19549
19550         Prepare for faster uN_strstr functions.
19551         * lib/str-kmp.h: Support definable UNITs.
19552         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
19553         needle_len argument.
19554         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
19555         * lib/mbscasestr.c (mbscasestr): Likewise.
19556
19557 2011-01-21  Pádraig Brady <P@draigBrady.com>
19558
19559         malloca-tests: make faster by unsetting MALLOC_PERTURB_
19560         * tests/test-malloca.c (main): Unset the environment variable
19561         to greatly speed up the test.
19562         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
19563         * modules/malloca-tests: Depend on unsetenv.
19564
19565 2011-01-21  Pádraig Brady <P@draigBrady.com>
19566
19567         ignore-value: remove stdint dependency
19568         * lib/ignore-value.h: Remove <stdint.h>
19569         * modules/ignore-value: Remove stdint dependency.
19570
19571 2011-01-21  Jim Meyering  <meyering@redhat.com>
19572
19573         maint.mk: adjust variable name to be consistent with other gl_ vars
19574         * top/maint.mk (gl_public_submodule_commit): Rename the variable
19575         to be lower case.
19576
19577 2011-01-20  Jim Meyering  <meyering@redhat.com>
19578
19579         maint.mk: make "check" depend on public-submodule-commit by default
19580         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
19581
19582 2011-01-20  Bruno Haible  <bruno@clisp.org>
19583
19584         mbfile, mbiter: Complete change from 2008-12-21.
19585         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
19586         * m4/mbiter.m4 (gl_MBITER): Likewise.
19587
19588 2011-01-20  Jim Meyering  <meyering@redhat.com>
19589
19590         init.sh: insert space between each function name and "()"
19591         * tests/init.sh: Make it a little easier to see that a function's
19592         name is "warn_", and not "warn" when looking at the first part of
19593         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
19594
19595 2011-01-20  Jim Meyering  <meyering@redhat.com>
19596
19597         mountlist: clean up code formatting
19598         * lib/mountlist.c (read_file_system_list): Split a long line,
19599         correct bracing style, use NULL in place of "(struct statfs *)0",
19600         don't parenthesize return value, add spaces around "=" and after
19601         ";-in-for-stmt".
19602
19603 2011-01-14  Markus Duft <mduft@gentoo.org>
19604
19605         mountlist: add support for Interix
19606         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
19607         Apply statvfs to all entries of /dev/fs.
19608         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
19609         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
19610
19611 2011-01-20  Jim Meyering  <meyering@redhat.com>
19612
19613         maint.mk: improve the public-submodule-commit rule
19614         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
19615         to suppress printing of its commands... unless V=1.
19616         Add git submodule's --quiet option to suppress printing of e.g.,
19617         "Entering gnulib" output.
19618         "cd" into $(srcdir) before running git submodule.
19619
19620 2011-01-20  Bruno Haible  <bruno@clisp.org>
19621
19622         include_next: Fix bug introduced on 2011-01-18.
19623         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
19624         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
19625         ac_cv_header_... variable if the second argument is not 'check'.
19626         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
19627         gl_NEXT_HEADERS_INTERNAL.
19628
19629 2011-01-20  Bruno Haible  <bruno@clisp.org>
19630
19631         Allow the user to avoid the GNULIB_TEST_* macros.
19632         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
19633         Suggested by Paul Eggert.
19634
19635 2011-01-14  Jim Meyering  <meyering@redhat.com>
19636
19637         bootstrap: avoid failure when there is no .gitmodules file
19638         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
19639         has been assigned to, even when its value is the empty string.
19640         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
19641         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
19642         Reported by John W. Eaton <jwe@gnu.org>.
19643
19644 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
19645
19646         assume <ctype.h>, ..., <time.h> exist
19647         For years gnulib has been assuming the existence of the headers
19648         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
19649         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
19650         them, since they don't appear to be needed.
19651         * README (Portability guidelines): Document this.
19652         * lib/flock.c: Assume <fcntl.h> exists.
19653         * lib/regex_internal.h: Assume <locale.h> exists.
19654         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
19655         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
19656         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
19657         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
19658         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
19659         * m4/regex.m4 (gl_REGEX): Likewise.
19660         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
19661         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
19662         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
19663         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
19664         * tests/test-argp.c: Likewise.
19665         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
19666
19667         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
19668         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
19669         AA_APPLE_UNIVERSAL_BUILD.  See
19670         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
19671         * NEWS: Document this.
19672
19673 2011-01-19  Eric Blake  <eblake@redhat.com>
19674
19675         c-stack: assume stack overflow if SA_SIGINFO unsupported
19676         * lib/c-stack.c (SIGACTION_WORKS): Rename...
19677         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
19678         sigaction will work.
19679         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
19680         behavior match Linux.
19681         * tests/test-c-stack.c (main): Prefer NULL for pointers.
19682
19683         stdbool-tests: accomodate Haiku
19684         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
19685
19686         binary-io: fix O_TEXT on Haiku
19687         * modules/binary-io (Depends-on): Add fcntl-h.
19688         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
19689         than blindly undefining O_TEXT.
19690         Reported by Scott McCreary.
19691
19692 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19693
19694         include_next: do not check for standard headers like stddef.h
19695
19696         I found this problem when modifying Emacs to use gnulib.
19697         I noticed that it added HAVE_STDDEF_H to config.h, even though
19698         gnulib always assumes <stddef.h> exists as per README and this
19699         symbol is unnecessary.
19700         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
19701         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
19702         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
19703         faster for headers like stddef.h that are known to exist.
19704         (gl_CHECK_NEXT_HEADERS): Use it.
19705         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
19706         rather than gl_CHECK_NEXT_HEADERS.
19707         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
19708         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
19709
19710 2011-01-18  Eric Blake  <eblake@redhat.com>
19711
19712         ansi-c++-opt: skip C++ dependency style if C++ is unused
19713         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
19714         tests when we know C++ compilation is not desired.
19715         Reported by Scott McCreary.
19716
19717 2011-01-18  Bruno Haible  <bruno@clisp.org>
19718
19719         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
19720         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
19721         (main): Perform test also when getrlimit and setrlimit don't exist or
19722         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
19723         limiting the address space size using setrlimit, compare the address
19724         space size before and after the the test.
19725         * tests/test-dprintf-posix2.c: Likewise.
19726         * tests/test-fprintf-posix3.sh: Update skip messages.
19727         * tests/test-dprintf-posix2.sh: Likewise.
19728         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
19729         * modules/dprintf-posix-tests (Depends-on): Likewise.
19730         Reported by Bruce Korb <bkorb@gnu.org> and
19731         Gary V. Vaughan <gary@gnu.org>.
19732
19733 2011-01-18  Bruno Haible  <bruno@clisp.org>
19734
19735         get-rusage-as: Improvement for Cygwin.
19736         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
19737         areas that are merely reserved.
19738
19739 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19740
19741         strftime: remove dependencies on multibyte modules
19742
19743         strftime depended on mbrlen, mbsinit, and wchar, but these modules
19744         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
19745         only if __osf__ is defined, and I suspect OSF doesn't need these
19746         other modules.  If my guess is wrong, we'll need to come up with a
19747         variant of strftime that doesn't need the multibyte modules.
19748
19749         I discovered this problem when attempting modify Emacs to use the
19750         strftime module.  With the previous gnulib, this caused Emacs to
19751         need 31 new files, ranging from lib/config.charset to
19752         m4/wint_t.m4.  This was overkill and I expect would be offputting
19753         to the Emacs maintainers.  After this change, only 6 new files are
19754         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
19755         stdbool.m4, and tm_gmtoff.m4.
19756
19757         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
19758         Suggested by Bruno Haible in
19759         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
19760         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
19761         and do not check for wchar.h.
19762         * modules/strftime (Files): Remove m4/mbstate_t.m4.
19763         (Depends-on): Remove mbrlen, mbsinit, wchar.
19764
19765 2011-01-18  Bruno Haible  <bruno@clisp.org>
19766
19767         Tests for module 'get-rusage-as'.
19768         * modules/get-rusage-as-tests: New file.
19769         * tests/test-get-rusage-as.c: New file.
19770
19771         New module 'get-rusage-as'.
19772         * modules/get-rusage-as: New file.
19773         * lib/resource-ext.h: New file.
19774         * lib/get-rusage-as.c: New file.
19775
19776 2011-01-17  Eric Blake  <eblake@redhat.com>
19777
19778         sigaction: relax license from LGPLv3+ to LGPLv2+
19779         * modules/sigaction (License): Relax to LGPLv2+.
19780
19781 2011-01-14  Bruno Haible  <bruno@clisp.org>
19782
19783         filemode: Make function declarations usable in C++ mode.
19784         * lib/filemode.h: Enclose function declarations in extern "C" block.
19785         Reported by John W. Eaton <jwe@gnu.org>.
19786
19787 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
19788
19789         save-cwd: no longer include "xgetcwd.h"
19790         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
19791         This avoids a compilation failure in projects that use save-cwd
19792         without also using the xgetcwd module.
19793
19794 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19795
19796         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
19797         This is so that a program like Emacs, which needs only dtoastr,
19798         does not have to bother with distributing and compiling ftoastr
19799         and ldtoastr.
19800         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
19801         * modules/dtoastr, modules/ldtoastr: New files.
19802         * modules/ftoastr: Now works just for 'float'.
19803         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
19804         (Makefile.am): Remove ftoastr.h (not needed and no effect),
19805         dtoastr.c, ldtoastr.c.
19806
19807 2011-01-11  Jim Meyering  <meyering@redhat.com>
19808
19809         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
19810         There is no need to work around the lack of the fchdir function,
19811         since gnulib can now provide a replacement when required.
19812         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
19813         * modules/save-cwd (Depends-on): Add fchdir.
19814
19815 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19816
19817         openat, save-cwd: avoid xmalloc
19818
19819         This removes a direct (but undocumented) dependency of openat on
19820         xalloc, along with an indirect dependency via save-cwd.  It also
19821         removes a dependency of save-cwd on xgetcwd, and thereby
19822         indirectly on xalloc.  This change causes the openat substitute
19823         to fall back on save_cwd when memory is tight, and for save_cwd to
19824         fail instead of dying when memory is tight, but that's good enough.
19825         Problem and initial idea for fix reported by Bastien Roucaries in
19826         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
19827
19828         * lib/openat-proc.c: Include stdlib.h (for malloc), not
19829         xalloc.h (for xmalloc).
19830         (openat_proc_name): Use malloc, not xmalloc.
19831         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
19832         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
19833
19834         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
19835         This avoids heap allocation for file names whose lengths are in
19836         the range 512..1023, with the upper bound increasing to at most
19837         4031 depending on the platform's PATH_MAX.  (We do not want
19838         pathmax.h here as it might supply a non-constant PATH_MAX.)
19839         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
19840         Perhaps they should be moved to malloca.h?
19841         (OPENAT_BUFFER_SIZE): Use them.
19842
19843 2011-01-10  Bruno Haible  <bruno@clisp.org>
19844
19845         doc: Update users.txt.
19846         * users.txt: Add recutils.
19847
19848 2011-01-09  Karl Berry  <karl@gnu.org>
19849
19850         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
19851
19852         * doc/configmake.texi: New file.
19853         * doc/gnulib.texi: Include it.
19854         * modules/configmake: Move documentation from here.
19855
19856 2011-01-09  Bruno Haible  <bruno@clisp.org>
19857
19858         Update to Unicode 6.0.0.
19859         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
19860         (get_lbp): Update for Unicode 6.0.0.
19861         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
19862         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
19863         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
19864         U+11001, U+11038..U+11046. Remove U+06DE.
19865         (uc_width): Fix bounds of planes.
19866         * tests/uniwidth/test-uc_width2.sh: Same updates as in
19867         lib/uniwidth/width.c.
19868         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
19869         trailing whitespace removed.
19870         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
19871         without comments, but with the original copyright notice.
19872         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
19873         * lib/unicase/ignorable.h: Likewise.
19874         * lib/unicase/tocasefold.h: Likewise.
19875         * lib/unicase/tolower.h: Likewise.
19876         * lib/unicase/totitle.h: Likewise.
19877         * lib/unicase/toupper.h: Likewise.
19878         * lib/unictype/bidi_of.h: Likewise.
19879         * lib/unictype/blocks.h: Likewise.
19880         * lib/unictype/categ_C.h: Likewise.
19881         * lib/unictype/categ_Cn.h: Likewise.
19882         * lib/unictype/categ_L.h: Likewise.
19883         * lib/unictype/categ_Ll.h: Likewise.
19884         * lib/unictype/categ_Lm.h: Likewise.
19885         * lib/unictype/categ_Lo.h: Likewise.
19886         * lib/unictype/categ_Lu.h: Likewise.
19887         * lib/unictype/categ_M.h: Likewise.
19888         * lib/unictype/categ_Mc.h: Likewise.
19889         * lib/unictype/categ_Me.h: Likewise.
19890         * lib/unictype/categ_Mn.h: Likewise.
19891         * lib/unictype/categ_N.h: Likewise.
19892         * lib/unictype/categ_Nd.h: Likewise.
19893         * lib/unictype/categ_No.h: Likewise.
19894         * lib/unictype/categ_P.h: Likewise.
19895         * lib/unictype/categ_Po.h: Likewise.
19896         * lib/unictype/categ_S.h: Likewise.
19897         * lib/unictype/categ_Sc.h: Likewise.
19898         * lib/unictype/categ_Sk.h: Likewise.
19899         * lib/unictype/categ_Sm.h: Likewise.
19900         * lib/unictype/categ_So.h: Likewise.
19901         * lib/unictype/categ_of.h: Likewise.
19902         * lib/unictype/combining.h: Likewise.
19903         * lib/unictype/ctype_alnum.h: Likewise.
19904         * lib/unictype/ctype_alpha.h: Likewise.
19905         * lib/unictype/ctype_graph.h: Likewise.
19906         * lib/unictype/ctype_lower.h: Likewise.
19907         * lib/unictype/ctype_print.h: Likewise.
19908         * lib/unictype/ctype_punct.h: Likewise.
19909         * lib/unictype/ctype_upper.h: Likewise.
19910         * lib/unictype/decdigit.h: Likewise.
19911         * lib/unictype/digit.h: Likewise.
19912         * lib/unictype/numeric.h: Likewise.
19913         * lib/unictype/pr_alphabetic.h: Likewise.
19914         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19915         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19916         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19917         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19918         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19919         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19920         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19921         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19922         * lib/unictype/pr_case_ignorable.h: Likewise.
19923         * lib/unictype/pr_cased.h: Likewise.
19924         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
19925         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
19926         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
19927         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
19928         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
19929         * lib/unictype/pr_combining.h: Likewise.
19930         * lib/unictype/pr_composite.h: Likewise.
19931         * lib/unictype/pr_currency_symbol.h: Likewise.
19932         * lib/unictype/pr_decimal_digit.h: Likewise.
19933         * lib/unictype/pr_deprecated.h: Likewise.
19934         * lib/unictype/pr_format_control.h: Likewise.
19935         * lib/unictype/pr_grapheme_base.h: Likewise.
19936         * lib/unictype/pr_grapheme_extend.h: Likewise.
19937         * lib/unictype/pr_grapheme_link.h: Likewise.
19938         * lib/unictype/pr_id_continue.h: Likewise.
19939         * lib/unictype/pr_id_start.h: Likewise.
19940         * lib/unictype/pr_ideographic.h: Likewise.
19941         * lib/unictype/pr_lowercase.h: Likewise.
19942         * lib/unictype/pr_math.h: Likewise.
19943         * lib/unictype/pr_numeric.h: Likewise.
19944         * lib/unictype/pr_other_alphabetic.h: Likewise.
19945         * lib/unictype/pr_other_id_continue.h: Likewise.
19946         * lib/unictype/pr_other_math.h: Likewise.
19947         * lib/unictype/pr_punctuation.h: Likewise.
19948         * lib/unictype/pr_sentence_terminal.h: Likewise.
19949         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19950         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19951         * lib/unictype/pr_unified_ideograph.h: Likewise.
19952         * lib/unictype/pr_uppercase.h: Likewise.
19953         * lib/unictype/pr_xid_continue.h: Likewise.
19954         * lib/unictype/pr_xid_start.h: Likewise.
19955         * lib/unictype/scripts.h: Likewise.
19956         * lib/unictype/scripts_byname.gperf: Likewise.
19957         * lib/unictype/sy_java_ident.h: Likewise.
19958         * lib/unigbrk/gbrkprop.h: Likewise.
19959         * lib/unilbrk/lbrkprop1.h: Likewise.
19960         * lib/unilbrk/lbrkprop2.h: Likewise.
19961         * lib/uninorm/decomposition-table2.h: Likewise.
19962         * lib/uniwbrk/wbrkprop.h: Likewise.
19963         * tests/unicase/test-cased.c: Likewise.
19964         * tests/unicase/test-ignorable.c: Likewise.
19965         * tests/unicase/test-uc_tolower.c: Likewise.
19966         * tests/unicase/test-uc_totitle.c: Likewise.
19967         * tests/unicase/test-uc_toupper.c: Likewise.
19968         * tests/unictype/test-categ_C.c: Likewise.
19969         * tests/unictype/test-categ_Cn.c: Likewise.
19970         * tests/unictype/test-categ_L.c: Likewise.
19971         * tests/unictype/test-categ_Ll.c: Likewise.
19972         * tests/unictype/test-categ_Lm.c: Likewise.
19973         * tests/unictype/test-categ_Lo.c: Likewise.
19974         * tests/unictype/test-categ_Lu.c: Likewise.
19975         * tests/unictype/test-categ_M.c: Likewise.
19976         * tests/unictype/test-categ_Mc.c: Likewise.
19977         * tests/unictype/test-categ_Me.c: Likewise.
19978         * tests/unictype/test-categ_Mn.c: Likewise.
19979         * tests/unictype/test-categ_N.c: Likewise.
19980         * tests/unictype/test-categ_Nd.c: Likewise.
19981         * tests/unictype/test-categ_No.c: Likewise.
19982         * tests/unictype/test-categ_P.c: Likewise.
19983         * tests/unictype/test-categ_Po.c: Likewise.
19984         * tests/unictype/test-categ_S.c: Likewise.
19985         * tests/unictype/test-categ_Sc.c: Likewise.
19986         * tests/unictype/test-categ_Sk.c: Likewise.
19987         * tests/unictype/test-categ_Sm.c: Likewise.
19988         * tests/unictype/test-categ_So.c: Likewise.
19989         * tests/unictype/test-ctype_alnum.c: Likewise.
19990         * tests/unictype/test-ctype_alpha.c: Likewise.
19991         * tests/unictype/test-ctype_graph.c: Likewise.
19992         * tests/unictype/test-ctype_lower.c: Likewise.
19993         * tests/unictype/test-ctype_print.c: Likewise.
19994         * tests/unictype/test-ctype_punct.c: Likewise.
19995         * tests/unictype/test-ctype_upper.c: Likewise.
19996         * tests/unictype/test-decdigit.h: Likewise.
19997         * tests/unictype/test-digit.h: Likewise.
19998         * tests/unictype/test-numeric.h: Likewise.
19999         * tests/unictype/test-pr_alphabetic.c: Likewise.
20000         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20001         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
20002         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
20003         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20004         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20005         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20006         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20007         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20008         * tests/unictype/test-pr_case_ignorable.c: Likewise.
20009         * tests/unictype/test-pr_cased.c: Likewise.
20010         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
20011         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
20012         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
20013         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
20014         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
20015         * tests/unictype/test-pr_combining.c: Likewise.
20016         * tests/unictype/test-pr_composite.c: Likewise.
20017         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20018         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20019         * tests/unictype/test-pr_deprecated.c: Likewise.
20020         * tests/unictype/test-pr_format_control.c: Likewise.
20021         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20022         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20023         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20024         * tests/unictype/test-pr_id_continue.c: Likewise.
20025         * tests/unictype/test-pr_id_start.c: Likewise.
20026         * tests/unictype/test-pr_ideographic.c: Likewise.
20027         * tests/unictype/test-pr_lowercase.c: Likewise.
20028         * tests/unictype/test-pr_math.c: Likewise.
20029         * tests/unictype/test-pr_numeric.c: Likewise.
20030         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20031         * tests/unictype/test-pr_other_id_continue.c: Likewise.
20032         * tests/unictype/test-pr_other_math.c: Likewise.
20033         * tests/unictype/test-pr_punctuation.c: Likewise.
20034         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20035         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20036         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20037         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20038         * tests/unictype/test-pr_uppercase.c: Likewise.
20039         * tests/unictype/test-pr_xid_continue.c: Likewise.
20040         * tests/unictype/test-pr_xid_start.c: Likewise.
20041         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20042         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20043         changes.
20044         * lib/unictype/categ_Cc.h: Likewise.
20045         * lib/unictype/categ_Cf.h: Likewise.
20046         * lib/unictype/categ_Co.h: Likewise.
20047         * lib/unictype/categ_Cs.h: Likewise.
20048         * lib/unictype/categ_Lt.h: Likewise.
20049         * lib/unictype/categ_Nl.h: Likewise.
20050         * lib/unictype/categ_Pc.h: Likewise.
20051         * lib/unictype/categ_Pd.h: Likewise.
20052         * lib/unictype/categ_Pe.h: Likewise.
20053         * lib/unictype/categ_Pf.h: Likewise.
20054         * lib/unictype/categ_Pi.h: Likewise.
20055         * lib/unictype/categ_Ps.h: Likewise.
20056         * lib/unictype/categ_Z.h: Likewise.
20057         * lib/unictype/categ_Zl.h: Likewise.
20058         * lib/unictype/categ_Zp.h: Likewise.
20059         * lib/unictype/categ_Zs.h: Likewise.
20060         * lib/unictype/ctype_blank.h: Likewise.
20061         * lib/unictype/ctype_cntrl.h: Likewise.
20062         * lib/unictype/ctype_digit.h: Likewise.
20063         * lib/unictype/ctype_space.h: Likewise.
20064         * lib/unictype/ctype_xdigit.h: Likewise.
20065         * lib/unictype/mirror.h: Likewise.
20066         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20067         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20068         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20069         * lib/unictype/pr_bidi_control.h: Likewise.
20070         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20071         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20072         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20073         * lib/unictype/pr_bidi_pdf.h: Likewise.
20074         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20075         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20076         * lib/unictype/pr_dash.h: Likewise.
20077         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20078         * lib/unictype/pr_diacritic.h: Likewise.
20079         * lib/unictype/pr_extender.h: Likewise.
20080         * lib/unictype/pr_hex_digit.h: Likewise.
20081         * lib/unictype/pr_hyphen.h: Likewise.
20082         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20083         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20084         * lib/unictype/pr_ignorable_control.h: Likewise.
20085         * lib/unictype/pr_iso_control.h: Likewise.
20086         * lib/unictype/pr_join_control.h: Likewise.
20087         * lib/unictype/pr_left_of_pair.h: Likewise.
20088         * lib/unictype/pr_line_separator.h: Likewise.
20089         * lib/unictype/pr_logical_order_exception.h: Likewise.
20090         * lib/unictype/pr_non_break.h: Likewise.
20091         * lib/unictype/pr_not_a_character.h: Likewise.
20092         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20093         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20094         * lib/unictype/pr_other_id_start.h: Likewise.
20095         * lib/unictype/pr_other_lowercase.h: Likewise.
20096         * lib/unictype/pr_other_uppercase.h: Likewise.
20097         * lib/unictype/pr_paired_punctuation.h: Likewise.
20098         * lib/unictype/pr_paragraph_separator.h: Likewise.
20099         * lib/unictype/pr_pattern_syntax.h: Likewise.
20100         * lib/unictype/pr_pattern_white_space.h: Likewise.
20101         * lib/unictype/pr_private_use.h: Likewise.
20102         * lib/unictype/pr_quotation_mark.h: Likewise.
20103         * lib/unictype/pr_radical.h: Likewise.
20104         * lib/unictype/pr_soft_dotted.h: Likewise.
20105         * lib/unictype/pr_space.h: Likewise.
20106         * lib/unictype/pr_titlecase.h: Likewise.
20107         * lib/unictype/pr_variation_selector.h: Likewise.
20108         * lib/unictype/pr_white_space.h: Likewise.
20109         * lib/unictype/pr_zero_width.h: Likewise.
20110         * lib/unictype/sy_c_ident.h: Likewise.
20111         * lib/unictype/sy_c_whitespace.h: Likewise.
20112         * lib/unictype/sy_java_whitespace.h: Likewise.
20113         * lib/uninorm/composition-table.gperf: Likewise.
20114         * lib/uninorm/decomposition-table1.h: Likewise.
20115         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
20116         LB8.
20117         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20118         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20119         * modules/unictype/*: Bump version number of expected libunistring
20120         version.
20121
20122 2011-01-09  Bruno Haible  <bruno@clisp.org>
20123
20124         Update to Unicode 5.2.0.
20125         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
20126         trailing whitespace removed.
20127
20128 2011-01-09  Bruno Haible  <bruno@clisp.org>
20129
20130         New Unicode character properties, from Unicode 5.2.0.
20131         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
20132         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
20133         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
20134         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
20135         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
20136         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
20137         uc_is_property_cased, uc_is_property_case_ignorable,
20138         uc_is_property_changes_when_lowercased,
20139         uc_is_property_changes_when_uppercased,
20140         uc_is_property_changes_when_titlecased,
20141         uc_is_property_changes_when_casefolded,
20142         uc_is_property_changes_when_casemapped): New declarations.
20143         * lib/unictype/pr_byname.gperf: Add the new properties.
20144         * modules/unictype/property-byname (Depends-on): Depend on the new
20145         properties modules.
20146         * modules/unictype/property-all (Depends-on): Likewise.
20147         * MODULES.html.sh (Unicode string functions): Add
20148         unictype/property-case-ignorable, unictype/property-cased,
20149         unictype/property-changes-when-casefolded,
20150         unictype/property-changes-when-casemapped,
20151         unictype/property-changes-when-lowercased,
20152         unictype/property-changes-when-titlecased,
20153         unictype/property-changes-when-uppercased.
20154
20155         New module 'unictype/property-changes-when-casemapped'.
20156         * modules/unictype/property-changes-when-casemapped: New file.
20157         * lib/unictype/pr_changes_when_casemapped.c: New file.
20158         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
20159         generated by gen-uni-tables.
20160         * modules/unictype/property-changes-when-casemapped-tests: New file.
20161         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
20162         automatically generated by gen-uni-tables.
20163
20164         New module 'unictype/property-changes-when-casefolded'.
20165         * modules/unictype/property-changes-when-casefolded: New file.
20166         * lib/unictype/pr_changes_when_casefolded.c: New file.
20167         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
20168         generated by gen-uni-tables.
20169         * modules/unictype/property-changes-when-casefolded-tests: New file.
20170         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
20171         automatically generated by gen-uni-tables.
20172
20173         New module 'unictype/property-changes-when-titlecased'.
20174         * modules/unictype/property-changes-when-titlecased: New file.
20175         * lib/unictype/pr_changes_when_titlecased.c: New file.
20176         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
20177         generated by gen-uni-tables.
20178         * modules/unictype/property-changes-when-titlecased-tests: New file.
20179         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
20180         automatically generated by gen-uni-tables.
20181
20182         New module 'unictype/property-changes-when-uppercased'.
20183         * modules/unictype/property-changes-when-uppercased: New file.
20184         * lib/unictype/pr_changes_when_uppercased.c: New file.
20185         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
20186         generated by gen-uni-tables.
20187         * modules/unictype/property-changes-when-uppercased-tests: New file.
20188         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
20189         automatically generated by gen-uni-tables.
20190
20191         New module 'unictype/property-changes-when-lowercased'.
20192         * modules/unictype/property-changes-when-lowercased: New file.
20193         * lib/unictype/pr_changes_when_lowercased.c: New file.
20194         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
20195         generated by gen-uni-tables.
20196         * modules/unictype/property-changes-when-lowercased-tests: New file.
20197         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
20198         automatically generated by gen-uni-tables.
20199
20200         New module 'unictype/property-case-ignorable'.
20201         * modules/unictype/property-case-ignorable: New file.
20202         * lib/unictype/pr_case_ignorable.c: New file.
20203         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
20204         by gen-uni-tables.
20205         * modules/unictype/property-case-ignorable-tests: New file.
20206         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
20207         generated by gen-uni-tables.
20208
20209         New module 'unictype/property-cased'.
20210         * modules/unictype/property-cased: New file.
20211         * lib/unictype/pr_cased.c: New file.
20212         * lib/unictype/pr_cased.h: New file, automatically generated by
20213         gen-uni-tables.
20214         * modules/unictype/property-cased-tests: New file.
20215         * tests/unictype/test-pr_cased.c: New file, automatically generated by
20216         gen-uni-tables.
20217
20218 2011-01-09  Bruno Haible  <bruno@clisp.org>
20219
20220         Update to Unicode 5.2.0.
20221         * lib/gen-uni-tables.c (output_predicate, output_category,
20222         output_combclass, output_bidi_category, output_decimal_digit_test,
20223         output_decimal_digit, output_digit_test, output_digit,
20224         output_numeric_test, output_numeric, output_mirror, output_scripts,
20225         output_scripts_byname, output_blocks, output_ident_category): Fix
20226         comment header.
20227         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
20228         get_wbp.
20229         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
20230         items.
20231         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
20232         Changes_When_Lowercased, Changes_When_Uppercased,
20233         Changes_When_Titlecased, Changes_When_Casefolded,
20234         Changes_When_Casemapped.
20235         (is_property_alphabetic, is_property_default_ignorable_code_point):
20236         Update for Unicode 5.2.0.
20237         (is_property_cased, is_property_case_ignorable,
20238         is_property_changes_when_lowercased,
20239         is_property_changes_when_uppercased,
20240         is_property_changes_when_titlecased,
20241         is_property_changes_when_casefolded,
20242         is_property_changes_when_casemapped): New functions.
20243         (output_properties): Output also the properties cased, case_ignorable,
20244         changes_when_lowercased, changes_when_uppercased,
20245         changes_when_titlecased, changes_when_casefolded,
20246         changes_when_casemapped.
20247         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
20248         Unicode TR#11 revision 17 -> 19.
20249         (LBP_CP): New enumeration value.
20250         (LBP_*): Adjust values accordingly.
20251         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20252         TR#14 revision 22 -> 24.
20253         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
20254         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
20255         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20256         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
20257         is_WBP_MIDLETTER.
20258         (output_composition_tables): Allow for 24 bits instead of 16 bits in
20259         the code1 and code2 of each composition rule.
20260         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
20261         * lib/unicase/ignorable.h: Likewise.
20262         * lib/unicase/tocasefold.h: Likewise.
20263         * lib/unicase/tolower.h: Likewise.
20264         * lib/unicase/totitle.h: Likewise.
20265         * lib/unicase/toupper.h: Likewise.
20266         * lib/unictype/bidi_of.h: Likewise.
20267         * lib/unictype/blocks.h: Likewise.
20268         * lib/unictype/categ_C.h: Likewise.
20269         * lib/unictype/categ_Cf.h: Likewise.
20270         * lib/unictype/categ_Cn.h: Likewise.
20271         * lib/unictype/categ_L.h: Likewise.
20272         * lib/unictype/categ_Ll.h: Likewise.
20273         * lib/unictype/categ_Lm.h: Likewise.
20274         * lib/unictype/categ_Lo.h: Likewise.
20275         * lib/unictype/categ_Lu.h: Likewise.
20276         * lib/unictype/categ_M.h: Likewise.
20277         * lib/unictype/categ_Mc.h: Likewise.
20278         * lib/unictype/categ_Mn.h: Likewise.
20279         * lib/unictype/categ_N.h: Likewise.
20280         * lib/unictype/categ_Nd.h: Likewise.
20281         * lib/unictype/categ_Nl.h: Likewise.
20282         * lib/unictype/categ_No.h: Likewise.
20283         * lib/unictype/categ_P.h: Likewise.
20284         * lib/unictype/categ_Pd.h: Likewise.
20285         * lib/unictype/categ_Po.h: Likewise.
20286         * lib/unictype/categ_S.h: Likewise.
20287         * lib/unictype/categ_Sc.h: Likewise.
20288         * lib/unictype/categ_So.h: Likewise.
20289         * lib/unictype/categ_of.h: Likewise.
20290         * lib/unictype/combining.h: Likewise.
20291         * lib/unictype/ctype_alnum.h: Likewise.
20292         * lib/unictype/ctype_alpha.h: Likewise.
20293         * lib/unictype/ctype_graph.h: Likewise.
20294         * lib/unictype/ctype_lower.h: Likewise.
20295         * lib/unictype/ctype_print.h: Likewise.
20296         * lib/unictype/ctype_punct.h: Likewise.
20297         * lib/unictype/ctype_upper.h: Likewise.
20298         * lib/unictype/decdigit.h: Likewise.
20299         * lib/unictype/digit.h: Likewise.
20300         * lib/unictype/numeric.h: Likewise.
20301         * lib/unictype/pr_alphabetic.h: Likewise.
20302         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20303         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20304         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20305         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20306         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20307         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20308         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20309         * lib/unictype/pr_combining.h: Likewise.
20310         * lib/unictype/pr_composite.h: Likewise.
20311         * lib/unictype/pr_currency_symbol.h: Likewise.
20312         * lib/unictype/pr_dash.h: Likewise.
20313         * lib/unictype/pr_decimal_digit.h: Likewise.
20314         * lib/unictype/pr_deprecated.h: Likewise.
20315         * lib/unictype/pr_diacritic.h: Likewise.
20316         * lib/unictype/pr_extender.h: Likewise.
20317         * lib/unictype/pr_grapheme_base.h: Likewise.
20318         * lib/unictype/pr_grapheme_extend.h: Likewise.
20319         * lib/unictype/pr_grapheme_link.h: Likewise.
20320         * lib/unictype/pr_id_continue.h: Likewise.
20321         * lib/unictype/pr_id_start.h: Likewise.
20322         * lib/unictype/pr_ideographic.h: Likewise.
20323         * lib/unictype/pr_ignorable_control.h: Likewise.
20324         * lib/unictype/pr_logical_order_exception.h: Likewise.
20325         * lib/unictype/pr_lowercase.h: Likewise.
20326         * lib/unictype/pr_numeric.h: Likewise.
20327         * lib/unictype/pr_other_alphabetic.h: Likewise.
20328         * lib/unictype/pr_punctuation.h: Likewise.
20329         * lib/unictype/pr_sentence_terminal.h: Likewise.
20330         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20331         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20332         * lib/unictype/pr_unified_ideograph.h: Likewise.
20333         * lib/unictype/pr_uppercase.h: Likewise.
20334         * lib/unictype/pr_xid_continue.h: Likewise.
20335         * lib/unictype/pr_xid_start.h: Likewise.
20336         * lib/unictype/pr_zero_width.h: Likewise.
20337         * lib/unictype/scripts.h: Likewise.
20338         * lib/unictype/scripts_byname.gperf: Likewise.
20339         * lib/unictype/sy_java_ident.h: Likewise.
20340         * lib/unigbrk/gbrkprop.h: Likewise.
20341         * lib/unilbrk/lbrkprop1.h: Likewise.
20342         * lib/unilbrk/lbrkprop2.h: Likewise.
20343         * lib/unilbrk/lbrktables.h: Likewise.
20344         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
20345         LBP_CP. Implement rule LB30.
20346         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
20347         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
20348         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
20349         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
20350         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
20351         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
20352         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
20353         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
20354         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
20355         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
20356         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
20357         bits instead of 16 bits in the code1 and code2 of each composition
20358         rule.
20359         (uc_composition): Update for Unicode 5.2.0.
20360         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
20361         * lib/uninorm/decomposition-table2.h: Likewise.
20362         * lib/uniwbrk/wbrkprop.h: Likewise.
20363         * tests/unicase/test-cased.c: Likewise.
20364         * tests/unicase/test-ignorable.c: Likewise.
20365         * tests/unicase/test-uc_tolower.c: Likewise.
20366         * tests/unicase/test-uc_totitle.c: Likewise.
20367         * tests/unicase/test-uc_toupper.c: Likewise.
20368         * tests/unictype/test-categ_C.c: Likewise.
20369         * tests/unictype/test-categ_Cf.c: Likewise.
20370         * tests/unictype/test-categ_Cn.c: Likewise.
20371         * tests/unictype/test-categ_L.c: Likewise.
20372         * tests/unictype/test-categ_Ll.c: Likewise.
20373         * tests/unictype/test-categ_Lm.c: Likewise.
20374         * tests/unictype/test-categ_Lo.c: Likewise.
20375         * tests/unictype/test-categ_Lu.c: Likewise.
20376         * tests/unictype/test-categ_M.c: Likewise.
20377         * tests/unictype/test-categ_Mc.c: Likewise.
20378         * tests/unictype/test-categ_Mn.c: Likewise.
20379         * tests/unictype/test-categ_N.c: Likewise.
20380         * tests/unictype/test-categ_Nd.c: Likewise.
20381         * tests/unictype/test-categ_Nl.c: Likewise.
20382         * tests/unictype/test-categ_No.c: Likewise.
20383         * tests/unictype/test-categ_P.c: Likewise.
20384         * tests/unictype/test-categ_Pd.c: Likewise.
20385         * tests/unictype/test-categ_Po.c: Likewise.
20386         * tests/unictype/test-categ_S.c: Likewise.
20387         * tests/unictype/test-categ_Sc.c: Likewise.
20388         * tests/unictype/test-categ_So.c: Likewise.
20389         * tests/unictype/test-ctype_alnum.c: Likewise.
20390         * tests/unictype/test-ctype_alpha.c: Likewise.
20391         * tests/unictype/test-ctype_graph.c: Likewise.
20392         * tests/unictype/test-ctype_lower.c: Likewise.
20393         * tests/unictype/test-ctype_print.c: Likewise.
20394         * tests/unictype/test-ctype_punct.c: Likewise.
20395         * tests/unictype/test-ctype_upper.c: Likewise.
20396         * tests/unictype/test-decdigit.h: Likewise.
20397         * tests/unictype/test-digit.h: Likewise.
20398         * tests/unictype/test-numeric.h: Likewise.
20399         * tests/unictype/test-pr_alphabetic.c: Likewise.
20400         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20401         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20402         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
20403         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20404         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20405         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20406         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20407         * tests/unictype/test-pr_combining.c: Likewise.
20408         * tests/unictype/test-pr_composite.c: Likewise.
20409         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20410         * tests/unictype/test-pr_dash.c: Likewise.
20411         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20412         * tests/unictype/test-pr_deprecated.c: Likewise.
20413         * tests/unictype/test-pr_diacritic.c: Likewise.
20414         * tests/unictype/test-pr_extender.c: Likewise.
20415         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20416         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20417         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20418         * tests/unictype/test-pr_id_continue.c: Likewise.
20419         * tests/unictype/test-pr_id_start.c: Likewise.
20420         * tests/unictype/test-pr_ideographic.c: Likewise.
20421         * tests/unictype/test-pr_ignorable_control.c: Likewise.
20422         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
20423         * tests/unictype/test-pr_lowercase.c: Likewise.
20424         * tests/unictype/test-pr_numeric.c: Likewise.
20425         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20426         * tests/unictype/test-pr_punctuation.c: Likewise.
20427         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20428         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20429         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20430         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20431         * tests/unictype/test-pr_uppercase.c: Likewise.
20432         * tests/unictype/test-pr_xid_continue.c: Likewise.
20433         * tests/unictype/test-pr_xid_start.c: Likewise.
20434         * tests/unictype/test-pr_zero_width.c: Likewise.
20435         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20436         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
20437         changed behaviour: line breaking is now disallowed between a letter
20438         or '=' and '('.
20439         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20440         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20441         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
20442         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
20443         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20444         lib/uniwidth/width.c.
20445         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
20446         without comments, but with the original copyright notice.
20447         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20448         changes.
20449         * lib/unictype/categ_Cc.h: Likewise.
20450         * lib/unictype/categ_Co.h: Likewise.
20451         * lib/unictype/categ_Cs.h: Likewise.
20452         * lib/unictype/categ_Lt.h: Likewise.
20453         * lib/unictype/categ_Me.h: Likewise.
20454         * lib/unictype/categ_Pc.h: Likewise.
20455         * lib/unictype/categ_Pe.h: Likewise.
20456         * lib/unictype/categ_Pf.h: Likewise.
20457         * lib/unictype/categ_Pi.h: Likewise.
20458         * lib/unictype/categ_Ps.h: Likewise.
20459         * lib/unictype/categ_Sk.h: Likewise.
20460         * lib/unictype/categ_Sm.h: Likewise.
20461         * lib/unictype/categ_Z.h: Likewise.
20462         * lib/unictype/categ_Zl.h: Likewise.
20463         * lib/unictype/categ_Zp.h: Likewise.
20464         * lib/unictype/categ_Zs.h: Likewise.
20465         * lib/unictype/ctype_blank.h: Likewise.
20466         * lib/unictype/ctype_cntrl.h: Likewise.
20467         * lib/unictype/ctype_digit.h: Likewise.
20468         * lib/unictype/ctype_space.h: Likewise.
20469         * lib/unictype/ctype_xdigit.h: Likewise.
20470         * lib/unictype/mirror.h: Likewise.
20471         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20472         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20473         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20474         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20475         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20476         * lib/unictype/pr_bidi_control.h: Likewise.
20477         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20478         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20479         * lib/unictype/pr_bidi_pdf.h: Likewise.
20480         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20481         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20482         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20483         * lib/unictype/pr_format_control.h: Likewise.
20484         * lib/unictype/pr_hex_digit.h: Likewise.
20485         * lib/unictype/pr_hyphen.h: Likewise.
20486         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20487         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20488         * lib/unictype/pr_iso_control.h: Likewise.
20489         * lib/unictype/pr_join_control.h: Likewise.
20490         * lib/unictype/pr_left_of_pair.h: Likewise.
20491         * lib/unictype/pr_line_separator.h: Likewise.
20492         * lib/unictype/pr_math.h: Likewise.
20493         * lib/unictype/pr_non_break.h: Likewise.
20494         * lib/unictype/pr_not_a_character.h: Likewise.
20495         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20496         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20497         * lib/unictype/pr_other_id_continue.h: Likewise.
20498         * lib/unictype/pr_other_id_start.h: Likewise.
20499         * lib/unictype/pr_other_lowercase.h: Likewise.
20500         * lib/unictype/pr_other_math.h: Likewise.
20501         * lib/unictype/pr_other_uppercase.h: Likewise.
20502         * lib/unictype/pr_paired_punctuation.h: Likewise.
20503         * lib/unictype/pr_paragraph_separator.h: Likewise.
20504         * lib/unictype/pr_pattern_syntax.h: Likewise.
20505         * lib/unictype/pr_pattern_white_space.h: Likewise.
20506         * lib/unictype/pr_private_use.h: Likewise.
20507         * lib/unictype/pr_quotation_mark.h: Likewise.
20508         * lib/unictype/pr_radical.h: Likewise.
20509         * lib/unictype/pr_soft_dotted.h: Likewise.
20510         * lib/unictype/pr_space.h: Likewise.
20511         * lib/unictype/pr_titlecase.h: Likewise.
20512         * lib/unictype/pr_variation_selector.h: Likewise.
20513         * lib/unictype/pr_white_space.h: Likewise.
20514         * lib/unictype/sy_c_ident.h: Likewise.
20515         * lib/unictype/sy_c_whitespace.h: Likewise.
20516         * lib/unictype/sy_java_whitespace.h: Likewise.
20517         * modules/uni*/*: Bump version number of expected libunistring version.
20518         Reported by Simon Josefsson.
20519
20520 2011-01-09  Karl Heuer  <kwzh@gnu.org>
20521
20522         useless-if-before-free: fix typo in --help and make the internal,
20523         automatic version date update process work once again.
20524         --help output contained a NUL character instead of the
20525         backslash-zero that was intended.  Also, the "must lie within
20526         the first 8 lines" line is on line 9, and hence not getting
20527         automatically updated.
20528         * build-aux/useless-if-before-free: Fix the former by adding a
20529         backslash, and the latter by condensing the three lines of what-it-does
20530         to a single line, leaving one line of slack for the future.
20531
20532 2011-01-09  Bruno Haible  <bruno@clisp.org>
20533
20534         uniwidth/width: Fix width of U+1D173..U+1D17A.
20535         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
20536         symbolic_width, output_width_property_test): New functions.
20537         (main): Invoke output_nonspacing_property, output_width_property_test.
20538         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
20539         U+1D173..U+1D17A.
20540         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
20541         1.
20542         * modules/uniwidth/*: Bump version number of expected libunistring
20543         version.
20544         * modules/unilbrk/*: Likewise.
20545
20546 2011-01-08  Bruno Haible  <bruno@clisp.org>
20547
20548         uninorm tests: Preserve copyright of Unicode data file.
20549         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
20550         Mention modifications.
20551
20552 2011-01-08  Bruno Haible  <bruno@clisp.org>
20553
20554         gen-uni-tables: Prepare for Unicode 5.2.0.
20555         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
20556         (debug_output_lbp, output_lbp): Update.
20557
20558 2011-01-08  Bruno Haible  <bruno@clisp.org>
20559
20560         unilbrk: Clarify gen-uni-tables.c code.
20561         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
20562         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
20563         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
20564
20565 2011-01-07  Bruno Haible  <bruno@clisp.org>
20566
20567         strtod: Restore errno when successfully parsing Infinity or NaN.
20568         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
20569         restore the original errno.
20570
20571 2011-01-07  Bruno Haible  <bruno@clisp.org>
20572
20573         remove test: Avoid failure on HP-UX 11.
20574         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
20575
20576 2011-01-07  Bruno Haible  <bruno@clisp.org>
20577
20578         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
20579         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
20580         error code.
20581
20582 2011-01-07  Pádraig Brady <P@draigBrady.com>
20583
20584         ignore-value: fixup comments, and add Eric Blake
20585         as an author since he rewrote the macros.
20586         * lib/ignore-value.h (ignore_value):  State that
20587         we now support aggregates.  Also specify exactly
20588         when the GCC warn_unused_result feature was added.
20589
20590 2011-01-06  Eric Blake  <eblake@redhat.com>
20591
20592         ignore-value: support aggregate types
20593         * lib/ignore-value.h (ignore_value): Provide separate gcc
20594         definition.
20595         * modules/ignore-value-tests: New test module.
20596         * tests/test-ignore-value.c: New test.
20597
20598         maint.mk: improve sc_prohibit_strcmp regex
20599         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
20600         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
20601         definition of STRNEQ.
20602
20603         signal: work around Haiku issue with SIGBUS
20604         * lib/siglist.h: Add comment.
20605         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
20606         strsignal's favoring of SIGSEGV.
20607         * tests/test-signal.c (main): Avoid test failure.
20608         * doc/posix-headers/signal.texi (signal.h): Document the issue.
20609         Reported by Scott McCreary.
20610
20611         maint.mk: add pre-release check to ensure submodule commits are public
20612         * top/maint.mk (public-submodule-commit): New rule.
20613         (submodule-checks): New variable.
20614         (alpha beta stable): Depend on the variable.
20615
20616 2011-01-05  Pádraig Brady <P@draigBrady.com>
20617         and Jim Meyering  <meyering@redhat.com>
20618
20619         ignore-value: make ignore_value more generic; deprecate ignore_ptr
20620         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
20621         (ATTRIBUTE_DEPRECATED): Define.
20622         (_ignore_case): New function.
20623         (ignore_value): New macro, to replace the old function.
20624         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
20625         * modules/ignore-value (Depends-on): Add stdint.
20626
20627 2011-01-04  Eric Blake  <eblake@redhat.com>
20628
20629         doc: regenerate INSTALL
20630         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
20631         @firstparagraphindent support, now that autoconf dropped it.
20632         (INSTALL_PRELUDE): Reinstate old macro.
20633         * doc/install.texi: Resync from autoconf.
20634         * doc/INSTALL: Reflect recent autoconf update.
20635         * doc/INSTALL.ISO: Likewise.
20636         * doc/INSTALL.UTF-8: Likewise.
20637         Reported by Karl Berry.
20638
20639 2011-01-04  Bruce Korb  <address@hidden>
20640
20641         git-version-gen: avoid a sub-shell
20642         * build-aux/git-version-gen: Redirect stderr in `...` via
20643         "exec 2>...", rather than via an added sub-shell.
20644
20645 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
20646
20647         git-version-gen: use (...) rather than sh -c '...'
20648         * build-aux/git-version-gen: Rather than hard-coding a shell's name
20649         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
20650
20651 2011-01-03  Jim Meyering  <meyering@redhat.com>
20652
20653         git-version-gen: convert leading TABs to spaces
20654         * build-aux/git-version-gen: Expand leading TABs.
20655
20656         git-version-gen: handle failed "git rev-list"
20657         * build-aux/git-version-gen: Rather than leaking a "fatal" error
20658         from git and proceeding as if it had succeeded but printed no SHA1
20659         checksums, suppress the diagnostic and handle the failure.
20660         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
20661
20662         git-version-gen: include command name in one more diagnostic
20663         * build-aux/git-version-gen: When the required .tarball-version file
20664         was missing or unreadable, you might see the diagnostic from "cat",
20665         but no trace of the name of the invoking script.  Now, you still see
20666         the diagnostic from cat, but also get one from "git-version-gen: ".
20667         Inspired by a patch from Bruce Korb.
20668
20669         update-copyright: adjust test to match changed code
20670         * tests/test-update-copyright.sh: Change test's expected output
20671         to match new actual output.
20672
20673 2011-01-02  Bruno Haible  <bruno@clisp.org>
20674
20675         getlogin_r: Avoid test failure on HP-UX 11.
20676         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
20677         ERANGE when the second argument is zero.
20678         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
20679         portability problem.
20680
20681 2011-01-02  Bruce Korb  <bkorb@gnu.org>
20682
20683         * build-aux/update-copyright: doc Simon's changes
20684
20685 2011-01-02  Simon Josefsson  <simon@josefsson.org>
20686
20687         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
20688         environment variable.
20689
20690 2011-01-02  Bruno Haible  <bruno@clisp.org>
20691
20692         unigbrk: Avoid gcc warnings.
20693         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
20694         unused variable.
20695         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
20696         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
20697         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
20698         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
20699         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
20700         Change type of first argument to 'const char *'.
20701         (main): Remove unused variable.
20702         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
20703         type of first argument to 'const char *'.
20704         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
20705         Likewise.
20706         (main): Change type of variable 's'.
20707         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
20708         to 'int'.
20709
20710 2011-01-02  Bruno Haible  <bruno@clisp.org>
20711
20712         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
20713         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
20714         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
20715         bug.
20716         * lib/pwrite.c: Undo 2010-12-31 patch.
20717         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
20718
20719 2011-01-02  Bruno Haible  <bruno@clisp.org>
20720
20721         pread: Fix test whether it works.
20722         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
20723
20724 2011-01-02  Bruno Haible  <bruno@clisp.org>
20725
20726         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
20727         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
20728         ends in "6". Don't require a specific month name. Try also the locale
20729         names found on HP-UX 11 and Solaris 7.
20730
20731 2011-01-02  Bruno Haible  <bruno@clisp.org>
20732
20733         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
20734         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
20735         C linkage.
20736         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
20737
20738 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20739
20740         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
20741         for consistency, since the "cluster" term is not used elsewhere.
20742         * lib/unigbrk.in.h: Update name.
20743         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
20744         * lib/unigbrk/u16-grapheme-next.c: Update name.
20745         * lib/unigbrk/u16-grapheme-prev.c: Update name.
20746         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
20747         * lib/unigbrk/u32-grapheme-next.c: Update name.
20748         * lib/unigbrk/u32-grapheme-prev.c: Update name.
20749         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
20750         * lib/unigbrk/u8-grapheme-next.c: Update name.
20751         * lib/unigbrk/u8-grapheme-prev.c: Update name.
20752         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
20753         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
20754         Suggested by Bruno Haible.
20755
20756 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20757
20758         Remove module 'u8-grapheme-len' as too redundant with
20759         'u8-grapheme-next'.
20760         * modules/unigbrk/u8-grapheme-len: Delete file.
20761         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
20762         * lib/unigbrk.in.h: Remove prototype for deleted function.
20763         * lib/unigbrk/u8-grapheme-len.c: Delete file.
20764         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
20765
20766         Remove module 'u16-grapheme-len' as too redundant with
20767         'u16-grapheme-next'.
20768         * modules/unigbrk/u16-grapheme-len: Delete file.
20769         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
20770         * lib/unigbrk.in.h: Remove prototype for deleted function.
20771         * lib/unigbrk/u16-grapheme-len.c: Delete file.
20772         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
20773
20774         Remove module 'u32-grapheme-len' as too redundant with
20775         'u32-grapheme-next'.
20776         * modules/unigbrk/u32-grapheme-len: Delete file.
20777         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
20778         * lib/unigbrk.in.h: Remove prototype for deleted function.
20779         * lib/unigbrk/u32-grapheme-len.c: Delete file.
20780         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
20781
20782         Suggested by Bruno Haible.
20783
20784 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20785
20786         * unigbrk.in.h: Fix typo: "ben" => "been".
20787         Reported by Bruno Haible.
20788
20789 2011-01-01  Jim Meyering  <meyering@redhat.com>
20790
20791         maint: update almost all copyright ranges to include 2011
20792         Run the new "make update-copyright" rule.
20793
20794 2011-01-01  Jim Meyering  <meyering@redhat.com>
20795
20796         maint: update-copyright: exempt doc/INSTALL*
20797         * Makefile (update-copyright): Also exclude doc/INSTALL*,
20798         since they are generated.  Suggested by Bruno Haible.
20799
20800 2011-01-01  Jim Meyering  <meyering@redhat.com>
20801
20802         maint: refine the update-copyright rule
20803         * Makefile (update-copyright): Also exclude any file that includes
20804         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
20805         code that merely generates the comment.
20806
20807 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20808
20809         New module 'u8-grapheme-len'.
20810         * modules/unigbrk/u8-grapheme-len: New file.
20811         * modules/unigbrk/u8-grapheme-len-tests: New file.
20812         * lib/unigbrk.in.h: Add prototype for new function.
20813         * lib/unigbrk/u8-grapheme-len.c: New file.
20814         * tests/unigbrk/test-u8-grapheme-len.c: New file.
20815
20816         New module 'u16-grapheme-len'.
20817         * modules/unigbrk/u16-grapheme-len: New file.
20818         * modules/unigbrk/u16-grapheme-len-tests: New file.
20819         * lib/unigbrk.in.h: Add prototype for new function.
20820         * lib/unigbrk/u16-grapheme-len.c: New file.
20821         * tests/unigbrk/test-u16-grapheme-len.c: New file.
20822
20823         New module 'u32-grapheme-len'.
20824         * modules/unigbrk/u32-grapheme-len: New file.
20825         * modules/unigbrk/u32-grapheme-len-tests: New file.
20826         * lib/unigbrk.in.h: Add prototype for new function.
20827         * lib/unigbrk/u32-grapheme-len.c: New file.
20828         * tests/unigbrk/test-u32-grapheme-len.c: New file.
20829
20830         New module 'u8-grapheme-next'.
20831         * modules/unigbrk/u8-grapheme-next: New file.
20832         * modules/unigbrk/u8-grapheme-next-tests: New file.
20833         * lib/unigbrk.in.h: Add prototype for new function.
20834         * lib/unigbrk/u8-grapheme-next.c: New file.
20835         * tests/unigbrk/test-u8-grapheme-next.c: New file.
20836
20837         New module 'u16-grapheme-next'.
20838         * modules/unigbrk/u16-grapheme-next: New file.
20839         * modules/unigbrk/u16-grapheme-next-tests: New file.
20840         * lib/unigbrk.in.h: Add prototype for new function.
20841         * lib/unigbrk/u16-grapheme-next.c: New file.
20842         * tests/unigbrk/test-u16-grapheme-next.c: New file.
20843
20844         New module 'u32-grapheme-next'.
20845         * modules/unigbrk/u32-grapheme-next: New file.
20846         * modules/unigbrk/u32-grapheme-next-tests: New file.
20847         * lib/unigbrk.in.h: Add prototype for new function.
20848         * lib/unigbrk/u32-grapheme-next.c: New file.
20849         * tests/unigbrk/test-u32-grapheme-next.c: New file.
20850
20851         New module 'u8-grapheme-prev'.
20852         * modules/unigbrk/u8-grapheme-prev: New file.
20853         * modules/unigbrk/u8-grapheme-prev-tests: New file.
20854         * lib/unigbrk.in.h: Add prototype for new function.
20855         * lib/unigbrk/u8-grapheme-prev.c: New file.
20856         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
20857
20858         New module 'u16-grapheme-prev'.
20859         * modules/unigbrk/u16-grapheme-prev: New file.
20860         * modules/unigbrk/u16-grapheme-prev-tests: New file.
20861         * lib/unigbrk.in.h: Add prototype for new function.
20862         * lib/unigbrk/u16-grapheme-prev.c: New file.
20863         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
20864
20865         New module 'u32-grapheme-prev'.
20866         * modules/unigbrk/u32-grapheme-prev: New file.
20867         * modules/unigbrk/u32-grapheme-prev-tests: New file.
20868         * lib/unigbrk.in.h: Add prototype for new function.
20869         * lib/unigbrk/u32-grapheme-prev.c: New file.
20870         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
20871
20872         New module 'u8-grapheme-breaks'.
20873         * modules/unigbrk/u8-grapheme-breaks: New file.
20874         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
20875         * lib/unigbrk.in.h: Add prototype for new function.
20876         * lib/unigbrk/u8-grapheme-breaks.c: New file.
20877         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
20878
20879         New module 'u16-grapheme-breaks'.
20880         * modules/unigbrk/u16-grapheme-breaks: New file.
20881         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
20882         * lib/unigbrk.in.h: Add prototype for new function.
20883         * lib/unigbrk/u16-grapheme-breaks.c: New file.
20884         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
20885
20886         New module 'u32-grapheme-breaks'.
20887         * modules/unigbrk/u32-grapheme-breaks: New file.
20888         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
20889         * lib/unigbrk.in.h: Add prototype for new function.
20890         * lib/unigbrk/u32-grapheme-breaks.c: New file.
20891         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
20892
20893         New module 'ulc-grapheme-breaks'.
20894         * modules/unigbrk/ulc-grapheme-breaks: New file.
20895         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
20896         * m4/locale-ar.m4: New file.
20897         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
20898         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
20899         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
20900
20901 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20902
20903         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
20904         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
20905         modified how this file was generated before I initially submitted
20906         the module, but failed to regenerate it.  This meant that several
20907         of the level2 entries were wrong.
20908         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
20909         Remove the division-by-2 that is folded into the table now that
20910         gbrkprop.h has been regenerated properly.  Now -1 entries are
20911         handled correctly.
20912
20913         New module 'unigbrk/uc-gbrk-prop-tests'.
20914         * modules/unigbrk/uc-gbrk-prop-tests: New file.
20915         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
20916         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
20917         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
20918
20919 2011-01-01  Bruno Haible  <bruno@clisp.org>
20920
20921         Avoid use of hexadecimal escapes.
20922         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
20923         instead of hexadecimal escapes.
20924
20925 2011-01-01  Jim Meyering  <meyering@redhat.com>
20926
20927         maint: new rule to update copyright year ranges
20928         * Makefile (update-copyright): New rule.
20929
20930         maint: indent with TABs in Makefile
20931         * Makefile: Expand leading sequences of spaces to TABs
20932
20933         version-etc: update the copyright year it reports
20934         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
20935
20936 2010-12-31  Bruno Haible  <bruno@clisp.org>
20937
20938         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
20939         * lib/isfinite.c (zerof, zerod, zerol): New variables.
20940         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
20941         zero.
20942
20943 2010-12-31  Bruno Haible  <bruno@clisp.org>
20944
20945         pwrite: Work around HP-UX 11.11 bug.
20946         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
20947         works and set REPLACE_PWRITE if not.
20948         * lib/pwrite.c (pwrite): Add an implementation that uses the system
20949         function.
20950         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
20951
20952 2010-12-31  Bruno Haible  <bruno@clisp.org>
20953
20954         pread: Work around HP-UX 11 bugs.
20955         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
20956         and set REPLACE_PREAD if not.
20957         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
20958
20959 2010-12-31  Eric Blake  <eblake@redhat.com>
20960
20961         nl_langinfo: fix YESEXPR on Irix 6.5
20962         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
20963         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
20964         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
20965         it.
20966
20967 2010-12-31  Bruno Haible  <bruno@clisp.org>
20968
20969         iconv: Document HP-UX 11 bug.
20970         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
20971
20972 2010-12-31  Bruno Haible  <bruno@clisp.org>
20973
20974         ldexpl: Fix link error on HP-UX 11.
20975         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
20976         LDEXPL_LIBM, using $ISNANL_LIBM.
20977
20978 2010-12-31  Eric Blake  <eblake@redhat.com>
20979
20980         ftello: avoid compilation failure with SunStudio c89
20981         * lib/ftello.c (ftello): Use lseek, not llseek.
20982
20983         tests: avoid failing coreutils tests on cygwin
20984         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
20985         (create_exe_shims_): Return 0 when skipping.
20986
20987 2010-12-31  Bruno Haible  <bruno@clisp.org>
20988
20989         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
20990         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
20991
20992 2010-12-31  Bruno Haible  <bruno@clisp.org>
20993
20994         waitpid: Fix link error in C++ mode.
20995         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
20996
20997 2010-12-31  Bruno Haible  <bruno@clisp.org>
20998
20999         isnan: Use GCC built-ins when possible.
21000         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
21001         __builtin_isnan.
21002         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
21003         (isnan): Define using GCC built-ins for GCC >= 4.0.
21004
21005 2010-12-31  Bruno Haible  <bruno@clisp.org>
21006
21007         isnand: Fix mistake.
21008         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
21009         __builtin_isnand.
21010
21011 2010-12-31  Bruno Haible  <bruno@clisp.org>
21012
21013         open: Avoid C++ error on HP-UX 11.
21014         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
21015
21016 2010-12-31  Bruno Haible  <bruno@clisp.org>
21017
21018         time_r: Add missing declarations on HP-UX 11.
21019         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
21020         instead of HAVE_LOCALTIME_R.
21021         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
21022         HAVE_LOCALTIME_R always.
21023         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
21024         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
21025         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
21026         HAVE_LOCALTIME_R.
21027         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
21028         * doc/posix-functions/localtime_r.texi: Likewise.
21029
21030 2010-12-29  Eric Blake  <eblake@redhat.com>
21031
21032         mountlist: tweak previous commit
21033         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
21034         Reported by Paul Eggert.
21035
21036         mountlist: fix local drive detection on cygwin
21037         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
21038         that works for cygwin.
21039
21040 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
21041
21042         ftoastr, snprintf: ftoastr + snprintf module
21043         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
21044         since the snprintf module now should be good enough here.
21045         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
21046         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
21047         and gl_MODULE_INDICATOR([snprintf]), but the former enables
21048         GNULIB_SNPRINTF only for the test directory, and the latter
21049         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
21050         seems to suffice by itself.
21051
21052 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
21053
21054         alloca: one step towards thread-safety
21055         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
21056         need for a static variable.  All callers changed.  This does not
21057         make the alloca replacement thread-safe, but it's one step.
21058
21059         tests: minor indenting change
21060         * tests/init.sh: Sync from coreutils housekeeping patch
21061         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
21062         to keep lines within 80 columns.
21063
21064 2010-12-28  Jim Meyering  <meyering@redhat.com>
21065
21066         regex: don't infloop on persistent failing calloc
21067         * lib/regexec.c (build_trtable): Return failure indication upon
21068         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
21069         In glibc, this was fixed for version 2.13:
21070         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
21071
21072 2010-12-28  Bruno Haible  <bruno@clisp.org>
21073             Paul Eggert <eggert@cs.ucla.edu>
21074
21075         linkat: Make implementation robust against system behaviour variations.
21076         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
21077         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
21078         way, and to -2 if it needs a generic runtime test.
21079         * lib/linkat.c (solaris_optimized_link_immediate,
21080         solaris_optimized_link_follow): New functions.
21081         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
21082         (check_same_link): Use it.
21083
21084 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
21085
21086         New module 'unigbrk/base'.
21087         * modules/unigbrk/base: New file.
21088         * lib/unigbrk.in.h: New file.
21089
21090         New module 'unigbrk/uc-gbrk-prop'.
21091         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
21092         * modules/unigbrk/uc-gbrk-prop: New file.
21093         * lib/unigbrk/gbrkprop.h: New file.
21094         * lib/unigbrk/uc-gbrk-prop.c: New file.
21095
21096         New module 'unigbrk/uc-is-grapheme-break'.
21097         * modules/unigbrk/uc-is-grapheme-break: New file.
21098         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
21099         * lib/unigbrk/uc-is-grapheme-break.c: New file.
21100         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
21101         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
21102         * tests/unigbrk/GraphemeBreakTest.txt: New file.
21103
21104         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
21105
21106 2010-12-27  Bruno Haible  <bruno@clisp.org>
21107
21108         linkat test: Avoid failure on Solaris 11 2010-11.
21109         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
21110
21111 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21112
21113         utimens: work around glibc rounding bug on more platforms
21114         * lib/utimens.c (fdutimens): Work around rounding bug even if
21115         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
21116         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
21117
21118 2010-12-27  Bruno Haible  <bruno@clisp.org>
21119
21120         select tests: Improve comments.
21121         * tests/test-select.c (do_select): Add comments.
21122
21123 2010-12-27  Bruno Haible  <bruno@clisp.org>
21124
21125         select tests: Safer way of handling timeout.
21126         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
21127         at every invocation.
21128
21129 2010-12-27  Bruno Haible  <bruno@clisp.org>
21130
21131         select tests: Use 'bool' where appropriate.
21132         * tests/test-select.c (connect_to_socket): Change argument type to
21133         'bool'.
21134
21135 2010-12-27  Bruno Haible  <bruno@clisp.org>
21136
21137         select tests: Use existing modules.
21138         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
21139         (configure.ac): Don't test for unistd.h.
21140         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
21141         declared in <unistd.h>.
21142
21143 2010-12-27  Bruno Haible  <bruno@clisp.org>
21144
21145         mbrtowc: Work around a Solaris 7 bug.
21146         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
21147         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
21148         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
21149         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
21150         MBRTOWC_NULL_ARG1_BUG.
21151         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
21152         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
21153         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
21154         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
21155
21156 2010-12-27  Jim Meyering  <meyering@redhat.com>
21157
21158         read-file.c: tweak syntax
21159         * lib/read-file.c (fread_file): Remove space after "*" in function
21160         definitions.
21161
21162 2010-12-27  Bruno Haible  <bruno@clisp.org>
21163
21164         times test: Avoid gcc warnings on OSF/1.
21165         * tests/test-times.c (main): Cast printf arguments from clock_t to
21166         'long int'.
21167
21168 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21169
21170         utimens: work around glibc rounding bug on older Linux kernels
21171         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
21172         on Linux with a glibc whose utimes might not work, then work
21173         around a longstanding glibc bug involving rounding rather than
21174         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
21175         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21176
21177 2010-12-26  Bruno Haible  <bruno@clisp.org>
21178
21179         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
21180         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
21181         _GL_CXXALIAS_SYS.
21182         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21183
21184 2010-12-26  Bruno Haible  <bruno@clisp.org>
21185
21186         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
21187         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
21188         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21189         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
21190         looking for the declaration.
21191         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
21192         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
21193         problem.
21194         * doc/posix-functions/inet_pton.texi: Likewise.
21195
21196 2010-12-26  Bruno Haible  <bruno@clisp.org>
21197
21198         arpa_inet: Use the common idioms with C++ support.
21199         * lib/arpa_inet.in.h: Include c++defs.h.
21200         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
21201         support.
21202         * modules/arpa_inet (Depends-on): Add c++defs.
21203         (Makefile.am): Substitute the contents of c++defs.h.
21204         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
21205         * modules/arpa_inet-c++-tests: New file.
21206         * tests/test-arpa_inet-c++.cc: New file.
21207
21208 2010-12-25  Bruno Haible  <bruno@clisp.org>
21209
21210         Fix more C++ link errors on Solaris 8.
21211         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
21212         $(LIB_EACCESS).
21213         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
21214         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
21215         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
21216         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
21217         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
21218
21219 2010-12-25  Bruno Haible  <bruno@clisp.org>
21220
21221         printf-posix: Fix link error when a non-GCC compiler is used.
21222         * lib/stdio.in.h (printf): When not using GCC, override printf
21223         correctly.
21224         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21225
21226 2010-12-25  Bruno Haible  <bruno@clisp.org>
21227
21228         strerror_r-posix: Update doc.
21229         * doc/posix-functions/strerror_r.texi: Update doc about the return
21230         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
21231
21232 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
21233
21234         utimens: simplify the logic of the previous change
21235         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
21236         This should not affect whether the test succeeds or fails.
21237
21238         utimens: configure better on hosts with NFS clock skew
21239         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
21240         uses the clock of the local host.  It might use the clock of the
21241         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
21242         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21243
21244 2010-12-25  Bruno Haible  <bruno@clisp.org>
21245
21246         ptsname test: Avoid failure on Solaris.
21247         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
21248         open a pseudo-terminal; don't use BSD-style ptys.
21249         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
21250
21251 2010-12-25  Bruno Haible  <bruno@clisp.org>
21252
21253         ptsname: Avoid ERANGE failure on some systems.
21254         * lib/ptsname.c (buffer): Increase size.
21255
21256 2010-12-25  Bruno Haible  <bruno@clisp.org>
21257
21258         rename, renameat: Avoid test failures at NFS mounted locations.
21259         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
21260         so that subsequent mkdir calls succeed.
21261
21262 2010-12-25  Bruno Haible  <bruno@clisp.org>
21263
21264         iswblank: Fix C++ link error on Solaris 8.
21265         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
21266         _GL_FUNCDECL_SYS.
21267
21268 2010-12-25  Bruno Haible  <bruno@clisp.org>
21269
21270         unistd: Fix C++ link error on Solaris 8.
21271         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
21272
21273 2010-12-25  Bruno Haible  <bruno@clisp.org>
21274
21275         readlink doc: Mention an old glibc bug.
21276         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
21277
21278 2010-12-25  Bruno Haible  <bruno@clisp.org>
21279
21280         fcntl-h: Fix for use of C++ on glibc systems.
21281         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21282         also on glibc systems in C++ mode.
21283         Reported by Gary V. Vaughan <gary@gnu.org>.
21284
21285 2010-12-25  Bruno Haible  <bruno@clisp.org>
21286
21287         roundl-ieee: Make it work on OSF/1 5.1 with cc.
21288         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
21289
21290 2010-12-25  Bruno Haible  <bruno@clisp.org>
21291
21292         truncl-ieee: Make it work on OSF/1 5.1 with cc.
21293         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
21294         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
21295         test whether truncl works according to ISO C 99 with IEC 60559.
21296         * m4/truncl-ieee.m4: New file.
21297         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
21298         m4/signbit.m4.
21299         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
21300
21301 2010-12-25  Bruno Haible  <bruno@clisp.org>
21302
21303         ceill-ieee: Make it work on OSF/1 5.1 with cc.
21304         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
21305         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
21306         test whether ceill works according to ISO C 99 with IEC 60559.
21307         * m4/ceill-ieee.m4: New file.
21308         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
21309         m4/signbit.m4.
21310         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
21311
21312 2010-12-25  Bruno Haible  <bruno@clisp.org>
21313
21314         Ensure all prerequisites of <wchar.h> are included.
21315         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
21316         before <wchar.h>.
21317         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
21318         gl_MBRLEN_NUL_RETVAL): Likewise.
21319         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
21320         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
21321         AC_FUNC_MBRTOWC): Likewise.
21322         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21323         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
21324         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21325         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
21326         Likewise.
21327         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21328         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
21329         (gl_WCHAR_H): Improve comments.
21330         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21331
21332 2010-12-25  Bruno Haible  <bruno@clisp.org>
21333
21334         strtok_r: Fix C syntax error in autoconf macro.
21335         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
21336         characters in test program.
21337
21338 2010-12-24  Bruno Haible  <bruno@clisp.org>
21339
21340         ceil, trunc, round: Fix gcc warnings.
21341         * lib/ceil.c (MIN): Undefine before redefining.
21342         * lib/trunc.c (MIN): Likewise.
21343         * lib/round.c (MIN): Likewise.
21344         Include <math.h> first.
21345
21346 2010-12-24  Bruno Haible  <bruno@clisp.org>
21347
21348         select tests: Avoid failures on OSF/1 5.1.
21349         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
21350         failure of closing the last socket; it may fail with ECONNRESET.
21351
21352 2010-12-24  Eric Blake  <eblake@redhat.com>
21353
21354         stdint: avoid HP-UX 10.20 preprocessor bug
21355         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
21356         than #if.
21357         * tests/test-floor2.c (main): Likewise.
21358         Reported by Peter O'Gorman.
21359
21360         pipe: make obsoletion transition easier
21361         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
21362         * modules/pipe (Files): Include revived file.
21363         (Include): Drop reference, to mirror getdate's behavior.
21364
21365 2010-12-24  Bruno Haible  <bruno@clisp.org>
21366
21367         sys_socket: Hide mismatch of declarations on NonStop Kernel.
21368         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
21369         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
21370         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21371
21372 2010-12-24  Bruno Haible  <bruno@clisp.org>
21373
21374         gethostname: Ensure declaration on NonStop Kernel.
21375         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
21376         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21377
21378 2010-12-24  Bruno Haible  <bruno@clisp.org>
21379
21380         sys_select: Ensure all necessary types on NonStop Kernel.
21381         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
21382         include <sys/time.h>.
21383         * doc/posix-headers/sys_select.texi: Mention that it's missing on
21384         NonStop Kernel.
21385         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21386
21387 2010-12-24  Bruno Haible  <bruno@clisp.org>
21388
21389         sys_select: Remove unneeded include.
21390         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
21391         have <sys/select.h>.
21392
21393 2010-12-24  Bruno Haible  <bruno@clisp.org>
21394
21395         gethostname: Provide a fallback for HOST_NAME_MAX.
21396         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
21397         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
21398         instead.
21399         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21400
21401 2010-12-24  Bruno Haible  <bruno@clisp.org>
21402
21403         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
21404         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
21405         (SA_RESTART): Likewise.
21406         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21407
21408 2010-12-24  Bruno Haible  <bruno@clisp.org>
21409
21410         signal: Define NSIG.
21411         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
21412         * tests/test-signal.c (nsig): New variable.
21413         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21414
21415 2010-12-24  Bruno Haible  <bruno@clisp.org>
21416
21417         rename, renameat: Avoid test failures on OSF/1 5.1.
21418         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
21419         alternative error codes.
21420         * tests/test-renameat.c (main): Likewise.
21421
21422 2010-12-24  Bruno Haible  <bruno@clisp.org>
21423
21424         *printf: Detect large precisions bug on Solaris 10/SPARC.
21425         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
21426         by Paul Eggert.
21427         * tests/test-snprintf-posix.h (test_function): Add this test code here
21428         too.
21429         * tests/test-sprintf-posix.h (test_function): Likewise.
21430         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21431         * tests/test-vasprintf-posix.c (test_function): Likewise.
21432         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
21433         around by gnulib.
21434         * doc/posix-functions/printf.texi: Likewise.
21435         * doc/posix-functions/snprintf.texi: Likewise.
21436         * doc/posix-functions/sprintf.texi: Likewise.
21437         * doc/posix-functions/vfprintf.texi: Likewise.
21438         * doc/posix-functions/vprintf.texi: Likewise.
21439         * doc/posix-functions/vsnprintf.texi: Likewise.
21440         * doc/posix-functions/vsprintf.texi: Likewise.
21441         * doc/posix-functions/dprintf.texi: Undo last commit.
21442         * doc/posix-functions/vdprintf.texi: Likewise.
21443
21444 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21445
21446         tests: port test-fdutimensat.c to Solaris 8
21447         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
21448         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
21449         On Solaris 8, it fails with errno == ENOSYS, because there is no
21450         futimens (so it can't use the fd), and there is no lutimens (so it
21451         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
21452
21453         vsnprintf: make more consistent with snprintf; doc fixes
21454
21455         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
21456         the byte count return problem was promoted from the snprintf-posix
21457         to the snprintf module.
21458         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
21459         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
21460         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
21461         * tests/test-snprintf.c (main): Check the byte count returned.
21462         * tests/test-vsnprintf.c (main): Likewise.
21463
21464 2010-12-23  Eric Blake  <eblake@redhat.com>
21465
21466         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
21467         * modules/sigpipe (License): Relax license.
21468
21469 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21470
21471         doc: document Solaris printf bug with large float precisions
21472         * doc/posix-functions/dprintf.texi (dprintf):
21473         * doc/posix-functions/fprintf.texi (fprintf):
21474         * doc/posix-functions/printf.texi (printf):
21475         * doc/posix-functions/snprintf.texi (snprintf):
21476         * doc/posix-functions/sprintf.texi (sprintf):
21477         * doc/posix-functions/vdprintf.texi (vdprintf):
21478         * doc/posix-functions/vfprintf.texi (vfprintf):
21479         * doc/posix-functions/vprintf.texi (vprintf):
21480         * doc/posix-functions/vsnprintf.texi (vsnprintf):
21481         * doc/posix-functions/vsprintf.texi (vsprintf):
21482         Mention that these functions mishandle large floating point
21483         precisions on Solaris 10.  The same bug is also present in Solaris
21484         8, and I assume earlier.  This causes "cd gnulib-tests; make
21485         check" to fail on Solaris 8 (and I assume, later) when building
21486         the latest coreutils, in test-vasprintf-posix's call to
21487         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
21488         the wide flavors (e.g., wprintf) so this patch just updates the
21489         documentation for the narrow ones.
21490
21491         test-posixtm.c: add two tests
21492         * tests/test-posixtm.c: Add two tests, to highlight the
21493         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
21494         around this bug; this is merely to document it.
21495
21496 2010-12-22  Bruno Haible  <bruno@clisp.org>
21497
21498         getlogin_r: Work around portability problem on OSF/1.
21499         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
21500         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
21501         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
21502         test for a truncated result.
21503         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
21504         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
21505         * modules/getlogin_r (Depends-on): Add memchr.
21506         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
21507
21508 2010-12-22  Bruno Haible  <bruno@clisp.org>
21509
21510         ptsname: Avoid test failure on OSF/1 5.1.
21511         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
21512         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
21513         (same_slave): New function.
21514         (main): Use it to compare ptsname's result with the expected file name.
21515
21516 2010-12-22  Bruno Haible  <bruno@clisp.org>
21517
21518         Port extended stdio modules to HP NonStop Kernel.
21519         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
21520         macros.
21521         * lib/fbufmode.c: Update comments.
21522         * lib/fflush.c: Likewise.
21523         * lib/fpurge.c: Likewise.
21524         * lib/freadable.c: Likewise.
21525         * lib/freadahead.c: Likewise.
21526         * lib/freading.c: Likewise.
21527         * lib/freadptr.c: Likewise.
21528         * lib/freadseek.c: Likewise.
21529         * lib/fseeko.c: Likewise.
21530         * lib/fseterr.c: Likewise.
21531         * lib/fwritable.c: Likewise.
21532         * lib/fwriting.c: Likewise.
21533         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21534
21535 2010-12-22  Bruno Haible  <bruno@clisp.org>
21536
21537         ttyname_r: Work around bug on OSF/1 5.1.
21538         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
21539         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
21540         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
21541         present.
21542         * lib/ttyname_r.c (ttyname_r): Update comments.
21543
21544 2010-12-22  Bruno Haible  <bruno@clisp.org>
21545
21546         round: Implement result sign according to IEEE 754.
21547         * lib/round.c (MIN, MINUS_ZERO): New macros.
21548         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
21549         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
21550         * tests/test-round-ieee.c (main): Likewise.
21551         * tests/test-roundl-ieee.c (main): Likewise.
21552
21553         trunc: Implement result sign according to IEEE 754.
21554         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
21555         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
21556         * tests/test-trunc2.c: Include minus-zero.h.
21557         (MINUS_ZERO): New macro.
21558         (trunc_reference): Keep in sync with lib/trunc.c.
21559         * tests/test-truncf2.c: Include minus-zero.h.
21560         (MINUS_ZERO): New macro.
21561         (truncf_reference): Keep in sync with lib/trunc.c.
21562         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
21563         * tests/test-trunc-ieee.c (main): Likewise.
21564         * tests/test-truncl-ieee.c (main): Likewise.
21565
21566         ceil: Implement result sign according to IEEE 754.
21567         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
21568         (FUNC): Return -0.0 for -1 < x < 0.
21569         * tests/test-ceil2.c: Include minus-zero.h.
21570         (MINUS_ZERO): New macro.
21571         (ceil_reference): Keep in sync with lib/ceil.c.
21572         * tests/test-ceilf2.c: Include minus-zero.h.
21573         (MINUS_ZERO): New macro.
21574         (ceilf_reference): Keep in sync with lib/ceil.c.
21575         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
21576         * tests/test-ceil-ieee.c (main): Likewise.
21577         * tests/test-ceill-ieee.c (main): Likewise.
21578
21579         floor: Implement result sign according to IEEE 754.
21580         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
21581         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
21582         * tests/test-floorf2.c (floorf_reference): Likewise.
21583         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
21584         * tests/test-floor-ieee.c (main): Likewise.
21585         * tests/test-floorl-ieee.c (main): Likewise.
21586
21587 2010-12-22  Bruno Haible  <bruno@clisp.org>
21588
21589         getaddrinfo: Update doc.
21590         * doc/posix-functions/gai_strerror.texi: Return type is also different
21591         on AIX and HP-UX.
21592
21593 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21594
21595         getaddrinfo, inet_ntop: Update doc for Solaris.
21596         * doc/posix-functions/gai_strerror.texi: Return type is also an
21597         issue on Solaris 9 and earlier.
21598         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
21599         on Solaris 10 and earlier.
21600
21601 2010-12-21  Bruno Haible  <bruno@clisp.org>
21602
21603         New module 'roundl-ieee'.
21604         * modules/roundl-ieee: New file.
21605         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
21606         test whether roundl works according to ISO C 99 with IEC 60559.
21607         * m4/roundl-ieee.m4: New file.
21608         * modules/roundl-ieee-tests: New file.
21609         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
21610         * tests/test-roundl.c (main): Remove signbit tests.
21611         * modules/roundl-tests (Depends-on): Remove signbit.
21612         * doc/posix-functions/roundl.texi: Mention the new module.
21613
21614 2010-12-21  Bruno Haible  <bruno@clisp.org>
21615
21616         New module 'truncl-ieee'.
21617         * modules/truncl-ieee: New file.
21618         * modules/truncl-ieee-tests: New file.
21619         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
21620         * tests/test-truncl.c (main): Remove signbit tests.
21621         * modules/truncl-tests (Depends-on): Remove signbit.
21622         * doc/posix-functions/truncl.texi: Mention the new module.
21623
21624 2010-12-21  Bruno Haible  <bruno@clisp.org>
21625
21626         New module 'ceill-ieee'.
21627         * modules/ceill-ieee: New file.
21628         * modules/ceill-ieee-tests: New file.
21629         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
21630         * tests/test-ceill.c (main): Remove signbit tests.
21631         * modules/ceill-tests (Depends-on): Remove signbit.
21632         * doc/posix-functions/ceill.texi: Mention the new module.
21633
21634 2010-12-21  Bruno Haible  <bruno@clisp.org>
21635
21636         New module 'floorl-ieee'.
21637         * modules/floorl-ieee: New file.
21638         * modules/floorl-ieee-tests: New file.
21639         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
21640         * tests/test-floorl.c (main): Remove signbit tests.
21641         * modules/floorl-tests (Depends-on): Remove signbit.
21642         * doc/posix-functions/floorl.texi: Mention the new module.
21643
21644 2010-12-21  Bruno Haible  <bruno@clisp.org>
21645
21646         New module 'round-ieee'.
21647         * modules/round-ieee: New file.
21648         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
21649         whether round works according to ISO C 99 with IEC 60559.
21650         * m4/round-ieee.m4: New file.
21651         * modules/round-ieee-tests: New file.
21652         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
21653         * tests/test-round1.c (main): Remove signbit tests.
21654         * modules/round-tests (Depends-on): Remove 'signbit'.
21655         * doc/posix-functions/round.texi: Mention the new module.
21656
21657 2010-12-21  Bruno Haible  <bruno@clisp.org>
21658
21659         New module 'trunc-ieee'.
21660         * modules/trunc-ieee: New file.
21661         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
21662         whether trunc works according to ISO C 99 with IEC 60559.
21663         * m4/trunc-ieee.m4: New file.
21664         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
21665         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
21666         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
21667         * modules/trunc-ieee-tests: New file.
21668         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
21669         * tests/test-trunc1.c (main): Remove signbit tests.
21670         * modules/trunc-tests (Depends-on): Remove 'signbit'.
21671         * doc/posix-functions/trunc.texi: Mention the new module.
21672
21673 2010-12-21  Bruno Haible  <bruno@clisp.org>
21674
21675         New module 'ceil-ieee'.
21676         * modules/ceil-ieee: New file.
21677         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
21678         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
21679         ISO C 99 with IEC 60559.
21680         * m4/ceil-ieee.m4: New file.
21681         * modules/ceil (Files): Add lib/ceil.c.
21682         (Depends-on): Add 'float'.
21683         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21684         * lib/math.in.h (ceil): New declaration.
21685         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
21686         REPLACE_CEIL.
21687         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
21688         * modules/ceil-ieee-tests: New file.
21689         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
21690         * tests/test-math-c++.cc: Check the signature of 'ceil'.
21691         * doc/posix-functions/ceil.texi: Mention the new module.
21692
21693 2010-12-21  Bruno Haible  <bruno@clisp.org>
21694
21695         New module 'floor-ieee'.
21696         * modules/floor-ieee: New file.
21697         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
21698         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
21699         ISO C 99 with IEC 60559.
21700         * m4/floor-ieee.m4: New file.
21701         * modules/floor (Files): Add lib/floor.c.
21702         (Depends-on): Add 'float'.
21703         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21704         * lib/math.in.h (floor): New declaration.
21705         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
21706         REPLACE_FLOOR.
21707         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
21708         * modules/floor-ieee-tests: New file.
21709         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
21710         * tests/test-math-c++.cc: Check the signature of 'floor'.
21711         * doc/posix-functions/floor.texi: Mention the new module.
21712
21713 2010-12-21  Bruno Haible  <bruno@clisp.org>
21714
21715         New module 'roundf-ieee'.
21716         * modules/roundf-ieee: New file.
21717         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
21718         test whether roundf works according to ISO C 99 with IEC 60559.
21719         * m4/roundf-ieee.m4: New file.
21720         * modules/roundf-ieee-tests: New file.
21721         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
21722         * tests/test-roundf1.c (main): Remove signbit tests.
21723         * modules/roundf-tests (Depends-on): Remove 'signbit'.
21724         * doc/posix-functions/roundf.texi: Mention the new module.
21725
21726 2010-12-21  Bruno Haible  <bruno@clisp.org>
21727
21728         New module 'truncf-ieee'.
21729         * modules/truncf-ieee: New file.
21730         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
21731         test whether truncf works according to ISO C 99 with IEC 60559.
21732         * m4/truncf-ieee.m4: New file.
21733         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
21734         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
21735         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
21736         * modules/truncf-ieee-tests: New file.
21737         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
21738         * tests/test-truncf1.c (main): Remove signbit tests.
21739         * modules/truncf-tests (Depends-on): Remove 'signbit'.
21740         * doc/posix-functions/truncf.texi: Mention the new module.
21741
21742 2010-12-21  Bruno Haible  <bruno@clisp.org>
21743
21744         New module 'ceilf-ieee'.
21745         * modules/ceilf-ieee: New file.
21746         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
21747         test whether ceilf works according to ISO C 99 with IEC 60559.
21748         * m4/ceilf-ieee.m4: New file.
21749         * modules/ceilf-ieee-tests: New file.
21750         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
21751         * tests/test-ceilf1.c (main): Remove signbit tests.
21752         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
21753         * doc/posix-functions/ceilf.texi: Mention the new module.
21754
21755 2010-12-21  Bruno Haible  <bruno@clisp.org>
21756
21757         New module 'floorf-ieee'.
21758         * modules/floorf-ieee: New file.
21759         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
21760         test whether floorf works according to ISO C 99 with IEC 60559.
21761         * m4/floorf-ieee.m4: New file.
21762         * modules/floorf-ieee-tests: New file.
21763         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
21764         * tests/test-floorf1.c (main): Remove signbit tests.
21765         * modules/floorf-tests (Depends-on): Remove 'signbit'.
21766         * doc/posix-functions/floorf.texi: Mention the new module.
21767
21768 2010-12-21  Bruno Haible  <bruno@clisp.org>
21769
21770         Support for minus zero in autoconf macros.
21771         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
21772         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
21773         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
21774         * tests/minus-zero.h: Update comments.
21775
21776 2010-12-21  Bruno Haible  <bruno@clisp.org>
21777
21778         Tests for module 'ceil'.
21779         * modules/ceil-tests: New file.
21780         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
21781         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
21782
21783 2010-12-21  Bruno Haible  <bruno@clisp.org>
21784
21785         Tests for module 'floor'.
21786         * modules/floor-tests: New file.
21787         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
21788         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
21789
21790 2010-12-21  Bruno Haible  <bruno@clisp.org>
21791
21792         math: Fix indentation.
21793         * lib/math.in.h (floorf): Fix indentation.
21794
21795 2010-12-21  Bruno Haible  <bruno@clisp.org>
21796
21797         Fix cross-compilation guesses on Solaris.
21798         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
21799         not match "solaris2.10".
21800         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21801         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
21802         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
21803
21804 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
21805
21806         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
21807         This fixes a problem observed with the latest coreutils snapshot
21808         that caused a test to fail on Solaris 8.  src/csplit.c's call
21809         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
21810         earlier, instead of returning the number of bytes that would have
21811         been generated; this causes csplit to incorrectly report memory
21812         exhaustion.
21813         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
21814         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
21815         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
21816         comments to match.
21817         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
21818         Fix typo in matching older versions of Solaris: "solaris2.10"
21819         is matched by the shell pattern "solaris2.[0-9]*".  This matters
21820         only for guessing while cross-compiling.
21821         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
21822
21823 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
21824
21825         ftoastr: fix comment again
21826         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21827         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
21828         Also, simplify example a bit by using flags = 0.
21829
21830 2010-12-20  Bruno Haible  <bruno@clisp.org>
21831
21832         round*, trunc*: Update documentation regarding glibc.
21833         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
21834         * doc/posix-functions/round.texi: Likewise.
21835         * doc/posix-functions/roundl.texi: Likewise.
21836         * doc/posix-functions/truncf.texi: Likewise.
21837         * doc/posix-functions/trunc.texi: Likewise.
21838         * doc/posix-functions/truncl.texi: Likewise.
21839
21840 2010-12-20  Bruno Haible  <bruno@clisp.org>
21841
21842         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
21843         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
21844         * doc/posix-functions/round.texi: Likewise.
21845         * doc/posix-functions/roundl.texi: Likewise.
21846
21847 2010-12-20  Bruno Haible  <bruno@clisp.org>
21848
21849         ttyname_r: Add missing declaration on HP-UX 11.
21850         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
21851         HAVE_TTYNAME_R.
21852         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
21853         declared. Set HAVE_TTYNAME_R always.
21854         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21855         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
21856         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
21857         HAVE_TTYNAME_R.
21858         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
21859
21860 2010-12-20  Bruno Haible  <bruno@clisp.org>
21861
21862         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
21863         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
21864         * doc/posix-functions/getlogin_r.texi: Likewise.
21865         * tests/test-getlogin.c: Include <errno.h>.
21866         (main): Avoid test failure on HP-UX 11.11.
21867         * tests/test-getlogin_r.c (main): Likewise.
21868
21869 2010-12-20  Bruno Haible  <bruno@clisp.org>
21870
21871         getlogin_r: Add missing declaration on HP-UX 11.
21872         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
21873         declared also when it exists as a function.
21874         * doc/posix-functions/getlogin_r.texi: Document this workaround.
21875
21876 2010-12-20  Bruno Haible  <bruno@clisp.org>
21877
21878         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
21879         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
21880         through wcrtomb.
21881
21882 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21883
21884         ftoastr: fix comment
21885         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21886         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
21887
21888 2010-12-19  Bruno Haible  <bruno@clisp.org>
21889
21890         isnan: Ensure it is a macro.
21891         * lib/math.in.h (isnan): Define as a macro if not already a macro.
21892         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
21893         Solaris.
21894
21895 2010-12-19  Bruno Haible  <bruno@clisp.org>
21896
21897         ldexpl test: Fix link error on OSF/1 5.1.
21898         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
21899
21900 2010-12-19  Bruno Haible  <bruno@clisp.org>
21901
21902         wctype: Make it work in C++ mode on OSF/1 5.1.
21903         * lib/wctype.in.h (iswblank): Declare but not define here.
21904         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
21905         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
21906         * modules/wctype (Files): Add lib/iswblank.c.
21907
21908 2010-12-19  Bruno Haible  <bruno@clisp.org>
21909
21910         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
21911         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
21912         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
21913
21914 2010-12-19  Bruno Haible  <bruno@clisp.org>
21915
21916         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
21917         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
21918         _POSIX_PII_SOCKET.
21919         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
21920         * doc/posix-functions/recvfrom.texi: Likewise.
21921         * doc/posix-functions/send.texi: Likewise.
21922         * doc/posix-functions/sendto.texi: Likewise.
21923
21924 2010-12-19  Bruno Haible  <bruno@clisp.org>
21925
21926         tcgetsid: Add missing declaration on OSF/1 5.1.
21927         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
21928         HAVE_TCGETSID.
21929         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
21930         Don't set HAVE_TCGETSID.
21931         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
21932         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
21933         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
21934         HAVE_TCGETSID.
21935         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
21936
21937 2010-12-19  Bruno Haible  <bruno@clisp.org>
21938
21939         stdio: Fix problem with popen() declaration on OSF/1 5.1.
21940         * lib/stdio.in.h: During the include_next statement, let recursive
21941         includes of this file include only the system header file.
21942
21943 2010-12-19  Bruno Haible  <bruno@clisp.org>
21944
21945         iconv_open: Fix regression from 2010-12-04.
21946         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
21947         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
21948
21949 2010-12-19  Bruno Haible  <bruno@clisp.org>
21950
21951         stdbool test: Avoid a gcc warning.
21952         * tests/test-stdbool.c (main): Fail if e1 is false.
21953         Reported by Jim Meyering.
21954
21955 2010-12-19  Jim Meyering  <meyering@redhat.com>
21956
21957         setenv: restore to working order
21958         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
21959         mistakenly removed.
21960         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
21961         HAVE_SETENV.
21962         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
21963         HAVE_SETENV.
21964
21965 2010-12-19  Bruno Haible  <bruno@clisp.org>
21966
21967         Document some different function declarations on OSF/1 5.1.
21968         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
21969         * doc/posix-functions/inet_ntop.texi: Likewise.
21970         * doc/posix-functions/gethostname.texi: Likewise.
21971         * lib/unistd.in.h (gethostname): Update comment.
21972
21973 2010-12-19  Bruno Haible  <bruno@clisp.org>
21974
21975         doc: Mention vasprintf-posix module.
21976         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
21977         the 'vasprintf-posix' module.
21978         * doc/glibc-functions/vasprintf.texi: Likewise.
21979
21980 2010-12-19  Bruno Haible  <bruno@clisp.org>
21981
21982         unsetenv: Add missing declaration on OSF/1 5.1.
21983         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
21984         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
21985         Don't set HAVE_UNSETENV. In the test program, set _BSD.
21986         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
21987         not HAVE_UNSETENV.
21988         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
21989         HAVE_UNSETENV.
21990         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
21991
21992 2010-12-19  Bruno Haible  <bruno@clisp.org>
21993
21994         setenv: Add missing declaration on OSF/1 5.1.
21995         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
21996         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
21997         declared. Don't set HAVE_SETENV.
21998         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
21999         not HAVE_SETENV.
22000         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
22001         HAVE_SETENV.
22002         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
22003
22004 2010-12-19  Bruno Haible  <bruno@clisp.org>
22005
22006         nl_langinfo tests: Avoid gcc warning.
22007         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
22008
22009 2010-12-19  Bruno Haible  <bruno@clisp.org>
22010
22011         mknod: Avoid error in C++ mode on OSF/1 with GCC.
22012         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
22013         _GL_CXXALIAS_SYS.
22014
22015 2010-12-19  Bruno Haible  <bruno@clisp.org>
22016
22017         stdbool: Relax test.
22018         * tests/test-stdbool.c (e): Don't require that casts from a variable's
22019         address to 'bool' work in static initializer, for compilers other than
22020         GCC.
22021
22022 2010-12-19  Bruno Haible  <bruno@clisp.org>
22023
22024         ftello: Add missing declaration on OSF/1 5.1.
22025         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
22026         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
22027         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
22028         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
22029         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
22030
22031 2010-12-19  Bruno Haible  <bruno@clisp.org>
22032
22033         fseeko: Add missing declaration on OSF/1 5.1.
22034         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
22035         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
22036         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
22037         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
22038         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
22039
22040 2010-12-19  Bruno Haible  <bruno@clisp.org>
22041
22042         fchdir: Add missing declaration on OSF/1 5.1.
22043         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
22044         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
22045         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
22046         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
22047         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
22048
22049 2010-12-19  Bruno Haible  <bruno@clisp.org>
22050
22051         relocatable-prog-wrapper: Separate from relocatable-prog.
22052         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
22053         uninstall-relocwrapper rule here.
22054         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
22055         Reported by Ian Beckwith <ianb@erislabs.net>.
22056
22057 2010-12-19  Bruno Haible  <bruno@clisp.org>
22058
22059         unistr/u8-mbsnlen: Add missing dependency.
22060         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
22061         Reported by Ian Beckwith <ianb@erislabs.net>.
22062
22063 2010-12-19  Bruno Haible  <bruno@clisp.org>
22064
22065         iconv: Make it possible again to use this module without 'iconv-h'.
22066         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
22067         if it is not defined.
22068         Reported by Ian Beckwith <ianb@erislabs.net>.
22069
22070 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
22071
22072         acl: port to Solaris 8 when copying from tmpfs to ufs
22073         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
22074         error number.  Problem observed on Solaris 8 with latest
22075         coreutils, with "mv A B", where A is on a tmpfs file system and B
22076         is on a ufs file system.  This caused coreutils' mv/part-symlink
22077         test to fail.
22078
22079         tests: set fail=0 at start
22080         * tests/init.sh (setup_): Move fail=0 initialization here ...
22081         (mktempd_): ... from here, so that tests can rely on fail being
22082         set to 0 initially.  This fixes a problem in coreutils; see:
22083         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
22084
22085 2010-12-18  Bruno Haible  <bruno@clisp.org>
22086
22087         memmem-simple: Stylistic changes.
22088         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
22089         Fix preprocessor directive indentation.
22090
22091 2010-12-15  Pádraig Brady <P@draigBrady.com>
22092
22093         memmem, memmem-simple: reorganize and expand empty needle check
22094         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
22095         functional checks to memmem-simple so that one has a fully functional
22096         memmem by using just this module.
22097         Restrict the performance only check to the memmem module.
22098         Also expand the empty needle check to ensure the correct
22099         pointer is returned, not just a non NULL pointer.
22100         * doc/glibc-functions/memmem.texi: Rearrange the portability
22101         documentation to correlate with the rearranged checks.
22102         Clarify exactly how the memmem and memmem-simple modules
22103         relate to each other.
22104
22105 2010-12-15  Pádraig Brady <P@draigBrady.com>
22106             Bruno Haible  <bruno@clisp.org>
22107
22108         Improve cross-compilation guesses for uClibc.
22109         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
22110         that uClibc does not have the glibc bug.
22111         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
22112         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
22113
22114 2010-12-14  Eric Blake  <eblake@redhat.com>
22115
22116         configmake: provide fallbacks for oldest supported autotools
22117         * m4/configmake.m4: New file.
22118         * modules/configmake (Files): Ship it.
22119         (configure.ac): Use it to guarantee fallbacks.
22120
22121 2010-12-13  Pádraig Brady <P@draigBrady.com>
22122
22123         read-file: Improve handling of large files
22124         * lib/read-file.c (fread_file): Minimize realloc()s
22125         for regular files, and better manage sizes around SIZE_MAX.
22126
22127 2010-12-13  Eric Blake  <eblake@redhat.com>
22128
22129         cloexec, fcntl: relax license
22130         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
22131         consent from all contributors.
22132         * modules/fcntl (License): Likewise.
22133
22134 2010-12-10  Bruno Haible  <bruno@clisp.org>
22135
22136         Tests for module 'pipe-posix'.
22137         * modules/pipe-posix-tests: New file.
22138         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
22139
22140 2010-12-10  Bruno Haible  <bruno@clisp.org>
22141
22142         pipe-posix: Make it work in C++ mode.
22143         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
22144         (pipe): Use common idiom, not a macro definition.
22145         * lib/pipe.c: New file.
22146         * m4/pipe.m4: New file.
22147         * modules/pipe-posix (Description): Enhance.
22148         (Files): Add lib/pipe.c, m4/pipe.m4.
22149         (configure.ac): Invoke gl_FUNC_PIPE.
22150         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
22151         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
22152         * tests/test-unistd-c++.cc: Check the signature of pipe.
22153
22154 2010-12-10  Bruno Haible  <bruno@clisp.org>
22155
22156         Rename module 'pipe' to 'spawn-pipe'.
22157         * modules/spawn-pipe: New file, renamed from modules/pipe.
22158         (Files, configure.ac, Makefile.am): Update.
22159         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
22160         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
22161         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
22162         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
22163         "spawn-pipe.h" instead of "pipe.h".
22164         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
22165         to gl_SPAWN_PIPE.
22166         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
22167         (Files, Makefile.am): Update.
22168         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
22169         Update.
22170         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
22171         Include "spawn-pipe.h" instead of "pipe.h".
22172         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
22173         * lib/javacomp.c: Likewise.
22174         * lib/javaversion.c: Likewise.
22175         * lib/pipe-filter-gi.c: Likewise.
22176         * lib/pipe-filter-ii.c: Likewise.
22177         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
22178         * modules/javacomp (Depends-on): Likewise.
22179         * modules/javaversion (Depends-on): Likewise.
22180         * modules/pipe-filter-gi (Depends-on): Likewise.
22181         * modules/pipe-filter-ii (Depends-on): Likewise.
22182         * MODULES.html.sh (Executing programs): Update.
22183         * NEWS: Mention the change.
22184
22185 2010-12-10  Eric Blake  <eblake@redhat.com>
22186
22187         pipe-posix: new module
22188         * modules/pipe-posix: New file.
22189         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
22190         (gl_UNISTD_H): Check for declaration.
22191         * modules/unistd (Makefile.am): Substitute it.
22192         * lib/unistd.in.h (pipe): Provide it for mingw.
22193         * doc/posix-functions/pipe.texi (pipe): Update documentation.
22194         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
22195
22196 2010-12-07  Bruno Haible  <bruno@clisp.org>
22197
22198         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
22199         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
22200         u8_strcmp_gnu.
22201         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
22202
22203 2010-12-06  Bruno Haible  <bruno@clisp.org>
22204
22205         Update internal documentation.
22206         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
22207
22208 2010-12-04  Bruno Haible  <bruno@clisp.org>
22209
22210         Put more information about failed tests into the test return codes.
22211         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
22212         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
22213         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22214         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
22215         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
22216         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22217         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22218         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
22219         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
22220         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22221         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
22222         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22223         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
22224         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22225         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
22226         returns a bit mask.
22227         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
22228         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
22229         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
22230         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
22231         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22232         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22233         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
22234         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
22235         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22236         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
22237         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22238         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22239         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22240         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22241         * m4/link.m4 (gl_FUNC_LINK): Likewise.
22242         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
22243         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
22244         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
22245         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22246         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
22247         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22248         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
22249         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
22250         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22251         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22252         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22253         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
22254         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22255         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22256         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
22257         gl_PRINTF_PRECISION): Likewise.
22258         * m4/regex.m4 (gl_REGEX): Likewise.
22259         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
22260         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22261         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
22262         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22263         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22264         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22265         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
22266         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
22267         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22268         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22269         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22270         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22271         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
22272         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22273         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22274         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22275         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22276         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22277         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22278         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
22279         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
22280         enumerated value.
22281         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
22282
22283 2010-12-04  Bruno Haible  <bruno@clisp.org>
22284
22285         Update for Solaris 11 2010-11.
22286         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
22287         Express, released in November 2010.
22288
22289 2010-12-04  Bruno Haible  <bruno@clisp.org>
22290
22291         nproc: Relax license.
22292         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
22293         and Paul Eggert.
22294         Requested by Ludovic Courtès <ludo@gnu.org>.
22295
22296 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
22297
22298         utimecmp: fine-grained src to nearby coarse-grained dest
22299
22300         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
22301         and the source is on a file system with higher-resolution time
22302         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
22303         not work, and the time stamps are close together, the algorithm to
22304         determine the exact resolution from the read-back mtime was buggy:
22305         it had a "!=" where it should have had an "==".  This bug has been
22306         in the code ever since it was introduced to gnulib.
22307         Problem reported by Dan Jacobson in
22308         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
22309
22310 2010-11-30  Bruno Haible  <bruno@clisp.org>
22311
22312         strerror_r-posix: Fix autoconf test.
22313         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
22314
22315 2010-11-28  Bruno Haible  <bruno@clisp.org>
22316             Paul Eggert  <eggert@cs.ucla.edu>
22317
22318         Tests for module 'getdomainname'.
22319         * modules/getdomainname-tests: New file.
22320         * tests/test-getdomainname.c: New file, based on
22321         tests/test-gethostname.c.
22322
22323 2010-11-28  Bruno Haible  <bruno@clisp.org>
22324             Paul Eggert  <eggert@cs.ucla.edu>
22325
22326         getdomainname: Use the system function when possible.
22327         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
22328         (getdomainname): Replace if needed. Provide the declaration if it is
22329         missing. Don't use _GL_CXXALIAS_SYS_CAST.
22330         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
22331         (getdomainname): When the system has getdomainname, call the system
22332         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
22333         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
22334         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
22335         found in libnsl. Look for the declaration also in <netdb.h>. Replace
22336         the function if its second argument is of type 'int' or if it is found
22337         in libnsl.
22338         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
22339         <sys/systeminfo.h> and sysinfo().
22340         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
22341         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22342         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
22343         HAVE_GETDOMAINNAME.
22344         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
22345         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
22346         * doc/glibc-functions/getdomainname.texi: Document the problems with
22347         the getdomainname declaration.
22348
22349 2010-11-28  Bruno Haible  <bruno@clisp.org>
22350
22351         sys_socket: Ensure ss_family field on AIX.
22352         * lib/sys_socket.in.h (ss_family): New macro definition.
22353         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
22354         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
22355         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
22356         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22357         * modules/sys_socket (Makefile.am): Substitute
22358         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22359         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
22360
22361 2010-11-27  Bruno Haible  <bruno@clisp.org>
22362
22363         readline: Improve configure output.
22364         * m4/readline.m4 (gl_FUNC_READLINE): Make the
22365         "checking for readline..." result understandable.
22366
22367 2010-11-27  Bruno Haible  <bruno@clisp.org>
22368
22369         *printf-posix: Detect a bug on Solaris 10/x86.
22370         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
22371         for floating-point output.
22372         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
22373         directive.
22374         * tests/test-snprintf-posix.h (test_function): Likewise.
22375         * tests/test-sprintf-posix.h (test_function): Likewise.
22376         * tests/test-vasprintf-posix.c (test_function): Likewise.
22377         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
22378         * doc/posix-functions/printf.texi: Likewise.
22379         * doc/posix-functions/snprintf.texi: Likewise.
22380         * doc/posix-functions/sprintf.texi: Likewise.
22381         * doc/posix-functions/vfprintf.texi: Likewise.
22382         * doc/posix-functions/vprintf.texi: Likewise.
22383         * doc/posix-functions/vsnprintf.texi: Likewise.
22384         * doc/posix-functions/vsprintf.texi: Likewise.
22385         * doc/glibc-functions/obstack_printf.texi: Likewise.
22386         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
22387
22388 2010-11-27  Bruno Haible  <bruno@clisp.org>
22389
22390         Fix link error when module libunistring-optional is in use.
22391         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
22392         * modules/striconveha-tests (Makefile.am): Likewise.
22393
22394 2010-11-27  Bruno Haible  <bruno@clisp.org>
22395
22396         regex: Mention link dependencies.
22397         * modules/regex (Link): New section.
22398         * modules/rpmatch (Link): Likewise.
22399         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
22400
22401 2010-11-27  Bruno Haible  <bruno@clisp.org>
22402
22403         ftoastr: Fix compilation error on Solaris.
22404         * lib/ftoastr.c: Include <config.h>.
22405
22406 2010-11-27  Bruno Haible  <bruno@clisp.org>
22407
22408         getloadavg: Update documentation.
22409         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
22410
22411 2010-11-27  Bruno Haible  <bruno@clisp.org>
22412
22413         sys_socket: Fix test whether the functions are declared.
22414         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
22415         not <sys/select.h>.
22416
22417 2010-11-27  Bruno Haible  <bruno@clisp.org>
22418
22419         getpass: Make sure to get system declaration on some platforms.
22420         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
22421         gl_USE_SYSTEM_EXTENSIONS.
22422         * modules/getpass (Depends-on): Add extensions.
22423
22424 2010-11-26  Bruno Haible  <bruno@clisp.org>
22425
22426         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
22427         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
22428         'iconv' module is present.
22429         (ICONV_CONST): New macro.
22430         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
22431         ICONV_CONST.
22432         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
22433         set ICONV_CONST.
22434         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
22435         here.
22436         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
22437         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
22438         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
22439         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
22440         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
22441         present.
22442
22443 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
22444
22445         ftoastr: comment fix
22446         * lib/ftoastr.c: "little" -> "little or no" in comment
22447
22448 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
22449
22450         stdint: port to GCC 4.3 + OSX + Octave
22451         On this platform, stdint.h is buggy and defines int64_t to long
22452         long int.  The replacement defined it to long int, causing
22453         problems with C++ style name mangling.  Instead, trust the system
22454         definition if INT64_MAX is defined, and likewise for the unsigned
22455         variant.   Problem reported by Jarno Rajahalme in
22456         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
22457         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
22458         and don't mess with int64_t and INT64_MAX in this case.
22459         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
22460
22461 2010-11-24  Bruno Haible  <bruno@clisp.org>
22462
22463         doc: Corrections regarding MacOS X 10.4 and 10.5.
22464         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
22465         MacOS X.
22466         Reported by Simon Josefsson.
22467
22468 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
22469
22470         Uninstall ".bin" files installed by relocwrapper.
22471         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
22472         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
22473         unless it is already there.
22474
22475 2010-11-21  Bruno Haible  <bruno@clisp.org>
22476
22477         Update for NetBSD 5.0.
22478         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22479         NetBSD; the test fails on NetBSD 5.0.
22480         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22481         about NetBSD.
22482
22483 2010-11-21  Bruno Haible  <bruno@clisp.org>
22484
22485         Update for HP-UX 11.23 and HP-UX 11.31.
22486         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
22487         HP-UX.
22488
22489 2010-11-21  Bruno Haible  <bruno@clisp.org>
22490
22491         Update for MacOS X 10.5.
22492         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22493         MacOS X; the test fails on MacOS X 10.5.8.
22494         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22495         about MacOS X.
22496
22497 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
22498
22499         bootstrap: add bootstrap_sync option.
22500         See discussion at
22501         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
22502         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
22503         * build-aux/bootstrap: Accept --bootstrap-sync to update
22504         bootstrap if it is not identical to the local gnulib's
22505         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
22506         enable this by default.  Accept --no-bootstrap-sync to disable
22507         it.
22508
22509 2010-11-20  Bruno Haible  <bruno@clisp.org>
22510
22511         Ensure that <features.h> is included before __GLIBC__ is tested.
22512         * lib/printf-parse.h: Include <features.h>.
22513         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
22514         Reported by Mike Frysinger <vapier@gentoo.org>.
22515
22516         Ensure that <features.h> is included before __GLIBC__ is tested.
22517         * lib/wchar.in.h: Include <features.h>.
22518         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
22519         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
22520         Reported by Mike Frysinger <vapier@gentoo.org>.
22521
22522         Ensure that <features.h> is included before __GLIBC__ is tested.
22523         * lib/arpa_inet.in.h: Include <features.h>.
22524         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
22525         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
22526         Reported by Mike Frysinger <vapier@gentoo.org>.
22527
22528         Ensure that <features.h> is included before __GLIBC__ is tested.
22529         * build-aux/link-warning.h: Include <features.h>.
22530         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
22531         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
22532         Reported by Mike Frysinger <vapier@gentoo.org>.
22533
22534         Ensure that <features.h> is included before __GLIBC__ is tested.
22535         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
22536         Reported by Mike Frysinger <vapier@gentoo.org>.
22537
22538 2010-11-20  Bruno Haible  <bruno@clisp.org>
22539
22540         memmem: Fix autoconf test.
22541         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
22542
22543 2010-11-20  Bruno Haible  <bruno@clisp.org>
22544
22545         Port to uClibc.
22546         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
22547         * lib/fcntl.in.h: Likewise.
22548         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
22549         * lib/mbrtowc.c (mbrtowc): Likewise.
22550         * lib/relocatable.c (find_shared_library_fullname): Likewise.
22551         * lib/strerror_r.c: Likewise.
22552         * lib/unistr/u8-strnlen.c: Likewise.
22553         * lib/vasnprintf.c (decimal_point_char): Likewise.
22554         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22555         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
22556         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
22557         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
22558         * tests/test-sigaction.c (handler, main): Likewise.
22559         * lib/freading.h: Treat uClibc like a non-glibc platform.
22560         * lib/freading.c: Likewise.
22561         * lib/gettext.h: Likewise.
22562         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
22563         Likewise.
22564         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
22565         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
22566         * lib/propername.c (proper_name_utf8): Likewise.
22567         * lib/spawn.in.h: Likewise.
22568         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
22569         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
22570         mem_cd_iconveh_internal): Likewise.
22571         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
22572         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
22573         strstr, strcasestr): Likewise.
22574         * lib/unicodeio.c (unicode_to_mb): Likewise.
22575         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
22576         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
22577         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
22578         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
22579         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
22580         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
22581         * lib/unistr/u8-stpncpy.c: Likewise.
22582         * lib/vasnprintf.c (VASNPRINTF): Likewise.
22583         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
22584         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22585         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22586         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
22587         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
22588         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
22589         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
22590         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
22591         Likewise.
22592         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22593         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22594         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
22595         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22596         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22597         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22598         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22599         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22600         * tests/test-getopt.h (OPTIND_MIN): Likewise.
22601         * tests/test-striconveha.c (main): Likewise.
22602         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22603         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
22604         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
22605         * doc/posix-functions/getline.texi: Likewise.
22606         Reported by Mike Frysinger <vapier@gentoo.org>.
22607
22608 2010-11-20  Bruno Haible  <bruno@clisp.org>
22609
22610         nproc: Fix condition.
22611         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
22612         HAVE_PTHREAD_AFFINITY_NP.
22613
22614 2010-11-20  Bruno Haible  <bruno@clisp.org>
22615
22616         Fix a comment.
22617         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
22618
22619 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
22620
22621         ftoastr: don't assume snprintf
22622         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
22623         Implement a subset of snprintf here, by using sprintf safely.
22624         * modules/ftoastr (Depends-on): Remove snprintf.
22625
22626 2010-11-19  Jim Meyering  <meyering@redhat.com>
22627
22628         test-rename.h: fix compilation failure
22629         * tests/test-rename.h (test_rename): Add omitted "}".
22630
22631 2010-11-17  Jim Meyering  <meyering@redhat.com>
22632
22633         maint.mk: add a URL discussing the no-@acronym policy
22634         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
22635
22636 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
22637
22638         ftoastr: depend on snprintf, improve comments
22639         * lib/ftoastr.c: Also mention Loitsch's draft.
22640         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
22641         needed in the current implementation, but it might simplify
22642         speeding up the code later.
22643         * modules/ftoastr: Depend on snprintf; this improves portability.
22644         Suggested by Bruno Haible in the same email.
22645
22646         ftoastr: port to hosts lacking strtof and strtold
22647         Problem reported by Bruno Haible in
22648         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
22649         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
22650         environment and strtold (and presumably strtof) are not available.
22651         * modules/ftoastr (Files): Add m4/c-strtod.m4.
22652         (configure.ac): Require gl_C99_STRTOLD.
22653
22654 2010-11-18  Bruno Haible  <bruno@clisp.org>
22655
22656         c-strtold: Avoid link error on AIX 7.
22657         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
22658         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
22659         (gl_C_STRTOLD): Test whether strtold_l exists.
22660         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22661
22662 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
22663
22664         intprops: new macro INT_BITS_STRLEN_BOUND
22665         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
22666         ftoastr.h.  This exposes an internal of intprops.h that was formerly
22667         not exposed.  Also, it uses a slightly tighter bound than before;
22668         though this makes no practical difference, we might as well be as
22669         tight as we easily can.
22670
22671         ftoastr: new module, for lossless conversion of floats to short strings
22672         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
22673         * modules/ftoastr: New files.
22674
22675 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
22676
22677         bootstrap: port to Solaris sed
22678         * build-aux/bootstrap (get_version): Port to Solaris sed.
22679         See Ralf Wildenhues's note in
22680         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
22681
22682 2010-11-14  Jim Meyering  <meyering@redhat.com>
22683
22684         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
22685         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
22686         and move definition closer to sole use.
22687
22688 2010-11-13  Jim Meyering  <meyering@redhat.com>
22689
22690         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
22691         Now we require at least autoconf-2.59, which means the work-around
22692         is no longer needed.
22693         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
22694         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22695         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22696         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22697         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22698
22699 2010-11-13  Bruno Haible  <bruno@clisp.org>
22700
22701         rename, renameat: Avoid test failures at NFS mounted locations.
22702         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
22703         functions.
22704         (test_rename): Use assert_nonexistent.
22705         * tests/test-rename.c: Include <dirent.h>.
22706         * tests/test-renameat.c: Likewise.
22707         Reported by Gary V. Vaughan <gary@gnu.org>.
22708
22709         rename, renameat: Document Linux bug with NFS
22710         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
22711         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
22712         * doc/posix-functions/renameat.texi: Likewise.
22713         Suggested by Eric Blake.
22714
22715 2010-11-13  Bruno Haible  <bruno@clisp.org>
22716
22717         rename test: Add comments.
22718         * tests/test-rename.h (test_rename): Add structure and comments.
22719
22720 2010-11-13  Eric Blake  <eblake@redhat.com>
22721
22722         maintainer-makefile: cover a few more files
22723         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
22724         scripts generated within C files, for libvirt.
22725
22726 2010-11-13  Bruno Haible  <bruno@clisp.org>
22727
22728         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
22729         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
22730         character, return the number of bytes that belong together, not always
22731         1.
22732         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
22733         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
22734         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
22735         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
22736         number of bytes of an invalid character.
22737         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
22738         (main): Invoke it.
22739         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
22740         results.
22741         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
22742         malformed byte sequences.
22743         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
22744         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
22745         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
22746         Reported by Ben Pfaff and Paolo Bonzini.
22747
22748 2010-11-13  Bruno Haible  <bruno@clisp.org>
22749
22750         openat: Work around glibc bug with fchownat() and empty file names.
22751         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
22752         (gl_FUNC_FCHOWNAT): Invoke it.
22753         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
22754         * doc/posix-functions/fchownat.texi: Document the glibc bug.
22755         Reported by Gary V. Vaughan <gary@gnu.org>.
22756
22757 2010-11-13  Bruno Haible  <bruno@clisp.org>
22758
22759         openat: Ensure autoconf macro ordering.
22760         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
22761         gl_USE_SYSTEM_EXTENSIONS.
22762         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
22763
22764 2010-11-13  Bruno Haible  <bruno@clisp.org>
22765
22766         Update comments.
22767         * lib/unistr/u8-check.c: Update file name in comments.
22768         * lib/unistr/u8-mblen.c: Likewise.
22769         * lib/unistr/u8-prev.c: Likewise.
22770         * lib/unistr/u8-strmblen.c: Likewise.
22771         * lib/unistr/u8-strmbtouc.c: Likewise.
22772
22773 2010-11-13  Jim Meyering  <meyering@redhat.com>
22774
22775         tests: avoid test failure on Solaris 10 due to lack of PATH export
22776         * tests/test-update-copyright.sh: Don't forget to export PATH.
22777
22778         init.sh: ensure that IFS is defined, just in case...
22779         * tests/init.sh (setup_): Ensure that IFS is defined,
22780         so that saving and restoring it works as expected.  This
22781         appears to be useful at least for an old version of dash
22782         from a long time ago (RH 6).  See here for details:
22783         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
22784
22785         maint.mk: tighten "test a == b" check
22786         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
22787         test to files that contain something like #!/bin/sh.
22788         Without this, coreutils would get two false positives in
22789         the comments of C source files.
22790
22791 2010-11-12  Eric Blake  <eblake@redhat.com>
22792
22793         bootstrap: fix typo in previous attempt
22794         * build-aux/bootstrap (buildreq): Correct the grouping.
22795         Reported by Paul Eggert.
22796
22797         maintainer-makefile: prohibit test x == x
22798         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
22799         Based on a report by Matthias Bolte.
22800
22801         bootstrap: allow FreeBSD gzip
22802         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
22803         which has no '.' and goes to stderr.
22804         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
22805         Reported by Matthias Bolte.
22806
22807         maintainer-makefile: check for i18n setup
22808         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
22809         will likely work.
22810
22811 2010-11-12  Bruno Haible  <bruno@clisp.org>
22812
22813         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
22814         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
22815         * lib/nanosleep.c (nanosleep): Likewise.
22816
22817 2010-11-11  Bruno Haible  <bruno@clisp.org>
22818
22819         fcntl-h: Fix for use of C++ on glibc systems.
22820         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22821         also on glibc systems in C++ mode.
22822         Reported by Gary V. Vaughan <gary@gnu.org>.
22823
22824 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22825
22826         mknod: avoid false failure with dash
22827         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
22828
22829 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
22830
22831         unlink: Fix "is it should" typo in diagnostic.
22832         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
22833         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
22834
22835 2010-11-11  Bruno Haible  <bruno@clisp.org>
22836
22837         Tests for module 'strerror_r-posix'.
22838         * modules/strerror_r-posix-tests: New file.
22839         * tests/test-strerror_r.c: New file.
22840         * tests/test-string-c++.cc: Check the signature of strerror_r.
22841
22842         New module 'strerror_r-posix'.
22843         * lib/string.in.h (strerror_r): New declaration.
22844         * lib/strerror_r.c: New file.
22845         * m4/strerror_r.m4: New file.
22846         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
22847         of strerror_r.
22848         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
22849         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22850         * modules/strerror_r-posix: New file.
22851         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
22852         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22853         * doc/posix-functions/strerror_r.texi: Mention the new module and the
22854         portability problems.
22855
22856 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
22857
22858         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
22859         line is also considered for output. Quoted function name in shell
22860         command, so temporary files for functions like MyClass::operator()
22861         are removed correctly without errors.
22862
22863 2010-11-09  Bruno Haible  <bruno@clisp.org>
22864
22865         * doc/posix-functions/strerror.texi: List more failing platforms.
22866
22867         * doc/posix-functions/strerror.texi: Add a comment.
22868
22869 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
22870
22871         fdopendir: fix bug on MacOS X when low on file descriptors
22872
22873         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
22874         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
22875         All callers changed.
22876         (fdopendir): Invoke save_cwd at the top level, not after using
22877         multiple dup() calls to use up file descriptors.  Then retry
22878         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
22879         less than the maximum number of open file descriptors, because
22880         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
22881         on Mac OS X 10.6.4 for tar 1.24
22882         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
22883         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
22884         and for tar 1.25
22885         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
22886
22887 2010-11-07  Bruno Haible  <bruno@clisp.org>
22888
22889         vasnprintf: Support I flag on glibc systems.
22890         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
22891         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
22892         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
22893         snprintf function.
22894         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
22895         glibc systems.
22896         * tests/test-vasnprintf-posix3.c: New file.
22897         * modules/vasnprintf-posix-tests (Files): Add it.
22898         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
22899
22900 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
22901
22902         [html] Fix copy/paste bug: Use unique name for compiler warnings.
22903         * MODULES.html.sh: For compiler warnings, use name
22904         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
22905
22906 2010-11-05  Eric Blake  <eblake@redhat.com>
22907
22908         ceil, floor: avoid spurious failure with icc
22909         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
22910         [denormals-as-zero] when optimizing without -mieee-fp option.
22911         * tests/test-floorf2.c (floorf_reference): Likewise.
22912         * tests/test-ceilf1.c (dummy): New function.
22913         (main): Use it to outsmart icc's optimization.
22914         * tests/test-floorf1.c (dummy, main): Likewise.
22915
22916         tests: require working signbit
22917         * modules/ceilf-tests (Depends-on): Add signbit.
22918         * modules/ceill-tests (Depends-on): Likewise.
22919         * modules/floorf-tests (Depends-on): Likewise.
22920         * modules/floorl-tests (Depends-on): Likewise.
22921         * modules/round-tests (Depends-on): Likewise.
22922         * modules/roundf-tests (Depends-on): Likewise.
22923         * modules/roundl-tests (Depends-on): Likewise.
22924         * modules/trunc-tests (Depends-on): Likewise.
22925         * modules/truncf-tests (Depends-on): Likewise.
22926         * modules/truncl-tests (Depends-on): Likewise.
22927
22928         strtod: work around icc bug
22929         * lib/strtod.c (minus_zero): Define to working value.
22930         (strtod): Use it to avoid icc bug.
22931
22932         copysign: enhance tests
22933         * modules/copysign-tests (Files): Add minus-zero.h.
22934         * tests/test-copysign.c (main): Also test zeros.
22935
22936 2010-11-04  Eric Blake  <eblake@redhat.com>
22937
22938         ceil, floor, round, trunc: enhance tests of -0
22939         * tests/test-ceilf1.c (main): Ensure correct sign of result.
22940         * tests/test-ceill.c (main): Likewise.
22941         * tests/test-floorf1.c (main): Likewise.
22942         * tests/test-floorl.c (main): Likewise.
22943         * tests/test-round1.c (main): Likewise.
22944         * tests/test-roundf1.c (main): Likewise.
22945         * tests/test-roundl.c (main): Likewise.
22946         * tests/test-trunc1.c (main): Likewise.
22947         * tests/test-truncf1.c (main): Likewise.
22948         * tests/test-truncl.c (main): Likewise.
22949
22950 2010-11-04  Eric Blake  <eblake@redhat.com>
22951
22952         frexp, tests: work around ICC bug with -zero
22953         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
22954         works with more compilers.
22955         * tests/minus-zero.h: New file.
22956         * modules/ceilf-tests (Files): Include it.
22957         * modules/ceill-tests (Files): Likewise.
22958         * modules/floorf-tests (Files): Likewise.
22959         * modules/floorl-tests (Files): Likewise.
22960         * modules/frexp-nolibm-tests (Files): Likewise.
22961         * modules/frexp-tests (Files): Likewise.
22962         * modules/frexpl-nolibm-tests (Files): Likewise.
22963         * modules/frexpl-tests (Files): Likewise.
22964         * modules/isnan-tests (Files): Likewise.
22965         * modules/isnand-nolibm-tests (Files): Likewise.
22966         * modules/isnand-tests (Files): Likewise.
22967         * modules/isnanf-nolibm-tests (Files): Likewise.
22968         * modules/isnanf-tests (Files): Likewise.
22969         * modules/isnanl-nolibm-tests (Files): Likewise.
22970         * modules/isnanl-tests (Files): Likewise.
22971         * modules/round-tests (Files): Likewise.
22972         * modules/roundf-tests (Files): Likewise.
22973         * modules/roundl-tests (Files): Likewise.
22974         * modules/ldexpl-tests (Files): Likewise.
22975         * modules/signbit-tests (Files): Likewise.
22976         * modules/snprintf-posix-tests (Files): Likewise.
22977         * modules/sprintf-posix-tests (Files): Likewise.
22978         * modules/strtod-tests (Files): Likewise.
22979         * modules/trunc-tests (Files): Likewise.
22980         * modules/truncf-tests (Files): Likewise.
22981         * modules/truncl-tests (Files): Likewise.
22982         * modules/vsnprintf-posix-tests (Files): Likewise.
22983         * modules/vsprintf-posix-tests (Files): Likewise.
22984         * modules/vasnprintf-posix-tests (Files): Likewise.
22985         * modules/vasprintf-posix-tests (Files): Likewise.
22986         * tests/test-ceilf1.c (main): Use it.
22987         * tests/test-ceill.c (main): Likewise.
22988         * tests/test-floorf1.c (main): Likewise.
22989         * tests/test-floorl.c (main): Likewise.
22990         * tests/test-frexp.c (main): Likewise.
22991         * tests/test-frexpl.c (main): Likewise.
22992         * tests/test-isnan.c (main): Likewise.
22993         * tests/test-isnand.h (main): Likewise.
22994         * tests/test-isnanf.h (main): Likewise.
22995         * tests/test-isnanl.h (main): Likewise.
22996         * tests/test-ldexpl.c (main): Likewise.
22997         * tests/test-round.c (main): Likewise.
22998         * tests/test-roundf.c (main): Likewise.
22999         * tests/test-roundl.c (main): Likewise.
23000         * tests/test-signbit.c (test_signbitf, test_signbitd)
23001         (test_signbitl): Likewise.
23002         * tests/test-snprintf-posix.h (test_function): Likewise.
23003         * tests/test-sprintf-posix.h (test_function): Likewise.
23004         * tests/test-strtod.c (main): Likewise.
23005         * tests/test-trunc1.c (main): Likewise.
23006         * tests/test-truncf1.c (main): Likewise.
23007         * tests/test-truncl.c (main): Likewise.
23008
23009         isnanl: work around icc bug
23010         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
23011
23012 2010-11-03  Eric Blake  <eblake@redhat.com>
23013
23014         tests: fix compiler warnings
23015         * tests/test-getopt.h (test_getopt): Fix condition.
23016         * tests/test-getopt_long.h (test_getopt_long): Likewise.
23017         * tests/test-pipe2.c (main): Likewise.
23018         * tests/test-quotearg-simple.c (main): Avoid icc warning.
23019
23020         utimens: fix broken m4 test
23021         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
23022
23023 2010-10-28  Bruno Haible  <bruno@clisp.org>
23024
23025         posix_spawn*, getdtablesize: Relax license.
23026         * modules/posix_spawn (License): Change to LGPLv2+.
23027         * modules/posix_spawnp (License): Likewise.
23028         * modules/posix_spawn-internal (License): Likewise.
23029         * modules/posix_spawnattr_init (License): Likewise.
23030         * modules/posix_spawnattr_getflags (License): Likewise.
23031         * modules/posix_spawnattr_setflags (License): Likewise.
23032         * modules/posix_spawnattr_getpgroup (License): Likewise.
23033         * modules/posix_spawnattr_setpgroup (License): Likewise.
23034         * modules/posix_spawnattr_getschedparam (License): Likewise.
23035         * modules/posix_spawnattr_setschedparam (License): Likewise.
23036         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
23037         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
23038         * modules/posix_spawnattr_getsigdefault (License): Likewise.
23039         * modules/posix_spawnattr_setsigdefault (License): Likewise.
23040         * modules/posix_spawnattr_getsigmask (License): Likewise.
23041         * modules/posix_spawnattr_setsigmask (License): Likewise.
23042         * modules/posix_spawnattr_destroy (License): Likewise.
23043         * modules/posix_spawn_file_actions_init (License): Likewise.
23044         * modules/posix_spawn_file_actions_addclose (License): Likewise.
23045         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
23046         * modules/posix_spawn_file_actions_addopen (License): Likewise.
23047         * modules/posix_spawn_file_actions_destroy (License): Likewise.
23048         * modules/getdtablesize (License): Likewise.
23049         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
23050
23051 2010-10-26  Bruno Haible  <bruno@clisp.org>
23052
23053         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
23054         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
23055         Cygwin and mingw.
23056         Suggested by Eric Blake.
23057
23058 2010-10-26  Bruno Haible  <bruno@clisp.org>
23059
23060         stdio: Work around compilation error due to renameat() on Solaris 10.
23061         * lib/stdio.in.h: Include <unistd.h> on Solaris.
23062         * lib/renameat.c: Don't include <unistd.h> here.
23063         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
23064         Reported by Paul Eggert and Eric Blake.
23065
23066 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
23067
23068         renameat: port to Solaris 10, which declares renameat in unistd.h
23069
23070         * lib/renameat.c: Include unistd.h before stdio.h, because
23071         Solaris 10 declares renameat in unistd.h.  Problem encountered
23072         when building GNU tar 1.24 on Solaris 10.
23073
23074 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23075
23076         fdopendir: fix C89 compilation
23077         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
23078         compilers.
23079
23080 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
23081
23082         inttostr: simplify by removing unnecessary redundancy
23083         * lib/anytostr.c: Don't include verify.h.
23084         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
23085         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
23086         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
23087         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
23088         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
23089         Likewise.
23090         * modules/inttostr (Depends-on): Remove 'verify'.
23091
23092 2010-10-23  Bruno Haible  <bruno@clisp.org>
23093
23094         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
23095         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
23096         Reported by Eric Blake.
23097
23098 2010-10-23  Bruno Haible  <bruno@clisp.org>
23099
23100         Tests: Fix LOCALE_JA on MirBSD 10.
23101         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
23102         to an UTF-8 locale.
23103         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
23104         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23105         Reported by Eric Blake.
23106
23107 2010-10-21  Bruno Haible  <bruno@clisp.org>
23108
23109         nl_langinfo test: Avoid test failure on NetBSD 5.
23110         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
23111         Reported by Eric Blake.
23112
23113 2010-10-21  Eric Blake  <eblake@redhat.com>
23114
23115         c-stack: work around libsigsegv 2.8 bug
23116         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
23117         overflow on at least PowerPC64.
23118
23119 2010-10-17  Bruno Haible  <bruno@clisp.org>
23120
23121         userspec: Drop redundant file.
23122         * modules/userspec (Files): Remove lib/inttostr.h.
23123
23124 2010-10-17  Bruno Haible  <bruno@clisp.org>
23125
23126         nl_langinfo tests: Silence some warnings.
23127         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
23128         Reported by Jim Meyering.
23129
23130 2010-10-17  Bruno Haible  <bruno@clisp.org>
23131
23132         Make use of GCC's attribute __alloc_size__.
23133         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
23134         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
23135         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
23136         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
23137         __alloc_size__.
23138         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
23139         Suggested by Jim Meyering.
23140
23141 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
23142
23143         bootstrap: anchor .gitignore entries.
23144         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
23145         with...
23146         (insert_vc_ignore): ... this new function, which prepends `/' to
23147         all .gitignore entries before passing them to
23148         insert_sorted_if_absent.
23149
23150 2010-10-16  Bruno Haible  <bruno@clisp.org>
23151
23152         nextafter: Fix configure check.
23153         * modules/nextafter (configure.ac): Correct expected prototype.
23154
23155 2010-10-16  Bruno Haible  <bruno@clisp.org>
23156
23157         termios: Update documentation.
23158         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
23159
23160 2010-10-16  Bruno Haible  <bruno@clisp.org>
23161
23162         tests: Make them compile with TinyCC.
23163         * tests/test-strstr.c (main): Remove parentheses around array
23164         initializer.
23165
23166 2010-10-15  Eric Blake  <eblake@redhat.com>
23167
23168         ignore-value: make header idempotent
23169         * lib/ignore-value.h: Add double-inclusion guards.
23170         Reported by Stefan Berger.
23171
23172 2010-10-15  Jim Meyering  <meyering@redhat.com>
23173
23174         GNUmakefile: handle "stable" target, not "major"
23175         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
23176         lists in maint.mk and announce-gen.  Without this, "make stable"
23177         would fail to ensure that $(VERSION) is up to date.
23178
23179 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
23180
23181         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
23182         & co.
23183
23184 2010-10-14  Bruno Haible  <bruno@clisp.org>
23185
23186         vasnprintf: Don't set errno to 0.
23187         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
23188         block that sets it to 0.
23189         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23190
23191 2010-10-14  Bruno Haible  <bruno@clisp.org>
23192
23193         socketlib: Fix.
23194         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
23195         gl_PREREQ_SYS_H_WINSOCK2.
23196         Reported by Ian Beckwith <ianb@erislabs.net>.
23197
23198 2010-10-13  Jim Meyering  <meyering@redhat.com>
23199
23200         test-select-stdin.c: avoid warn_unused_result warnings
23201         * tests/test-select-stdin.c: Include "macros.h".
23202         ASSERT that read and fflush succeed.
23203
23204 2010-10-13  Jim Meyering  <meyering@redhat.com>
23205
23206         git-version-gen: do require git-VC'd files in cwd
23207         * build-aux/git-version-gen: Reject a git version string
23208         if there are no commits associated with the current directory.
23209         This avoids an unlikely false-positive (unrelated dir whose parent
23210         repository also contains a tag matching v*), as pointed out
23211         by Giuseppe Scrivano in
23212         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
23213
23214 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
23215
23216         argv-iter: omit nonconforming declaration
23217         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
23218         enum arg_iter_err declaration, which doesn't conform to C99.
23219         Solaris 10 cc warns about this.
23220
23221 2010-10-13  Eric Blake  <eblake@redhat.com>
23222
23223         termios: fix compilation on mingw
23224         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
23225         (gl_TERMIOS_H): Adjust it on mingw.
23226         * modules/termios (Makefile.am): Substitute new key.
23227         * lib/termios.in.h (includes): Make include_next conditional.
23228         * doc/posix-headers/termios.texi (termios.h): Update
23229         documentation.
23230         Reported by Daniel P. Berrange.
23231
23232 2010-10-13  Jim Meyering  <meyering@redhat.com>
23233
23234         git-version-gen: don't require that .git/ be in the current dir
23235         * build-aux/git-version-gen: Adjust this script so that it works
23236         when run from any working directory beneath the top-level .git/-
23237         containing directory.  Inspired by a patch from Giuseppe Scrivano,
23238         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
23239
23240         test-select: avoid warn_unused_result warnings
23241         * tests/test-select.c: Include "macros.h".
23242         ASSERT that each call to read, write, and pipe succeeds.
23243         While not technically required, also check each "close".
23244         * modules/select-tests (Files): Add tests/macros.h.
23245
23246         test-symlinkat: remove declaration of unused local
23247         * tests/test-symlinkat.c (main): Remove unused local, "buf".
23248
23249         test-inttostr: avoid shadowing warnings
23250         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
23251         and use malloc rather than the stack for the same reason as
23252         mentioned in the comment justifying the other allocation.
23253
23254 2010-10-11  Bruno Haible  <bruno@clisp.org>
23255
23256         stdlib: Allow multiple gnulib generated replacements to coexist.
23257         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
23258         Reported by Sam Steingold <sds@gnu.org>.
23259
23260 2010-10-11  Jim Meyering  <meyering@redhat.com>
23261
23262         fix a documentation typo
23263         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
23264
23265 2010-10-11  Eric Blake  <eblake@redhat.com>
23266
23267         futimens: work around Solaris 11 bug
23268         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
23269         * tests/test-futimens.h (test_futimens): Enhance, rather than
23270         weaken test.
23271         * doc/posix-functions/futimens.texi (futimens): Document the bug.
23272
23273 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
23274
23275         Indentation.
23276         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
23277         higher-level operators more to the left.
23278
23279 2010-10-11  Jim Meyering  <meyering@redhat.com>
23280
23281         test-futimens: avoid unwarranted test failure on Solaris 5.11
23282         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
23283         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
23284         because it tries to dereference the NULL name argument.
23285
23286 2010-10-11  Bruno Haible  <bruno@clisp.org>
23287
23288         Indentation.
23289         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
23290         indentation.
23291
23292 2010-10-11  Jim Meyering  <meyering@redhat.com>
23293
23294         spawn.in.h: make indentation consistent with parentheses
23295         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
23296         Make indentation consistent with parentheses.
23297
23298 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
23299
23300         Fix mismatched parens in previous commit
23301         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
23302         parens.
23303
23304 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
23305
23306         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
23307
23308         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
23309         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
23310         * lib/malloca.c: Include "verify.h".
23311         (verify1): Remove, replacing with a verify call.
23312         * lib/relocwrapper.c (verify1): Likewise.
23313         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
23314         Likewise.
23315         * modules/malloca (Depends-on): Add 'verify'.
23316         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
23317         * modules/vasnprintf (Depends-on): Add 'verify'.
23318         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23319         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23320         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23321         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23322         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23323         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23324         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23325
23326         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
23327
23328         Formerly the style was sometimes 2*X - 1, because the C standard
23329         was wrongly thought to disallow ?: in integral constant expressions.
23330         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
23331         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
23332         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
23333         * lib/stdint.in.h (_verify_intmax_size): Likewise.
23334         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
23335         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
23336         verify that time_t cannot be floating.
23337
23338 2010-10-08  Eric Blake  <eblake@redhat.com>
23339
23340         time: enforce recent POSIX ruling that time_t is integral
23341         * lib/time.in.h (__time_t_must_be_integral): Detect any
23342         problematic systems, allowing the rest of gnulib to assume POSIX.
23343
23344 2010-10-08  Jim Meyering  <meyering@redhat.com>
23345
23346         fdopendir: fix a bug on systems lacking openat and /proc support
23347         OpenBSD 4.7 is one such system.  The most noticeable effect was
23348         failure of any application making nontrivial use of fts: rm, du,
23349         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
23350           ./rm: traversal failed: `a': Bad file descriptor
23351         Debugging that, you see that even though FD 6 was closed just
23352         prior to the opendir call in fd_clone_opendir, its resulting
23353         dir->dd_fd was 8, rather than the expected value of 6:
23354
23355         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
23356         93                close (fd);
23357         (gdb) n
23358         94                dir = fd_clone_opendir (dupfd);
23359         (gdb) n
23360         95                saved_errno = errno;
23361         (gdb) p dir->dd_fd
23362         $11 = 8
23363
23364         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
23365         The problem is that on OpenBSD, fd_clone_opendir has to resort
23366         to using the old-style save/restore CWD mechanism, due to its
23367         lack of openat/proc support, and *that* would steal the FD (6)
23368         that opendir was supposed to use.
23369
23370         The fix is to squirrel away the desired FD so that save_cwd uses a
23371         different one, and then free the dest FD right before calling opendir.
23372         That guarantees opendir will use the required file descriptor.
23373
23374         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
23375
23376 2010-10-08  Bruno Haible  <bruno@clisp.org>
23377
23378         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
23379         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
23380
23381 2010-10-08  Bruno Haible  <bruno@clisp.org>
23382
23383         nanosleep: Make replacement POSIX compliant.
23384         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
23385         is out of range.
23386         Reported by Jim Meyering.
23387
23388 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
23389
23390         bootstrap: add hook for altering gnulib.mk, for Bison
23391         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
23392         the Bison bootstrapping process can rewrite file names and variables
23393         in this file before later parts of 'bootstrap' use the file.
23394         Bison wants to include lib/gnulib.mk from the top-level makefile,
23395         so it needs the file names in this file to be relative to the top
23396         level, not relative to lib; plus it needs variable names to be
23397         rewritten.
23398         (slurp): Use the new function.
23399
23400         bootstrap: reformat for readability
23401         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
23402
23403 2010-10-08  Eric Blake  <eblake@redhat.com>
23404
23405         docs: update cygwin progress
23406         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
23407         1.7.7.
23408         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
23409         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
23410         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
23411         * doc/posix-functions/carg.texi (carg): Likewise.
23412         * doc/posix-functions/cargf.texi (cargf): Likewise.
23413         * doc/posix-functions/casin.texi (casin): Likewise.
23414         * doc/posix-functions/casinf.texi (casinf): Likewise.
23415         * doc/posix-functions/casinh.texi (casinh): Likewise.
23416         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
23417         * doc/posix-functions/catan.texi (catan): Likewise.
23418         * doc/posix-functions/catanf.texi (catanf): Likewise.
23419         * doc/posix-functions/catanh.texi (catanh): Likewise.
23420         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
23421         * doc/posix-functions/ccos.texi (ccos): Likewise.
23422         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
23423         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
23424         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
23425         * doc/posix-functions/cexp.texi (cexp): Likewise.
23426         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
23427         * doc/posix-functions/cimag.texi (cimag): Likewise.
23428         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
23429         * doc/posix-functions/clog.texi (clog): Likewise.
23430         * doc/posix-functions/clogf.texi (clogf): Likewise.
23431         * doc/posix-functions/conj.texi (conj): Likewise.
23432         * doc/posix-functions/conjf.texi (conjf): Likewise.
23433         * doc/posix-functions/cpow.texi (cpow): Likewise.
23434         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
23435         * doc/posix-functions/cproj.texi (cproj): Likewise.
23436         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
23437         * doc/posix-functions/creal.texi (creal): Likewise.
23438         * doc/posix-functions/crealf.texi (crealf): Likewise.
23439         * doc/posix-functions/csin.texi (csin): Likewise.
23440         * doc/posix-functions/csinf.texi (csinf): Likewise.
23441         * doc/posix-functions/csinh.texi (csinh): Likewise.
23442         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
23443         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
23444         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
23445         * doc/posix-functions/ctan.texi (ctan): Likewise.
23446         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
23447         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
23448         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
23449         * doc/posix-headers/complex.texi (complex.h): Likewise.
23450
23451 2010-10-07  Jim Meyering  <meyering@redhat.com>
23452
23453         parse-datetime: avoid compilation failure on OpenBSD 4.7
23454         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
23455         This works around a compilation failure on OpenBSD 4.7:
23456         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
23457
23458 2010-10-07  Eric Blake  <eblake@redhat.com>
23459
23460         docs: update cygwin progress
23461         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
23462         1.7.6.
23463         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
23464         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
23465         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
23466         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
23467         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
23468         Likewise.
23469         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
23470         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
23471         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
23472         Likewise.
23473         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
23474         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
23475         Likewise.
23476         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
23477         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
23478         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
23479         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
23480         Likewise.
23481         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
23482         Likewise.
23483         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
23484
23485         docs: update parse-datetime history
23486         * doc/parse-datetime.texi (Authors of parse_datetime): Better
23487         documentation of this function's history and alternatives.
23488
23489         cygwin: use more robust version check
23490         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
23491         exclude an eventual cygwin 1.9.1.
23492         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23493         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23494         (gl_FUNC_STRCASESTR): Likewise.
23495         Reported by Bruno Haible.
23496
23497 2010-10-06  Bruno Haible  <bruno@clisp.org>
23498
23499         string, sys_select: Avoid #including large headers unless necessary.
23500         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
23501         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
23502         OSF/1, BeOS, Haiku.
23503         Reported by Jim Meyering.
23504
23505 2010-10-05  Eric Blake  <eblake@redhat.com>
23506
23507         memmem, strstr, strcasestr: fix bug with long periodic needle
23508         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
23509         periodic needle having false positive.
23510         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
23511         and cygwin 1.7.7.
23512         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
23513         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23514         (gl_FUNC_STRCASESTR): Likewise.
23515         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23516         * tests/test-memmem.c (main): Expose the bug.
23517         * tests/test-strcasestr.c (main): Likewise.
23518         * tests/test-strstr.c (main): Likewise.
23519         * tests/test-c-strcasestr.c (main): Likewise.
23520         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
23521         * doc/posix-functions/strstr.texi (strstr): Likewise.
23522         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
23523         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
23524
23525 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23526
23527         parse-datetime: do some more renaming
23528         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
23529         parse_datetime, not get_date.  Mention the renaming.
23530         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
23531         in comments.
23532         * m4/bison.m4: Likewise.
23533
23534 2010-10-05  Eric Blake  <eblake@redhat.com>
23535
23536         parse-datetime: better name than get_date
23537         * NEWS: Reword the deprecation notice.
23538         * modules/get_date: Rename to modules/parse-datetime.
23539         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
23540         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
23541         * lib/get_date.y: Rename to lib/parse-datetime.y.
23542         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
23543         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
23544         * doc/getdate.texi: Provide fallback wrapper.
23545         * lib/getdate.h: Move guts, and wrap...
23546         * lib/parse-datetime.h: ...new file.
23547         * lib/parse-datetime.y (get_date): Rename...
23548         (parse_datetime): ...to this.
23549         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
23550         (gl_PARSE_DATETIME): ...to this.
23551         * doc/posix-functions/getdate.texi (get_date): Provide fallback
23552         documentation.
23553         * modules/getdate (Files): Provide fallback docs and header.
23554         (Notice, Depends-on): Update references.
23555         * tests/test-parse-datetime.c: Likewise.
23556         * DEPENDENCIES: Likewise.
23557         * MODULES.html.sh (Date and time <time.h>): Likewise.
23558         * doc/parse-datetime.texi (Date input formats)
23559         (Authors of parse_datetime): Likewise.
23560         * modules/parse-datetime (Files, configure.ac, Makefile.am)
23561         (Include): Likewise.
23562         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
23563         * gnulib-tool: Likewise.
23564         * m4/bison.m4 (gl_BISON): Likewise.
23565         Suggested by Bruno Haible.
23566
23567 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23568
23569         more ports to Solaris tr, which needs [] around ranges
23570         * gnulib-tool: Solaris tr needs [] around ranges.
23571         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23572         * tests/test-pipe-filter-gi1.c (main): Likewise.
23573         * tests/test-pipe-filter-ii1.c (main): Likewise.
23574
23575 2010-10-05  Eric Blake  <eblake@redhat.com>
23576
23577         bootstrap: fix Solaris regression
23578         * build-aux/bootstrap (check_versions): Solaris tr still needs []
23579         around ranges.
23580         Reported by Pádraig Brady.
23581
23582         bootstrap: work with pkg-config
23583         * build-aux/bootstrap (check_versions): Also transliterate - in
23584         prerequisite name.
23585         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
23586         prerequisites that were already found, to avoid confusion.
23587         Reported by Justin Clift.
23588
23589         faccessat: remove unused wrappers
23590         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
23591         presence of these wrappers dragged in -lgen on Solaris.
23592         Reported by Clemens Brogi; fix suggested by Paul Eggert.
23593
23594 2010-10-05  Jim Meyering  <meyering@redhat.com>
23595
23596         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
23597         * Makefile (sc_pragma_columns): New syntax-check rule.
23598
23599 2010-10-04  Bruno Haible  <bruno@clisp.org>
23600
23601         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
23602         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
23603         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
23604         Reported by Bruce Korb and Eric Blake.
23605
23606 2010-10-04  Bruno Haible  <bruno@clisp.org>
23607
23608         threadlib: Make option --with-libpth-prefix work.
23609         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
23610         use $LIBPTH, not just -lpth.
23611
23612 2010-10-04  Bruno Haible  <bruno@clisp.org>
23613
23614         Avoid line length limitation from HP NonStop system header files.
23615         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
23616         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
23617         * lib/ctype.in.h: Likewise.
23618         * lib/dirent.in.h: Likewise.
23619         * lib/errno.in.h: Likewise.
23620         * lib/fcntl.in.h: Likewise.
23621         * lib/float.in.h: Likewise.
23622         * lib/getopt.in.h: Likewise.
23623         * lib/iconv.in.h: Likewise.
23624         * lib/inttypes.in.h: Likewise.
23625         * lib/langinfo.in.h: Likewise.
23626         * lib/locale.in.h: Likewise.
23627         * lib/math.in.h: Likewise.
23628         * lib/netdb.in.h: Likewise.
23629         * lib/netinet_in.in.h: Likewise.
23630         * lib/poll.in.h: Likewise.
23631         * lib/pthread.in.h: Likewise.
23632         * lib/pty.in.h: Likewise.
23633         * lib/sched.in.h: Likewise.
23634         * lib/se-selinux.in.h: Likewise.
23635         * lib/search.in.h: Likewise.
23636         * lib/signal.in.h: Likewise.
23637         * lib/spawn.in.h: Likewise.
23638         * lib/stdarg.in.h: Likewise.
23639         * lib/stddef.in.h: Likewise.
23640         * lib/stdint.in.h: Likewise.
23641         * lib/stdio.in.h: Likewise.
23642         * lib/stdlib.in.h: Likewise.
23643         * lib/string.in.h: Likewise.
23644         * lib/strings.in.h: Likewise.
23645         * lib/sys_file.in.h: Likewise.
23646         * lib/sys_ioctl.in.h: Likewise.
23647         * lib/sys_select.in.h: Likewise.
23648         * lib/sys_socket.in.h: Likewise.
23649         * lib/sys_stat.in.h: Likewise.
23650         * lib/sys_time.in.h: Likewise.
23651         * lib/sys_times.in.h: Likewise.
23652         * lib/sys_utsname.in.h: Likewise.
23653         * lib/sys_wait.in.h: Likewise.
23654         * lib/sysexits.in.h: Likewise.
23655         * lib/termios.in.h: Likewise.
23656         * lib/time.in.h: Likewise.
23657         * lib/unistd.in.h: Likewise.
23658         * lib/wchar.in.h: Likewise.
23659         * lib/wctype.in.h: Likewise.
23660         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
23661         * modules/ctype (Makefile.am): Likewise.
23662         * modules/dirent (Makefile.am): Likewise.
23663         * modules/errno (Makefile.am): Likewise.
23664         * modules/fcntl-h (Makefile.am): Likewise.
23665         * modules/float (Makefile.am): Likewise.
23666         * modules/getopt-posix (Makefile.am): Likewise.
23667         * modules/iconv-h (Makefile.am): Likewise.
23668         * modules/inttypes (Makefile.am): Likewise.
23669         * modules/langinfo (Makefile.am): Likewise.
23670         * modules/locale (Makefile.am): Likewise.
23671         * modules/math (Makefile.am): Likewise.
23672         * modules/netdb (Makefile.am): Likewise.
23673         * modules/netinet_in (Makefile.am): Likewise.
23674         * modules/poll-h (Makefile.am): Likewise.
23675         * modules/pthread (Makefile.am): Likewise.
23676         * modules/pty (Makefile.am): Likewise.
23677         * modules/sched (Makefile.am): Likewise.
23678         * modules/search (Makefile.am): Likewise.
23679         * modules/selinux-h (Makefile.am): Likewise.
23680         * modules/signal (Makefile.am): Likewise.
23681         * modules/spawn (Makefile.am): Likewise.
23682         * modules/stdarg (Makefile.am): Likewise.
23683         * modules/stddef (Makefile.am): Likewise.
23684         * modules/stdint (Makefile.am): Likewise.
23685         * modules/stdio (Makefile.am): Likewise.
23686         * modules/stdlib (Makefile.am): Likewise.
23687         * modules/string (Makefile.am): Likewise.
23688         * modules/strings (Makefile.am): Likewise.
23689         * modules/sys_file (Makefile.am): Likewise.
23690         * modules/sys_ioctl (Makefile.am): Likewise.
23691         * modules/sys_select (Makefile.am): Likewise.
23692         * modules/sys_socket (Makefile.am): Likewise.
23693         * modules/sys_stat (Makefile.am): Likewise.
23694         * modules/sys_time (Makefile.am): Likewise.
23695         * modules/sys_times (Makefile.am): Likewise.
23696         * modules/sys_utsname (Makefile.am): Likewise.
23697         * modules/sys_wait (Makefile.am): Likewise.
23698         * modules/sysexits (Makefile.am): Likewise.
23699         * modules/termios (Makefile.am): Likewise.
23700         * modules/time (Makefile.am): Likewise.
23701         * modules/unistd (Makefile.am): Likewise.
23702         * modules/wchar (Makefile.am): Likewise.
23703         * modules/wctype (Makefile.am): Likewise.
23704
23705 2010-10-04  Bruno Haible  <bruno@clisp.org>
23706
23707         read-file tests: Avoid a test failure on NonStop Kernel.
23708         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
23709         a regular file.
23710         Reported by Joachim Schmitz <schmitz@hp.com>.
23711
23712 2010-10-03  Bruno Haible  <bruno@clisp.org>
23713
23714         gnulib-tool: Fixes for --create-testdir with --libtool.
23715         * gnulib-tool (func_get_automake_snippet): Don't augment
23716         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
23717         an executable.
23718         (func_create_testdir): Handle module 'alloca' like func_import.
23719         Reported by Bruce Korb <bruce.korb@gmail.com>.
23720
23721 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
23722
23723         Avoid some lines longer than 80 characters.
23724         * lib/stdint.in.h: Break long comment lines.
23725         * lib/math.in.h: Likewise.
23726         (_GL_NUM_UINT_WORDS): New macro, for readability.
23727         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
23728         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
23729         * lib/stdlib.in.h: Likewise.
23730         * lib/spawn.in.h: Likewise.
23731         * lib/sys_socket.in.h: Update an URL.
23732         * lib/sys_stat.in.h: Break long line.
23733
23734 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
23735
23736         Improve pmccabe2html.
23737         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
23738         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
23739         when the sources change. Remove the line in the HTML about "Used
23740         ranges" (which implied that there might be other unused ranges),
23741         rename "Resume" to "Summary" (easier to understand for more users).
23742         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
23743         styles, and some unnecessary blank lines.
23744
23745 2010-10-03  Bruno Haible  <bruno@clisp.org>
23746             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
23747
23748         acl: Add support for ACLs on NonStop Kernel.
23749         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
23750         Check whether the function aclsort() exists.
23751         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
23752         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
23753         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23754         (acl_nontrivial [HAVE_ACLSORT]: New function.
23755         (file_has_acl): Implement for NonStop Kernel.
23756         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23757         (qset_acl): Implement for NonStop Kernel.
23758         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
23759         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23760         (main): Implement for NonStop Kernel.
23761         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
23762         Kernel. Handle this flavor.
23763         * tests/test-set-mode-acl.sh: Likewise.
23764         * tests/test-copy-acl.sh: Likewise.
23765         * tests/test-copy-file.sh: Likewise.
23766
23767 2010-10-03  Bruno Haible  <bruno@clisp.org>
23768
23769         Info about ACLs on NonStop Kernel.
23770         * doc/acl-resources.txt: Add info about NonStop Kernel.
23771         References by Joachim Schmitz <schmitz@hp.com>.
23772
23773 2010-10-02  Bruno Haible  <bruno@clisp.org>
23774
23775         Define missing EDQUOT on NonStop Kernel.
23776         * lib/errno.in.h (EDQUOT): Assign a value if missing.
23777         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
23778         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
23779         missing.
23780         * doc/posix-headers/errno.texi: Mention the NSK bug.
23781         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
23782         Reported by Joachim Schmitz <schmitz@hp.com>.
23783
23784 2010-10-02  Bruno Haible  <bruno@clisp.org>
23785
23786         Update doc for POSIX:2008.
23787         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
23788         Update URL of POSIX specification.
23789
23790 2010-10-02  Bruno Haible  <bruno@clisp.org>
23791
23792         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
23793         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
23794         from gnulib, not from Automake.
23795
23796 2010-10-02  Bruno Haible  <bruno@clisp.org>
23797
23798         New module 'system-posix'.
23799         * modules/system-posix: New file.
23800         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
23801         module is present.
23802         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
23803         GNULIB_SYSTEM_POSIX.
23804         * modules/stdlib (Depends-on): Remove sys_wait.
23805         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
23806         * doc/posix-functions/system.texi: Mention the new module.
23807         * doc/posix-headers/stdlib.texi: Likewise.
23808         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
23809         define test_sys_wait_macros to a no-op.
23810         Reported by Sam Steingold <sds@gnu.org>.
23811
23812 2010-09-30  Bruno Haible  <bruno@clisp.org>
23813
23814         More renaming from 'getdate' to 'get_date'.
23815         * doc/get_date.texi: Renamed from doc/getdate.texi.
23816         * modules/get_date (Files): Update.
23817         * MODULES.html.sh (Date and time <time.h>): Update.
23818         * DEPENDENCIES: Update.
23819         * gnulib-tool: Update comment.
23820         * m4/bison.m4 (gl_BISON): Likewise.
23821         * m4/get_date.m4 (gl_GET_DATE): Likewise.
23822
23823 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
23824
23825         bootstrap: support ACLOCAL_FLAGS during aclocal
23826         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
23827         can add additional -I dir for third-party .m4 files.
23828
23829 2010-09-30  Eric Blake  <eblake@redhat.com>
23830
23831         bootstrap: use glibtoolize on MacOS
23832         * build-aux/bootstrap (check_versions): Convert libtool into
23833         libtoolize.
23834         (tool search): Move libtool check earlier, and look for
23835         glibtoolize for MacOS.
23836         (gnulib_tool_options): Auto-add --libtool when appropriate.
23837         Reported by Justin Clift.
23838
23839         poll: fix typo that broke test on MacOS
23840         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
23841         Reported by Justin Clift.
23842
23843         getdate: rename to get_date
23844         Note: getdate.h is not renamed, to minimize client impact.
23845         * modules/getdate: Mark obsolete.  Move old contents...
23846         * modules/get_date: ...to new module name.
23847         * modules/getdate-tests: Move...
23848         * modules/get_date-tests: ...here.
23849         * m4/getdate.m4: Move...
23850         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
23851         * lib/getdate.y: Move...
23852         * lib/get_date.y: ...here.
23853         * tests/test-getdate.c: Move...
23854         * tests/test-get_date.c: ...here.
23855         * doc/posix-functions/getdate.texi (getdate): Update name.
23856         * NEWS: Mention the change.
23857
23858 2010-09-29  Bruno Haible  <bruno@clisp.org>
23859
23860         Separate the module 'waitpid' from the module 'sys_wait'.
23861         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
23862         present.
23863         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
23864         gl_MODULE_INDICATOR_FOR_TESTS.
23865         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
23866         * modules/sys_wait (Depends-on): Remove waitpid.
23867         (Makefile.am): Substitute GNULIB_WAITPID.
23868         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
23869         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
23870         signature only if the 'waitpid' module is present.
23871         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
23872         * NEWS: Mention the change.
23873         * modules/grantpt (Depends-on): Add waitpid.
23874         * modules/wait-process (Depends-on): Likewise.
23875
23876 2010-09-29  Bruno Haible  <bruno@clisp.org>
23877
23878         More tests for module 'sys_wait'.
23879         * modules/sys_wait-c++-tests: New file.
23880         * tests/test-sys_wait-c++.cc: New file.
23881         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
23882         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23883
23884 2010-09-29  Bruno Haible  <bruno@clisp.org>
23885
23886         New module 'waitpid'.
23887         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
23888         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
23889         Don't include <process.h>.
23890         (waitpid): Declare only, using modern idiom.
23891         * m4/waitpid.m4: New file.
23892         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
23893         * modules/waitpid: New file.
23894         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
23895         (Makefile.am): Update.
23896         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23897
23898 2010-09-28  Bruno Haible  <bruno@clisp.org>
23899
23900         poll: Assume ANSI C.
23901         * lib/poll.c (poll): Use an ANSI C declaration.
23902
23903 2010-09-28  Bruno Haible  <bruno@clisp.org>
23904
23905         poll-h: Create poll.h on all platforms.
23906         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
23907         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
23908         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
23909         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
23910         (gl_REPLACE_POLL_H): Don't set POLL_H.
23911         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
23912         * modules/poll-h (Depends-on): Add include_next.
23913         (Makefile.am): Create poll.h unconditionally. Substitute also
23914         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
23915
23916 2010-09-28  Bruno Haible  <bruno@clisp.org>
23917
23918         Tests for module 'poll-h'.
23919         * modules/poll-h-c++-tests: New file.
23920         * tests/test-poll-h-c++.cc: New file.
23921
23922         Tests for module 'poll-h'.
23923         * modules/poll-h-tests: New file.
23924         * tests/test-poll-h.c: New file.
23925
23926 2010-09-28  Bruno Haible  <bruno@clisp.org>
23927
23928         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
23929         * modules/poll-h (Depends-on): Add 'extensions'.
23930
23931 2010-09-28  Bruno Haible  <bruno@clisp.org>
23932
23933         New module 'poll-h'.
23934         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
23935         (poll): Use modern idiom.
23936         * modules/poll-h: New file.
23937         * modules/poll (Files): Remove lib/poll.in.h.
23938         (Depends-on): Add poll-h.
23939         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
23940         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
23941         * m4/poll_h.m4: New file.
23942         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
23943         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
23944         and invoke gl_REPLACE_POLL_H.
23945         * lib/poll.c: Use common idiom.
23946         * tests/test-poll.c: Likewise.
23947         * doc/posix-headers/poll.texi: Mention the poll-h module.
23948         Suggested by Eric Blake.
23949
23950 2010-09-26  Bruno Haible  <bruno@clisp.org>
23951
23952         sys_wait: Implement WSTOPSIG.
23953         * lib/sys_wait.in.h (WSTOPSIG): New macro.
23954         Reported by Simon Josefsson.
23955
23956 2010-09-26  Simon Josefsson  <simon@josefsson.org>
23957
23958         stdlib, sys_wait: Avoid compilation error on mingw.
23959         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
23960
23961 2010-09-26  Bruno Haible  <bruno@clisp.org>
23962
23963         stdlib tests: Avoid code duplication.
23964         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
23965         * modules/sys_wait-tests (Files): Likewise.
23966         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
23967         * tests/test-stdlib.c: Include test-sys_wait.h.
23968         (main): Invoke test_sys_wait_macros.
23969         * tests/test-sys_wait.c: Include test-sys_wait.h.
23970         (main): Invoke test_sys_wait_macros.
23971
23972 2010-09-25  Simon Josefsson  <simon@josefsson.org>
23973
23974         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
23975         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
23976         sure Windows sockets are working before calling getaddrinfo.
23977         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
23978         * doc/gnulib.texi (Windows sockets): Fix typo.
23979
23980 2010-09-25  Bruno Haible  <bruno@clisp.org>
23981
23982         Tests for module 'regex-quote'.
23983         * modules/regex-quote-tests: New file.
23984         * tests/test-regex-quote.c: New file.
23985
23986         New module 'regex-quote'.
23987         * lib/regex-quote.h: New file.
23988         * lib/regex-quote.c: New file.
23989         * modules/regex-quote: New file.
23990         Suggested by Reuben Thomas <rrt@sc3d.org>.
23991
23992 2010-09-24  Bruno Haible  <bruno@clisp.org>
23993
23994         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
23995         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
23996
23997 2010-09-23  Bruno Haible  <bruno@clisp.org>
23998
23999         setenv: Relax license.
24000         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
24001         Blake.
24002         Requested by Eric Blake.
24003
24004 2010-09-22  Bruno Haible  <bruno@clisp.org>
24005
24006         termios: Relax license.
24007         * modules/termios (License): Change to LGPLv2+.
24008         Requested by Eric Blake.
24009
24010 2010-09-22  Bruno Haible  <bruno@clisp.org>
24011
24012         threadlib: Allow the package to change the default to 'no'.
24013         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
24014         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
24015         Reported by Paul Eggert.
24016
24017 2010-09-22  Pádraig Brady  <P@draigbrady.com>
24018             Bruno Haible  <bruno@clisp.org>
24019
24020         Fix endless loop in mbmemcasecoll.
24021         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
24022         byte.
24023         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
24024
24025 2010-09-22  Bruno Haible  <bruno@clisp.org>
24026
24027         Tests for module 'memcoll'.
24028         * modules/memcoll-tests: New file.
24029         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
24030
24031         memcoll, xmemcoll: Clarify size vs. length.
24032         * modules/memcoll.c (memcoll0): Clarify specification.
24033         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
24034         passed to collate_error.
24035
24036 2010-09-22  Bruno Haible  <bruno@clisp.org>
24037
24038         Tests for module 'memcasecmp'.
24039         * modules/memcasecmp-tests: New file.
24040         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
24041
24042 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
24043
24044         * lib/pthread.in.h: Add split double-inclusion guard, and include
24045         system <pthread.h> if there is one.  Use @@-style as in other
24046         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
24047         pthread.h doesn't.
24048         (pthread_mutexattr_destroy, pthread_mutexattr_init):
24049         (pthread_mutexattr_settype, pthread_mutex_trylock):
24050         New static inline functions, if there's no system <pthread.h>.
24051         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
24052         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
24053         Approximate with mutexes if the system lacks spinlocks, as in
24054         MacOS.
24055         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
24056         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
24057         @@-style.  Check for spinlocks separately.
24058         (gl_PTHREAD_DEFAULTS): New macro.
24059         * modules/pthread: Redo to use a more typical style for in.h files.
24060
24061 2010-09-21  Eric Blake  <eblake@redhat.com>
24062
24063         net_if: enhance tests
24064         * tests/test-net_if.c (main): Move signature checks earlier.
24065         Print failures to stderr.
24066         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
24067         Document the bug that we do not yet fix.
24068
24069 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24070
24071         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
24072         about gnulib, not GSS.
24073
24074 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24075
24076         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
24077         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
24078         for Emacs.
24079         * build-aux/pmccabe2html: Make Makefile.am example code more
24080         cut-and-paste friendly.
24081
24082 2010-09-21  Simon Josefsson  <simon@josefsson.org>
24083
24084         * tests/test-net_if.c: New file.
24085         * modules/net_if-tests: New file.
24086
24087 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
24088
24089         pthread: add pthread_spin_destroy
24090         * lib/pthread.in.h (pthread_spin_destroy): New function.
24091
24092 2010-09-19  Bruno Haible  <bruno@clisp.org>
24093
24094         gnulib-tool: Fix --help output.
24095         * gnulib-tool (func_usage): Fix help message.
24096         Reported by Reuben Thomas <rrt@sc3d.org>.
24097
24098 2010-09-18  Jim Meyering  <meyering@redhat.com>
24099
24100         maint.mk: avoid unexpanded \n in two diagnostics
24101         * top/maint.mk (sc_prohibit_always_true_header_tests):
24102         Don't use a literal \n in a halt=... assignment.  It would not be
24103         expanded, and the two \n bytes would appear in the diagnostic output
24104         rather than the desired newline.  Use halt=$$(printf ... instead.
24105         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24106
24107 2010-09-18  Bruno Haible  <bruno@clisp.org>
24108
24109         netinet_in: Doc tweak.
24110         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
24111         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24112
24113 2010-09-18  Jim Meyering  <meyering@redhat.com>
24114
24115         init.sh: correct an outdated comment
24116         * tests/init.sh (create_exe_shims_):  s/function/alias/
24117
24118         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
24119         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
24120         a file named "*.exe" is removed between the glob expansion and the
24121         processing of that oddly named file.
24122
24123 2010-09-17  Eric Blake  <eblake@redhat.com>
24124
24125         mirbsd: add some more support
24126         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
24127         in BSD family.
24128         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
24129         devices as OpenBSD.
24130         * m4/host-os.m4 (mirbsd): Add MirBSD.
24131
24132         tests: fix unportable assumption on sys/wait.h
24133         * tests/test-sys_wait.c (main): Relax test.
24134         * tests/test-stdlib.c (main): Likewise.
24135
24136         init.sh: accomodate directory with no .exes
24137         * tests/init.sh: Accomodate directory containing only scripts.
24138
24139         tests: avoid compiler warning
24140         * tests/test-stdlib.c (main): Use the variable.
24141
24142         fdutimens, fdutimensat: update signature, again
24143         * lib/utimens.h (gl_futimens): Delete, and move signature...
24144         (fdutimens): ...here.
24145         (fdutimensat): Rearrange signature.
24146         (lutimensat): Rename variable for clarity.
24147         * lib/fdutimensat.c (fdutimensat): Update signature.
24148         * lib/utimens.c (fdutimens): Likewise.
24149         (gl_futimens): Delete.
24150         (utimens, lutimens): Update callers.
24151         * lib/futimens.c (futimens): Likewise.
24152         * tests/test-fdutimensat.c: Likewise.
24153         * tests/test-utimens.c: Likewise.
24154         * tests/test-futimens.h: Update comment.
24155         * NEWS: Mention this.
24156         Suggested by Paul Eggert.
24157
24158 2010-09-17  Bruno Haible  <bruno@clisp.org>
24159
24160         Take over the maintenance of some older macros from Autoconf.
24161         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
24162         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
24163         GNU Autoconf.
24164         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
24165         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
24166
24167 2010-09-17  Eric Blake  <eblake@redhat.com>
24168
24169         fdutimensat: drop atflag validation
24170         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
24171         with valid fd, to close a race scenario where futimens is
24172         unsupported and FILE was replaced by a symlink.
24173         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
24174         accordingly.
24175         Suggested by Paul Eggert.
24176
24177 2010-09-16  Bruno Haible  <bruno@clisp.org>
24178
24179         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
24180         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
24181
24182 2010-09-16  Bruno Haible  <bruno@clisp.org>
24183
24184         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
24185         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
24186         login_tty exists.
24187         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24188
24189 2010-09-16  Bruno Haible  <bruno@clisp.org>
24190
24191         login_tty: Make the replacement code work on BSD systems.
24192         * lib/login_tty.c: Include <sys/ioctl.h>.
24193         (login_tty): Use ioctl TIOCSCTTY when available.
24194         * modules/login_tty (Depends-on): Add sys_ioctl.
24195         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24196
24197 2010-09-16  Bruno Haible  <bruno@clisp.org>
24198
24199         login_tty: Stricter unit test.
24200         * modules/login_tty-tests (Depends-on): Add tcgetsid.
24201         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
24202         and tcgetsid() after login_tty.
24203         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24204
24205 2010-09-16  Bruno Haible  <bruno@clisp.org>
24206
24207         New module 'tcgetsid'.
24208         * lib/tcgetsid.c: New file.
24209         * m4/tcgetsid.m4: New file.
24210         * modules/tcgetsid: New file.
24211         * modules/termios (Depends-on): Add c++defs, warn-on-use.
24212         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
24213         GNULIB_TCGETSID, HAVE_TCGETSID.
24214         * lib/termios.in.h: Include <sys/types.h>.
24215         (tcgetsid): New declaration.
24216         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
24217         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
24218         * doc/posix-functions/tcgetsid.texi: Mention the new module.
24219         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
24220
24221 2010-09-16  Bruno Haible  <bruno@clisp.org>
24222
24223         Tests for module 'termios'.
24224         * modules/termios-c++-tests: New file.
24225         * modules/termios-tests: New file.
24226         * tests/test-termios-c++.cc: New file.
24227         * tests/test-termios.c: New file.
24228
24229         New module 'termios'.
24230         * modules/termios: New file.
24231         * lib/termios.in.h: New file.
24232         * m4/termios_h.m4: New file.
24233         * doc/posix-headers/termios.texi: Mention the new module.
24234
24235 2010-09-16  Eric Blake  <eblake@redhat.com>
24236
24237         fdutimensat: add an atflag parameter
24238         * lib/fdutimensat.c (fdutimensat): Add new parameter.
24239         * lib/utimens.h (fdutimensat): Update prototype.
24240         * tests/test-fdutimensat.c: Adjust test to match.
24241         * NEWS: Document the change.
24242         Suggested by Paul Eggert.
24243
24244 2010-09-16  Bruno Haible  <bruno@clisp.org>
24245
24246         Fix typos in comments.
24247         * lib/striconveh.h: Fix typo in comment.
24248         * lib/login_tty.c (login_tty): Likewise.
24249
24250 2010-09-15  Bruno Haible  <bruno@clisp.org>
24251
24252         stdlib: clarify MirBSD WEXITSTATUS bug
24253         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
24254         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24255
24256 2010-09-15  Eric Blake  <eblake@redhat.com>
24257
24258         stdlib: work around MirBSD WEXITSTATUS bug
24259         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
24260         * modules/stdlib (Depends-on): Add sys_wait.
24261         * tests/test-sys_wait.c (main): Enhance test.
24262         * tests/test-stdlib.c (main): Likewise.
24263         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
24264
24265         docs: mention MacOS issue with WEXITSTATUS(constant)
24266         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
24267         issue.
24268         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24269
24270         strnlen: add tests
24271         * modules/strnlen-tests: New file.
24272         * tests/test-strnlen.c: Likewise.
24273
24274 2010-09-14  Bruno Haible  <bruno@clisp.org>
24275
24276         unistr/base: Avoid link errors when module 'libunistring' is also used.
24277         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
24278         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
24279         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
24280         Declare also when HAVE_LIBUNISTRING is set.
24281         Reported by Pádraig Brady <P@draigbrady.com>.
24282
24283 2010-09-14  Eric Blake  <eblake@redhat.com>
24284
24285         test-rawmemchr: make more robust
24286         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
24287         (Depends-on, configure.ac): Add needed prerequisites to use it.
24288         * modules/memchr-tests (Files, Depends-on, configure.ac):
24289         Likewise, to avoid implicit reliance on memchr module prereqs.
24290         * tests/test-memchr.c (main): Ensure proper masking.
24291         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
24292         reads.
24293
24294         memchr: detect glibc Alpha bug
24295         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
24296         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
24297         Alpha.
24298         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
24299         * tests/test-memchr.c (main): Enhance test.
24300         Reported by Nelson H. F. Beebe.
24301
24302 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24303
24304         fts, getcwd, glob: audit for dirfd returning -1
24305         * lib/fts.c (opendir): Remove #define; no longer used.
24306         (opendirat): New arg PDIR_FD.  All callers changed.
24307         (fts_build, _opendir2): Use new opendirat to avoid the need for
24308         dirfd, or for checking whether dirfd returns a negative value.
24309         Don't use opendir; always use openat followed by fdopendir.
24310         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
24311         it.
24312         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
24313         returns -1 here.
24314         * modules/fts (Depends-on): Remove dirfd.
24315         * modules/getcwd (Depends-on): Likewise.
24316
24317 2010-09-13  Eric Blake  <eblake@redhat.com>
24318
24319         float: fix broken MirBSD header
24320         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
24321         * doc/posix-headers/float.texi (float.h): Document it.
24322
24323 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24324
24325         fts: use O_NOFOLLOW to avoid race condition when opening a directory
24326         * lib/fts.c (opendirat): New arg extra_flags.
24327         (__opendir2): Use it to avoid following symlinks when opening
24328         a directory, if symlinks are not supposed to be followed.  See
24329         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
24330
24331         fdopendir: preserve argument fd before returning
24332         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
24333         (fdopendir_with_dup, fd_clone_opendir): New static functions.
24334         (fdopendir): Use them, arranging for FD to be open to the same
24335         directory that it was when it started.  (It might be temporarily
24336         closed while fdopendir is running, so this not thread- or
24337         signal-safe.)  Be careful to do the right thing even when file
24338         descriptors are scarce and dup fails with errno == EMFILE.  See
24339         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
24340
24341 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
24342
24343         regex: Pass the system regex if its only problem is 32-bit regoff_t.
24344         * NEWS: Document change.
24345         * m4/regex.m4: Disable test for regoff_t size.
24346
24347 2010-09-13  Jim Meyering  <meyering@redhat.com>
24348
24349         fts: don't operate on an invalid file descriptor after failed dup
24350         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
24351         negative file descriptor.
24352
24353 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
24354
24355         savedir: add streamsavedir, deprecate fdsavedir
24356         * NEWS: Mention deprecation of fdsavedir.
24357         * lib/savedir.c (streamsavedir): New extern function, whose name
24358         ends in "savedir" to be consistent with the others.  This differs
24359         from savedirstream in that it doesn't close its argument.  The
24360         next version of GNU tar will use this instead of fdsavedir, to
24361         avoid some race conditions and conserve file descriptors.
24362         (savedirstream): Reimplement as a wrapper around streamsavedir.
24363         (fdsavedir): Add a comment deprecating this function.  As far as
24364         I know, only GNU tar used it, and GNU tar doesn't need it any more.
24365         * lib/savedir.h (streamsavedir): New decl.
24366         (fdsavedir): Add a comment deprecating this.
24367
24368 2010-09-10  Bruno Haible  <bruno@clisp.org>
24369
24370         langinfo: Fix last commit.
24371         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
24372         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
24373         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24374
24375 2010-09-10  Bruno Haible  <bruno@clisp.org>
24376
24377         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
24378         * lib/progreloc.c (O_EXEC): Define fallback.
24379
24380 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
24381
24382         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
24383         * NEWS: Document recent changes to fcntl-h.
24384         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
24385         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
24386         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
24387         Similarly for O_SEARCH; this last was already true, but not documented.
24388         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
24389         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
24390         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
24391         Likewise.
24392         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
24393         is zero, not whether it is defined.
24394         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
24395         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
24396         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
24397
24398 2010-09-10  Bruno Haible  <bruno@clisp.org>
24399
24400         langinfo, nl_langinfo: Fix for IRIX 5.3.
24401         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
24402         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
24403         HAVE_LANGINFO_YESEXPR.
24404         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
24405         HAVE_LANGINFO_YESEXPR.
24406         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
24407         HAVE_LANGINFO_T_FMT_AMPM is 0.
24408         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
24409         HAVE_LANGINFO_YESEXPR is 0.
24410         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
24411         NOEXPR.
24412         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
24413         * doc/posix-functions/nl_langinfo.texi: Likewise.
24414         Reported by Eric Blake.
24415
24416 2010-09-10  Bruno Haible  <bruno@clisp.org>
24417
24418         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
24419         * doc/glibc-functions/login_tty.texi: Mention the include file problem
24420         on FreeBSD 8.0 and OpenBSD 4.6.
24421         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
24422         * m4/pty_h.m4 (gl_PTY_H): Likewise.
24423         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
24424         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
24425         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
24426         ac_includes_default.
24427         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24428
24429 2010-09-09  Eric Blake  <eblake@redhat.com>
24430
24431         strsignal: work around NetBSD bug
24432         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
24433         * lib/string.in.h (includes): Likewise.
24434         * doc/posix-functions/strsignal.texi (strsignal): Document the
24435         bug.
24436         Reported by Nelson H. F. Beebe.
24437
24438         gnulib-tool: work with NetBSD /bin/sh
24439         * gnulib-tool (func_cache_var, func_cache_lookup_module)
24440         (func_get_description, func_get_comment, func_get_status)
24441         (func_get_notice, func_get_applicability, func_get_filelist)
24442         (func_get_dependencies, func_get_autoconf_early_snippet)
24443         (func_get_autoconf_snippet, func_get_automake_snippet)
24444         (func_get_include_directive, func_get_link_directive)
24445         (func_get_license, func_get_maintainer, func_import): Avoid
24446         shell syntax errors from parsing syntax extensions.
24447
24448 2010-09-09  Bruno Haible  <bruno@clisp.org>
24449
24450         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24451         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
24452         a reliable way to determine whether the 'alias' command works.
24453
24454 2010-09-08  Jim Meyering  <meyering@redhat.com>
24455
24456         init.sh: penalize a set-x-impaired shell; don't disqualify it
24457         * tests/init.sh: Too many shells corrupt application stderr when
24458         you set -x, so we can't afford to disqualify them, since at least
24459         on Irix-6.5, that would disqualify all bourne shells.
24460         Instead, use a two-pass approach.
24461         On the first pass, try to find a shell that meets the stricter
24462         condition that set -x does not corrupt stderr.
24463         If no shell meets the stricter condition, retest each candidate
24464         shell, but without that extra condition.  Finally, when
24465         VERBOSE=yes is requested and set -x might cause trouble, simply
24466         issue a warning and refrain from enabling debug output.
24467
24468 2010-09-08  Eric Blake  <eblake@redhat.com>
24469
24470         unsetenv: fix OpenBSD bug
24471         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
24472         * doc/posix-functions/unsetenv.texi (unsetenv): Update
24473         documentation.
24474         Reported by Jim Meyering.
24475
24476         strtod: work around IRIX 6.5 bug
24477         * lib/strtod.c (strtod): Reparse number on shorter string if
24478         exponent parse was invalid.
24479         * tests/test-strtod.c (main): Add check for "0x1p 2".
24480         Reported by Tom G. Christensen.
24481
24482         getopt: optimize previous patch
24483         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
24484         empty variable.  Speed up awk script.
24485         Reported by Paolo Bonzini.
24486
24487 2010-09-08  Jim Meyering  <meyering@redhat.com>
24488
24489         test.sh: disqualify shells for which set -x corrupts stderr
24490         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
24491         and OpenBSD 4.7.  They make it so with "set -x", environment settings
24492         appear in stderr output.  For example, this command:
24493             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
24494         prints "P=1" on those two systems:
24495
24496 2010-09-08  Bruno Haible  <bruno@clisp.org>
24497
24498         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24499         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
24500         commands, because some shells ignore redirections when there is an
24501         error in the command lookup.
24502         Reported by Eric Blake.
24503
24504 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
24505
24506         * lib/regex.h: Fix a mention of `regex_compile' (should be
24507         `re_compile_pattern').
24508         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
24509         (re_set_registers): Correct name of parameter in comment.
24510
24511         * doc/regex.texi: Add documentation for missing syntax flags.
24512         Remove commented-out documentation of defunct syntax option
24513         RE_NO_EMPTY_ALTS.
24514         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
24515         Add documentation of re_set_registers.
24516         Document trick to re-use a pattern buffer by setting fastmap manually.
24517         Update documentation of struct re_pattern_buffer per public members.
24518         Uncomment documentation of equivalence class operators and
24519         collating symbol operators, since they are now implemented,
24520         Explain leftmost-longest matching in relation to alternatives.
24521         Tidy documentation of substring matching.
24522         Remove POSIX documentation, which is done better in
24523         glibc, and refer the reader there. Keep BSD API documentation, as
24524         that is not readily available elsewhere.
24525
24526 2010-09-07  Eric Blake  <eblake@redhat.com>
24527
24528         getopt: handle POSIXLY_CORRECT set but not exported
24529         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
24530         export state of POSIXLY_CORRECT, due to bash set -o posix.
24531         Reported by Dustin J. Mitchell.
24532
24533 2010-09-05  Bruno Haible  <bruno@clisp.org>
24534
24535         gnulib-tool: Highlight the changed options.
24536         * gnulib-tool (func_usage): Display the --import, --add-import,
24537         --remove-import explanations in bold font.
24538
24539 2010-09-06  Karl Berry  <karl@gnu.org>
24540
24541         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
24542
24543 2010-09-05  Bruno Haible  <bruno@clisp.org>
24544
24545         uniwidth/width: Update comment.
24546         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
24547         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
24548
24549 2010-09-05  Bruno Haible  <bruno@clisp.org>
24550
24551         isinf, isnan: Relax license.
24552         * modules/isinf (License): Change from GPL to LGPL, with consent from
24553         Ben Pfaff.
24554         * modules/isnan (License): Likewise.
24555         Requested by Ludovic Courtès.
24556
24557 2010-09-04  Bruno Haible  <bruno@clisp.org>
24558
24559         gnulib-tool: Help migration from --import to --add-import or --update.
24560         * gnulib-tool: Emit a verbose error message when --import is used
24561         without any module name.
24562
24563 2010-09-04  Bruno Haible  <bruno@clisp.org>
24564
24565         Update doc about gnulib-tool.
24566         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
24567         'gnulib-tool --update' in more detail.
24568         Reported by Eric Blake.
24569
24570 2010-09-04  Bruno Haible  <bruno@clisp.org>
24571
24572         gnulib-tool: Change --import. New options --add/remove-import.
24573         * gnulib-tool: New options --add-import, --remove-import.
24574         (func_usage): Document them.
24575         (have_associative): Define always.
24576         (func_import): In import mode, don't merge the specified settings with
24577         the cached settings. Implement remove-import mode.
24578         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
24579         Explain when to use them versus --import.
24580         (Simple update): Use --add-import instead of --import.
24581         * NEWS: Mention the change.
24582
24583 2010-09-04  Bruno Haible  <bruno@clisp.org>
24584
24585         * doc/gnulib-tool.texi (Initial import): Update paragraph about
24586         separate gnulib.mk.
24587
24588 2010-09-04  Bruno Haible  <bruno@clisp.org>
24589
24590         gnulib-tool: Don't talk about CVS any more.
24591         * gnulib-tool (func_usage, func_import): Write "version control"
24592         instead of CVS.
24593
24594 2010-09-04  Jim Meyering  <meyering@redhat.com>
24595
24596         maint.mk: avoid obscure sc_copyright_check failure in coreutils
24597         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
24598         false positives (whose names may be ill-chosen) when searching
24599         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
24600         would cause a false-positive.
24601
24602         avoid coreutils "make distcheck" failure
24603         Coreutils tests with an absolute build directory name that contains
24604         a space.  Not quoting this directory name caused a failure.
24605         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
24606         * tests/test-vc-list-files-cvs.sh: Likewise.
24607
24608 2010-09-04  Bruno Haible  <bruno@clisp.org>
24609
24610         gnulib-tool: Avoid error when run in a package without Makefile.am.
24611         * gnulib-tool: When collecting the m4dirs in a package that does not
24612         have a Makefile.am, eliminate those directories that contain no
24613         gnulib-cache.m4. Fix expression that counts these directories.
24614
24615 2010-09-04  Bruno Haible  <bruno@clisp.org>
24616
24617         update-copyright test: Improve output when perl is missing or too old.
24618         * tests/test-update-copyright.sh: Move test of Perl version down after
24619         the test whether Perl exists. Provide an explanation relating Perl's
24620         error message to Automake's SKIP: message.
24621
24622 2010-09-04  Bruno Haible  <bruno@clisp.org>
24623
24624         Don't augment PATH in TESTS_ENVIRONMENT.
24625         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
24626         set abs_aux_dir instead of augmenting PATH.
24627         * modules/vc-list-files-tests (Makefile.am): Likewise.
24628         * tests/test-update-copyright.sh: Augment PATH here.
24629         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
24630         path_prepend_.
24631         * tests/test-vc-list-files-git.sh: Likewise.
24632
24633 2010-09-04  Jim Meyering  <meyering@redhat.com>
24634
24635         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
24636         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
24637
24638 2010-09-04  Bruno Haible  <bruno@clisp.org>
24639
24640         strdup: Fix compilation error in C++ mode.
24641         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
24642         the macro.
24643
24644 2010-09-04  Bruno Haible  <bruno@clisp.org>
24645
24646         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
24647         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
24648         macro into a function.
24649         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24650
24651 2010-09-04  Bruno Haible  <bruno@clisp.org>
24652
24653         Set PATH_SEPARATOR the same way autoconf does.
24654         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
24655         the value of PATH_SEPARATOR the same way autoconf-generated configure
24656         scripts do.
24657         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
24658         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24659
24660 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24661
24662         Set PATH_SEPARATOR the same way autoconf does.
24663         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
24664         the same way autoconf-generated configure scripts do.
24665         * posix-modules: Likewise.
24666
24667 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
24668
24669         hash: fix safe_hasher const typo
24670         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
24671         const; otherwise, there is a type error later.
24672
24673 2010-09-02  Jim Meyering  <meyering@redhat.com>
24674
24675         test-update-copyright.sh: require perl 5.8.0
24676         * tests/test-update-copyright.sh: Require 5.8.0,
24677         which Tom G. Christensen has confirmed is adequate,
24678         while 5.6.1 is not.
24679
24680 2010-09-02  Eric Blake  <eblake@redhat.com>
24681
24682         tests: init.sh improvements for re-exec'ing with zsh
24683         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
24684         -vx through shell re-exec.
24685         Reported by Tom G. Christensen.
24686
24687         wctype: fix typo in previous commit
24688         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
24689         Reported by Ludovic Courtès.
24690
24691 2010-09-02  Jim Meyering  <meyering@redhat.com>
24692
24693         test-update-copyright.sh: skip test if Perl is too old
24694         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
24695         Reported by Tom G. Christensen.
24696
24697 2010-09-02  Bruno Haible  <bruno@clisp.org>
24698
24699         wctype: Avoid compilation error on IRIX 6.5.30.
24700         * lib/wctype.in.h (iswblank): Declare with a replacement if
24701         REPLACE_ISWBLANK is set.
24702         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
24703         declared. Set REPLACE_ISWBLANK.
24704         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
24705         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
24706         * doc/posix-headers/wctype.texi: Likewise.
24707         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24708
24709 2010-09-01  Bruno Haible  <bruno@clisp.org>
24710
24711         New module 'socketlib'.
24712         * modules/socketlib: New file.
24713         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
24714         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
24715         * modules/sockets (Depends-on): Add socketlib.
24716         Suggested by Sam Steingold <sds@gnu.org>.
24717
24718 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
24719
24720         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
24721
24722         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
24723         when one needs search access to a directory but not read access.
24724         On systems where it is available, it works in some cases where
24725         O_RDONLY does not, namely on directories that are searchable but
24726         not readable, and which need only to be searchable.  If O_SEARCH
24727         is not available, fall back to the traditional method of using
24728         O_RDONLY.
24729
24730         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
24731         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
24732         when opening a directory that needs only to be searchable.
24733         * lib/chdir-safer.c (chdir_no_follow): Likewise.
24734         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
24735         * lib/openat-proc.c (openat_proc_name): Likewise.
24736         * lib/openat.c (openat_needs_fchdir): Likewise.
24737         * lib/save-cwd.c (save_cwd): Likewise.
24738         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
24739
24740 2010-08-28  Bruno Haible  <bruno@clisp.org>
24741
24742         New module 'host-cpu-c-abi'.
24743         * modules/host-cpu-c-abi: New file.
24744         * m4/host-cpu-c-abi.m4: New file, based on part of
24745         clisp/src/m4/general.m4.
24746         Requested by Sam Steingold <sds@gnu.org>.
24747
24748 2010-08-31  Eric Blake  <eblake@redhat.com>
24749         and Jim Meyering  <meyering@redhat.com>
24750
24751         hash: factor, and guard against misbehaving hasher function
24752         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
24753         of table->hasher's return value.  Also protect against a hash value
24754         so large that adding it to table->bucket results in a NULL pointer.
24755         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
24756         Use it in place of open-coded check-and-abort.
24757
24758 2010-08-30  Bruno Haible  <bruno@clisp.org>
24759
24760         hash: silence spurious clang warning
24761         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
24762         Reported by Eric Blake.
24763
24764 2010-08-30  Eric Blake  <eblake@redhat.com>
24765
24766         strstr, memmem, strcasestr: avoid leaked shell message
24767         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
24768         FreeBSD.
24769         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24770         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24771
24772         tests: silence clang warning
24773         * tests/test-malloca.c (do_allocation): Avoid dead store.
24774
24775 2010-08-29  Bruno Haible  <bruno@clisp.org>
24776
24777         gettext: Fix recent mistake.
24778         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
24779
24780 2010-08-29  Bruno Haible  <bruno@clisp.org>
24781
24782         selinux-h: Offer a --without-selinux option.
24783         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
24784         --without-selinux was specified, skip all tests and define
24785         HAVE_SELINUX_SELINUX_H to 0.
24786         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
24787         set LIB_SELINUX to empty.
24788         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
24789         gl_LIBSELINUX. If --without-selinux was specified, replace
24790         selinux/context.h.
24791         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
24792
24793 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24794             Bruno Haible  <bruno@clisp.org>
24795
24796         Make the module 'realloc-gnu' work again on AIX and OSF/1.
24797         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
24798         of HAVE_REALLOC.
24799         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
24800         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
24801         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
24802         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24803
24804 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24805             Bruno Haible  <bruno@clisp.org>
24806
24807         Make the module 'calloc-gnu' work again on AIX and OSF/1.
24808         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
24809         HAVE_CALLOC.
24810         * lib/xmalloc.c: Update accordingly.
24811         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
24812         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
24813         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
24814
24815 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24816             Bruno Haible  <bruno@clisp.org>
24817
24818         Make the module 'malloc-gnu' work again on AIX and OSF/1.
24819         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
24820         HAVE_MALLOC.
24821         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
24822         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
24823         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24824
24825 2010-08-29  Bruno Haible  <bruno@clisp.org>
24826
24827         Update modules list.
24828         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
24829         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
24830         (String handling <string.h>): Add astrxfrm.
24831         (File system functions): Add readlinkat.
24832
24833 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24834
24835         Tests for module 'realloc-gnu'.
24836         * modules/realloc-gnu-tests: New file.
24837         * tests/test-realloc-gnu.c: New file.
24838
24839         Tests for module 'calloc-gnu'.
24840         * modules/calloc-gnu-tests: New file.
24841         * tests/test-calloc-gnu.c: New file.
24842
24843         Tests for module 'malloc-gnu'.
24844         * modules/malloc-gnu-tests: New file.
24845         * tests/test-malloc-gnu.c: New file.
24846
24847 2010-08-28  Bruno Haible  <bruno@clisp.org>
24848
24849         Rename module 'realloc' -> 'realloc-gnu'.
24850         * modules/realloc-gnu: New file, copied from modules/realloc.
24851         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
24852         obsolete.
24853         * modules/mgetgroups (Depends-on): Update.
24854         * doc/posix-functions/realloc.texi: Update.
24855         * NEWS: Mention the change.
24856
24857         Rename module 'calloc' -> 'calloc-gnu'.
24858         * modules/calloc-gnu: New file, copied from modules/calloc.
24859         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
24860         obsolete.
24861         * doc/posix-functions/calloc.texi: Update.
24862         * NEWS: Mention the change.
24863
24864         Rename module 'malloc' -> 'malloc-gnu'.
24865         * modules/malloc-gnu: New file, copied from modules/malloc.
24866         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
24867         obsolete.
24868         * modules/argp (Depends-on): Update.
24869         * modules/regex (Depends-on): Update.
24870         * doc/posix-functions/malloc.texi: Update.
24871         * NEWS: Mention the change.
24872
24873 2010-08-28  Eric Blake  <eblake@redhat.com>
24874
24875         pread, pwrite: add missing dependency
24876         * modules/pread (Depends-on): Add extensions.
24877         * modules/pwrite (Depends-on): Likewise.
24878
24879 2010-08-28  Bruno Haible  <bruno@clisp.org>
24880
24881         unistr/u*-strchr: Fix tests dependencies.
24882         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
24883         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
24884         Reported by Ian Beckwith <ianb@erislabs.net>.
24885
24886 2010-08-28  Bruno Haible  <bruno@clisp.org>
24887
24888         read-file: Don't occupy too much unused memory.
24889         * lib/read-file.c (fread_file): Shrink the buffer at the end.
24890
24891 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
24892             Eric Blake  <eblake@redhat.com>
24893             Bruno Haible  <bruno@clisp.org>
24894
24895         read-file: Avoid memory reallocations with regular files.
24896         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
24897         (fread_file): With regular files, use the remaining length as the
24898         initial buffer size.  Check against overflow.
24899         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
24900         sys_stat.
24901
24902 2010-08-28  Bruno Haible  <bruno@clisp.org>
24903
24904         ftello: Relax license.
24905         * modules/ftello (License): Relax to LGPLv2+.
24906         Reported by Eric Blake.
24907
24908 2010-08-28  Bruno Haible  <bruno@clisp.org>
24909
24910         Avoid relocwrapper link errors due to gnulib replacement functions.
24911         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
24912         function.
24913         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24914
24915 2010-08-28  Bruno Haible  <bruno@clisp.org>
24916
24917         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
24918         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
24919         defined.
24920         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
24921         Suggested by Eric Blake.
24922
24923 2010-08-28  Bruno Haible  <bruno@clisp.org>
24924
24925         sys_socket, netdb: Ensure socklen_t gets defined.
24926         * modules/sys_socket (Depends-on): Add socklen.
24927         * modules/netdb (Depends-on): Likewise.
24928         * modules/getaddrinfo (Depends-on): Remove socklen.
24929         * modules/getsockopt (Depends-on): Likewise.
24930         * modules/setsockopt (Depends-on): Likewise.
24931         * tests/test-sys_socket.c: Check that socklen_t is defined.
24932         * tests/test-netdb.c: Likewise.
24933         * m4/socklen.m4: Update comments.
24934         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24935
24936 2010-08-27  Eric Blake  <eblake@redhat.com>
24937
24938         login_tty: add missing dependency
24939         * modules/login_tty (Depends-on): Add pty.
24940
24941 2010-08-26  Eric Blake  <eblake@redhat.com>
24942
24943         lib-symbol-versions: fix m4 quoting
24944         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
24945         format for AC_LINK_IFELSE.
24946
24947         glob: fix compile test
24948         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
24949
24950         btowc: fix missing file
24951         * modules/btowc (Files): Also ship locale-fr.m4.
24952
24953         lseek: fix link test
24954         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
24955         AC_LINK_IFELSE.
24956
24957         include_next: silence autoconf 2.68 warning
24958         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
24959         AC_COMPILE_IFELSE as special.
24960         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
24961         autoconf < 2.68.
24962
24963         acl: fix compilation test
24964         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
24965         AC_COMPILE_IFELSE.
24966
24967 2010-08-26  Bruno Haible  <bruno@clisp.org>
24968
24969         Modernize AC_TRY_RUN invocations.
24970         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
24971         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24972         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
24973         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
24974         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
24975         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24976         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
24977         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
24978         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24979         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24980         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
24981         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
24982         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
24983         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
24984         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
24985         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24986         gl_MBRLEN_NUL_RETVAL): Likewise.
24987         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24988         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
24989         Likewise.
24990         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24991         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24992         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
24993         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
24994         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
24995         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
24996         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
24997         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
24998         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
24999         Likewise.
25000         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
25001         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
25002         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25003         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25004         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25005         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
25006         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25007         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
25008         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
25009         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25010
25011 2010-08-26  Bruno Haible  <bruno@clisp.org>
25012
25013         Modernize AC_TRY_LINK invocations.
25014         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
25015         AC_TRY_LINK.
25016         * m4/argp.m4 (gl_ARGP): Likewise.
25017         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
25018         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
25019         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
25020         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
25021         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
25022         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
25023         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
25024         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
25025         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
25026         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
25027         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
25028         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
25029         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
25030         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25031         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
25032         * m4/hostent.m4 (gl_HOSTENT): Likewise.
25033         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25034         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
25035         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
25036         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
25037         Likewise.
25038         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
25039         Likewise.
25040         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
25041         Likewise.
25042         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
25043         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
25044         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
25045         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
25046         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
25047         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25048         * m4/servent.m4 (gl_SERVENT): Likewise.
25049         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
25050         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
25051         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
25052         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
25053         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25054         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
25055         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
25056         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25057         * modules/tsearch-tests (configure.ac): Likewise.
25058
25059 2010-08-26  Bruno Haible  <bruno@clisp.org>
25060
25061         Modernize AC_TRY_COMPILE invocations.
25062         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
25063         AC_TRY_COMPILE.
25064         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
25065         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
25066         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
25067         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
25068         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
25069         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
25070         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
25071         * m4/lock.m4 (gl_LOCK): Likewise.
25072         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
25073         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
25074         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
25075         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
25076         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
25077         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
25078         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
25079         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
25080         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
25081         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
25082         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
25083         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
25084         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
25085         extraneous semicolon.
25086
25087 2010-08-26  Jim Meyering  <meyering@redhat.com>
25088
25089         stat-time: relax license LGPL
25090         * modules/stat-time (License): Change from GPL to LGPL,
25091         with consent from all contributors, for use in libguile.
25092         Requested by Ludovic Courtès.
25093
25094 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
25095
25096         poll: return immediately on POLLHUP.
25097         * lib/poll.c (poll): Always set timeout before wait_timeout is
25098         computed.
25099
25100 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25101
25102         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
25103         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
25104         rmdir ("dir/.//"), unlinkat.
25105
25106 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
25107
25108         stdbool: avoid spurious failure with modern xlc
25109         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25110
25111 2010-08-24  Bruno Haible  <bruno@clisp.org>
25112
25113         getloadavg: simplify code
25114         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
25115         gl_have_func. Update comments.
25116
25117 2010-08-24  Eric Blake  <eblake@redhat.com>
25118
25119         getloadavg: don't define SVR4 on cygwin
25120         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
25121         only define SVR4 when -lkvm is required.
25122         Reported by Yaakov Selkowitz.
25123
25124 2010-08-24  Bruno Haible  <bruno@clisp.org>
25125
25126         priv-set: fix comment
25127         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
25128
25129 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
25130
25131         priv-set: fix comments
25132         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
25133         to match code, as suggested by David Bartley in:
25134         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
25135
25136 2010-08-23  Eric Blake  <eblake@redhat.com>
25137
25138         stdbool: avoid rejecting clang
25139         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25140         * tests/test-stdbool.c: Enable more tests if using the system
25141         <stdbool.h> instead of the gnulib replacement.
25142         (main): Move xlc bug test to a runtime test for all compilers.
25143         Reported by Anders Kaseorg.
25144
25145         argz: fix shell quoting issue
25146         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
25147         Reported by Charles Wilson.
25148
25149 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
25150             Erik Faye-Lund <kusmabite@gmail.com>
25151
25152         poll, select: handle ERROR_BROKEN_PIPE.
25153         * lib/poll.c (win32_compute_revents): Return POLLHUP when
25154         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25155         * lib/select.c (win32_compute_revents): Do not mark a pipe
25156         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25157
25158 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
25159
25160         fts: allow compilation with C++
25161         * lib/fts_.h: Specify extern "C" linkage with C++.
25162
25163 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25164
25165         Fix gnulib-tool sed script de-commentation for AIX sed.
25166         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
25167         sed.
25168
25169 2010-08-17  Eric Blake  <eblake@redhat.com>
25170
25171         test-stddef: test for (some) offsetof bugs
25172         * tests/test-stddef.c: Enhance test to ensure correct type of
25173         offsetof.
25174         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
25175         that we are not fixing at this time.
25176
25177 2010-08-15  Bruno Haible  <bruno@clisp.org>
25178
25179         stpncpy: Allow stpncpy to be defined as a macro.
25180         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
25181         if it's already correctly declared.
25182         * lib/string.in.h (stpncpy): Undefine before redefining.
25183         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
25184
25185 2010-08-14  Bruno Haible  <bruno@clisp.org>
25186
25187         Rename module 'memxfrm' to 'amemxfrm'.
25188         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
25189         (amemxfrm): Renamed from memxfrm.
25190         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
25191         (amemxfrm): Renamed from memxfrm.
25192         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
25193         * NEWS: Mention the change.
25194         * MODULES.html.sh (String handling <string.h>): Update.
25195         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
25196         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
25197         * lib/unicase/u16-casexfrm.c: Likewise.
25198         * lib/unicase/u32-casexfrm.c: Likewise.
25199         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
25200         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
25201         * lib/uninorm/u16-normxfrm.c: Likewise.
25202         * lib/uninorm/u32-normxfrm.c: Likewise.
25203         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
25204         memxfrm.
25205         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
25206         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
25207         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
25208         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
25209         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
25210         Suggested by Paul Eggert.
25211
25212 2010-08-14  Bruno Haible  <bruno@clisp.org>
25213
25214         Tests for module 'astrxfrm'.
25215         * modules/astrxfrm-tests: New file.
25216         * tests/test-astrxfrm.c: New file.
25217
25218         New module 'astrxfrm'.
25219         * lib/astrxfrm.h: New file.
25220         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
25221         * modules/astrxfrm: New file.
25222
25223 2010-08-14  Reuben Thomas <rrt@sc3d.org>
25224
25225         regex: Tweak doc.
25226         * doc/regex.texi (Overview): Don't mention regex.c.
25227         (GNU Regular Expression Compiling): Likewise.
25228         (Match-end-of-line Operator): Mention 'not_eol'.
25229
25230 2010-08-14  Brian Gough  <bjg@gnu.org>
25231             Bruno Haible  <bruno@clisp.org>
25232
25233         git-merge-changelog: add doc relating to use with bzr and hg.
25234         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
25235
25236 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
25237
25238         pthread: fix pthread.h creation for srcdir != builddir
25239         * modules/pthread (Makefile.am): Fix the rule to work also in a
25240         non-srcdir build.
25241
25242 2010-08-13  Karl Berry  <karl@gnu.org>
25243
25244         * doc/regex.texi (Predefined Syntaxes): @smallexample.
25245         * doc/posix-*/*: force line break before @url of POSIX
25246         specifications.
25247         Suggested by Werner Lemberg.
25248
25249 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
25250
25251         strtod: fix const diagnostic
25252         * lib/strtod.c (strtod): Don't assign const char * to char *,
25253         as this elicits a warning from GCC when warnings are enabled.
25254
25255 2010-08-10  Pádraig Brady <P@draigbrady.com>
25256         and Eric Blake  <eblake@redhat.com>
25257
25258         copy-acl: ignore ENOTSUP on HP-UX
25259         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
25260         so that it is available for HP-UX.
25261         * lib/copy-acl.c (qcopy_acl): Use it.
25262         Reported by Patrick M. Callahan.
25263
25264 2010-08-10  Eric Blake  <eblake@redhat.com>
25265
25266         open, chown: relax license
25267         * modules/open (License): Change to LGPLv2+, with consent by all
25268         authors, for use in augeas.
25269         * modules/chown (License): Likewise.
25270         * modules/lchown (Likewise): Likewise.
25271         Requested by Adam Stokes.
25272
25273 2010-08-09  Karl Berry  <karl@gnu.org>
25274
25275         * build-aux/ar-lib: new file, import from Automake.
25276         * config/srclist.txt: autocheck for updates.
25277
25278 2010-08-09  Eric Blake  <eblake@redhat.com>
25279
25280         readlinkat: adjust client modules
25281         * modules/areadlinkat (Depends-on): Use readlinkat, not
25282         symlinkat.
25283         * modules/areadlinkat-with-size (Depends-on): Likewise.
25284
25285         mknod: be more vocal about danger of running tests as root
25286         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
25287         root, since that is just asking for problems.
25288         Suggested by Bruno Haible, based on a report by Rainer Tammer.
25289
25290         readlinkat: split into its own module
25291         * modules/symlinkat: Split readlinkat...
25292         * modules/readlinkat: ...into separate module.
25293         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
25294         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
25295         * lib/symlinkat.c (readlinkat): Move...
25296         * lib/readlinkat.c: ...into new file.
25297         * modules/symlinkat-tests: Split readlinkat test...
25298         * modules/readlinkat-tests: ...into separate module.
25299         * tests/test-symlinkat.c: Split...
25300         * tests/test-readlinkat.c: ...into new file.
25301         * NEWS: Document the split.
25302         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25303         * lib/unistd.in.h (readlinkat): Likewise.
25304         Suggested by Bruno Haible.
25305
25306 2010-08-08  Bruno Haible  <bruno@clisp.org>
25307
25308         memxfrm: Speed up.
25309         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
25310         that usually only one call to strxfrm is necessary for each string
25311         part.
25312         Reported by Paul Eggert <eggert@cs.ucla.edu>.
25313
25314 2010-08-07  Karl Berry  <karl@gnu.org>
25315
25316         * doc/posix-headers/limits.texi,
25317         * doc/posix-functions/malloc.texi,
25318         * doc/posix-functions/strsignal.texi: missing @item.
25319         * doc/ld-version-script.texi: spurious leading i.
25320         * doc/regex.texi (Interval Operators): no commas inside @var.
25321
25322 2010-08-01  Bruno Haible  <bruno@clisp.org>
25323
25324         Integrate the regex documentation.
25325         * doc/gnulib.texi: Define 'cn' index.
25326         (Regular expressions): New a chapter that includes regex.texi and
25327         regexprops-generic.texi.
25328         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
25329         syntax.
25330
25331         Whitespace cleanup.
25332         * doc/regex.texi: Remove trailing spaces.
25333
25334         Add regex documentation.
25335         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
25336         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
25337         Written by Kathy A. Hargreaves and Karl Berry.
25338
25339 2010-08-01  Bruno Haible  <bruno@clisp.org>
25340
25341         link: Update documentation.
25342         * doc/posix-functions/link.texi: Update regarding Solaris.
25343
25344 2010-07-31  Bruno Haible  <bruno@clisp.org>
25345
25346         Update modules list.
25347         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
25348         (String handling <string.h>): Add memcmp2, memxfrm.
25349         (Container data structures): Add xlist, xsublist, xoset.
25350         (Core language properties): Add alignof, unused-parameter.
25351         (Process control, Numeric conversion functions <stdlib.h>): Renamed
25352         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
25353         (Unibyte characters <ctype.h>): New section.
25354         (String handling <string.h>): New section.
25355         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
25356         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
25357         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
25358         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
25359         tan, tanh, tanl, y0, y1, yn.
25360         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
25361         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
25362         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
25363         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
25364         unlockpt, vdprintf, vdprintf-posix.
25365         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
25366         (File system functions): Add concat-filename, sys_file, sys_ioctl,
25367         xconcat-filename.
25368         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
25369         getdtablesize, pipe2, pipe2-safer.
25370         (Security): New section.
25371         (Networking functions): Add accept4.
25372         (Signal handling): Add sigpipe.
25373         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
25374         mbmemcasecoll.
25375         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
25376         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
25377         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
25378         pipe-filter-ii.
25379         (Misc): Add argp-version-etc, login_tty, parse-duration.
25380
25381 2010-07-31  Bruno Haible  <bruno@clisp.org>
25382
25383         Improve doc in MODULES.html.
25384         * modules/linkat (Description): Add the word "function".
25385         * modules/mkfifo (Description): Likewise.
25386         * modules/mknod (Description): Likewise.
25387         * modules/remove (Description): Likewise.
25388         * modules/renameat (Description): Likewise.
25389         * modules/stat (Description): Likewise.
25390         * modules/symlink (Description): Likewise.
25391         * modules/unlink (Description): Likewise.
25392
25393 2010-07-31  Bruno Haible  <bruno@clisp.org>
25394
25395         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
25396         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
25397         option --enable/disable-c++ instead of --enable/disable-cxx.
25398         * NEWS: Mention the change.
25399
25400 2010-07-31  Bruno Haible  <bruno@clisp.org>
25401
25402         readlink, areadlink: Relax test a bit.
25403         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
25404         alternative to ENOTDIR.
25405         * tests/test-areadlink.h (test_areadlink): Likewise.
25406         Reported by Rainer Tammer.
25407
25408 2010-07-31  Bruno Haible  <bruno@clisp.org>
25409
25410         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
25411         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
25412         character, perform the search using U_STRCHR.
25413         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
25414         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
25415         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
25416         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
25417         Suggested by Paolo Bonzini.
25418
25419 2010-07-31  Bruno Haible  <bruno@clisp.org>
25420
25421         unistr/u*-strstr: Fix dependencies.
25422         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
25423         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
25424         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
25425
25426 2010-07-31  Bruno Haible  <bruno@clisp.org>
25427
25428         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
25429         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
25430         the beginning of the loop.
25431         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
25432         cases in 'switch' statement.
25433
25434         unistr/u8-strchr: Fix several bugs.
25435         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
25436         the string. When not found, return NULL, not a pointer near the end.
25437
25438         More tests for unistr/u8-strchr.
25439         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
25440         that the function does not read past the first occurrence of the byte
25441         being searched.
25442         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
25443         * tests/unistr/test-u16-strchr.c (main): New function.
25444         * tests/unistr/test-u32-strchr.c (main): New function.
25445
25446 2010-07-31  Bruno Haible  <bruno@clisp.org>
25447
25448         posix-modules: Ignore backup files of documentation files.
25449         * posix-modules: grep only through files named *.texi.
25450
25451 2010-07-31  Bruno Haible  <bruno@clisp.org>
25452
25453         symlinkat: Fix documentation.
25454         * doc/posix-functions/readlinkat.texi: Fix module name.
25455
25456 2010-07-31  Bruno Haible  <bruno@clisp.org>
25457
25458         fchownat: Replace also when chown has the trailing slash bug.
25459         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
25460         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
25461         introduced on 2010-04-10.
25462         Reported by Rainer Tammer.
25463
25464 2010-07-31  Bruno Haible  <bruno@clisp.org>
25465
25466         linkat: Work around AIX 7.1 bug.
25467         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
25468         whether linkat handles trailing slash correctly. If not, replace linkat
25469         and define LINKAT_TRAILING_SLASH_BUG.
25470         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
25471         check whether (fd1,file1) points to a directory if file1 or file2 ends
25472         in a slash. Code taken from lib/link.c.
25473         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
25474         Reported by Rainer Tammer.
25475
25476 2010-07-31  Bruno Haible  <bruno@clisp.org>
25477
25478         Correctly determine whether pow is available in libc on AIX 7 with xlc.
25479         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
25480         This disables an xlc optimization that was causing wrong test results.
25481         Reported by Rainer Tammer.
25482
25483 2010-07-31  Bruno Haible  <bruno@clisp.org>
25484
25485         iconv: Work around AIX 6.1..7.1 bug.
25486         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
25487         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
25488         cross-compiling, guess no on all versions of AIX.
25489         Reported by Rainer Tammer.
25490
25491 2010-07-31  Bruno Haible  <bruno@clisp.org>
25492
25493         readlink: Relax test a bit.
25494         * tests/test-readlink.h (test_readlink): Allow different errno value
25495         when readlink is called with a file name that ends in / and refers to
25496         a file.
25497         Suggested by Eric Blake.
25498         Reported by Rainer Tammer.
25499
25500 2010-07-31  Bruno Haible  <bruno@clisp.org>
25501
25502         copysign: Does not require -lm on glibc systems.
25503         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
25504         gl_COMMON_DOUBLE_MATHFUNC.
25505         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
25506
25507 2010-07-31  Bruno Haible  <bruno@clisp.org>
25508
25509         duplocale: Work around AIX 7.1 bug.
25510         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
25511         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
25512         * lib/duplocale.c (rpl_duplocale): Update comment.
25513         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
25514         Reported by Rainer Tammer.
25515
25516 2010-07-30  Bruno Haible  <bruno@clisp.org>
25517
25518         dirfd: Avoid link error on AIX 7.1.
25519         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
25520         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
25521         exist, set REPLACE_DIRFD.
25522         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
25523         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
25524         * doc/posix-functions/dirfd.texi: Update.
25525         Reported by Rainer Tammer.
25526
25527 2010-07-30  Eric Blake  <eblake@redhat.com>
25528
25529         strtod: next round of AIX fixes
25530         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
25531         exponent.
25532         * tests/test-strtod.c (main): Enhance tests.
25533         * doc/posix-functions/strtod.texi (strtod): Document next bug.
25534         Reported by Rainer Tammer.
25535
25536         futimens: fix configure check
25537         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
25538         Reported by Bruno Haible.
25539
25540 2010-07-30  Bruno Haible  <bruno@clisp.org>
25541
25542         getline: Update regarding AIX.
25543         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
25544         Reported by Rainer Tammer.
25545
25546 2010-07-30  Bruno Haible  <bruno@clisp.org>
25547
25548         wcwidth: Drop replacement on AIX 7.
25549         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
25550         AIX 7.
25551         Reported by Rainer Tammer.
25552
25553 2010-07-30  Bruno Haible  <bruno@clisp.org>
25554
25555         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
25556         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
25557         a 'char *'.
25558         Reported by Rainer Tammer.
25559
25560 2010-07-30  Bruno Haible  <bruno@clisp.org>
25561
25562         unlink: Update regarding AIX.
25563         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
25564         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
25565         Reported by Rainer Tammer.
25566
25567 2010-07-30  Bruno Haible  <bruno@clisp.org>
25568
25569         symlink: Update regarding AIX.
25570         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
25571         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
25572         Reported by Rainer Tammer.
25573
25574 2010-07-30  Bruno Haible  <bruno@clisp.org>
25575
25576         strndup: Update regarding AIX.
25577         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
25578         AIX 7.
25579         Reported by Rainer Tammer.
25580
25581 2010-07-30  Bruno Haible  <bruno@clisp.org>
25582
25583         stat: Update regarding AIX.
25584         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
25585         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
25586         Reported by Rainer Tammer.
25587
25588 2010-07-30  Bruno Haible  <bruno@clisp.org>
25589
25590         truncl: Fix autoconf test.
25591         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
25592         whether truncl works.
25593         Reported by Rainer Tammer.
25594
25595 2010-07-30  Bruno Haible  <bruno@clisp.org>
25596
25597         round: Update regarding AIX.
25598         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
25599         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
25600         Reported by Rainer Tammer.
25601
25602 2010-07-30  Bruno Haible  <bruno@clisp.org>
25603
25604         rename: Update regarding AIX.
25605         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
25606         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
25607         Reported by Rainer Tammer.
25608
25609 2010-07-30  Bruno Haible  <bruno@clisp.org>
25610
25611         printf.m4: Update regarding AIX.
25612         * m4/printf.m4: Update comments regarding AIX.
25613         Reported by Rainer Tammer.
25614
25615 2010-07-30  Bruno Haible  <bruno@clisp.org>
25616
25617         iconv: Update regarding AIX.
25618         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
25619         AIX 7.
25620         Reported by Rainer Tammer.
25621
25622 2010-07-30  Bruno Haible  <bruno@clisp.org>
25623
25624         getopt: Update regarding AIX.
25625         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
25626         no on AIX.
25627         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
25628         Reported by Rainer Tammer.
25629
25630 2010-07-30  Bruno Haible  <bruno@clisp.org>
25631
25632         ldexpl; Update regarding AIX.
25633         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
25634         on AIX 7.
25635         Reported by Rainer Tammer.
25636
25637 2010-07-30  Bruno Haible  <bruno@clisp.org>
25638
25639         frexpl: Update regarding AIX.
25640         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
25641         on AIX 7.
25642         Reported by Rainer Tammer.
25643
25644 2010-07-30  Bruno Haible  <bruno@clisp.org>
25645
25646         open, fopen: Update regarding AIX.
25647         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
25648         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25649         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
25650         * doc/posix-functions/fopen.texi: Likewise.
25651         Reported by Rainer Tammer.
25652
25653 2010-07-30  Bruno Haible  <bruno@clisp.org>
25654
25655         chown: Update doc regarding AIX.
25656         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
25657         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
25658         Reported by Rainer Tammer.
25659
25660 2010-07-30  Eric Blake  <eblake@redhat.com>
25661
25662         strtod: fix bug in replacement function on AIX
25663         * lib/strtod.c (strtod): Special case broken "0x" parse in
25664         underlying strtod.
25665         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
25666         * doc/posix-functions/strtod.texi (strtod): Likewise.
25667         Reported by Rainer Tammer.
25668
25669 2010-07-30  Bruno Haible  <bruno@clisp.org>
25670
25671         mbrlen: Fix cross-compilation guess for AIX.
25672         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
25673         guess. Leftover from 2008-12-22.
25674
25675 2010-07-30  Bruno Haible  <bruno@clisp.org>
25676
25677         mbrtowc: Fix cross-compilation guess for AIX.
25678         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
25679         guess. Leftover from 2008-12-21.
25680
25681 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
25682
25683         init.sh: work around trap limitation of some shells
25684         * tests/init.sh (setup_): Move exit trap outside of shell function.
25685
25686 2010-07-29  Eric Blake  <eblake@redhat.com>
25687
25688         strtod: aid debugging
25689         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
25690         understanding why strtod is rejected.
25691
25692 2010-07-28  Bruno Haible  <bruno@clisp.org>
25693
25694         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
25695         * lib/unistr/u8-chr.c: Include <string.h>.
25696         * tests/unistr/test-u8-chr.c: Likewise.
25697         * tests/unistr/test-u16-chr.c: Likewise.
25698         * tests/unistr/test-u32-chr.c: Likewise.
25699         * tests/unistr/test-u8-strchr.c: Likewise.
25700         * tests/unistr/test-u16-strchr.c: Likewise.
25701         * tests/unistr/test-u32-strchr.c: Likewise.
25702         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
25703         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
25704         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
25705         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
25706
25707 2010-07-28  Bruno Haible  <bruno@clisp.org>
25708
25709         Use spaces for indentation, not tabs.
25710         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
25711
25712 2010-07-27  Bruno Haible  <bruno@clisp.org>
25713
25714         mbspcasecmp: Fix function specification.
25715         * lib/string.in.h (mbspcasecmp): Fix specification comment.
25716         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
25717         Reported by Eric Blake <eblake@redhat.com>.
25718
25719 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
25720
25721         timespec: use cast and not conditional, as truncation isn't possible
25722         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
25723         instead of a conditional.  Comment about the situation in more detail.
25724         This undoes most of the 2009-10-29 patch.
25725
25726 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
25727
25728         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
25729         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
25730         * lib/unistr/u8-strchr.c: Likewise.
25731         * modules/unistr/u8-chr: Depend on memchr.
25732
25733         unistr/u*-strchr: add tests
25734         * modules/unistr/u8-strchr-tests: New file.
25735         * modules/unistr/u16-strchr-tests: New file.
25736         * modules/unistr/u32-strchr-tests: New file.
25737         * tests/unistr/test-strchr.h: New file.
25738         * tests/unistr/test-u8-strchr.c: New file.
25739         * tests/unistr/test-u16-strchr.c: New file.
25740         * tests/unistr/test-u32-strchr.c: New file.
25741
25742         unistr/u*-chr: test multibyte sequences more
25743         * tests/unistr/test-chr.h: Do complete testing of the characters in the
25744         test vector.
25745         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
25746         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
25747         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
25748
25749         unistr/u*-chr: test multibyte sequences
25750         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
25751
25752         unistr/u*-chr: prepare for multibyte tests
25753         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
25754         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
25755         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
25756         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
25757         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
25758         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
25759
25760 2010-07-18  Bruno Haible  <bruno@clisp.org>
25761
25762         unistr/u8-strchr: Optimize non-ASCII argument case.
25763         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
25764         because the first byte often matches anyway.
25765         Reported by Pádraig Brady <P@draigbrady.com>.
25766
25767 2010-07-15  Karl Berry  <karl@gnu.org>
25768
25769         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
25770
25771 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
25772
25773         getcwd: on Solaris, work better if ancestors are inaccessible
25774         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
25775         buffer and size, try again with a large buffer.  This works better
25776         on Solaris, since its getcwd succeeds even if the path to the root
25777         is inaccessible, and this is helpful in common cases such as .zfs
25778         hidden directories.  Problem reported by J Chapman Flack in
25779         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
25780         Use system getcwd if it's declared, not merely if it's partly
25781         working; use the partly-working test only to avoid needless effort
25782         if the system getcwd fails.
25783         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
25784         comment that was already obsolete and is now even more obsolete.
25785         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
25786         now might call strdup.
25787
25788 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
25789
25790         pthread: Add enough so that coreutils/src/sort.c compiles.
25791         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
25792         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
25793         gnulib. Include <sched.h> and <time.h>, as per POSIX.
25794         Include <sys/types.h>, in case it defines pthread_t.
25795         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
25796         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
25797         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
25798         (pthread_rwlockattr_t, pthread_spinlock_t):
25799         New typedefs, if HAVE_PTHREAD_T is not defined.
25800         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
25801         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
25802         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
25803         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
25804         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
25805         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
25806         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
25807         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
25808         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
25809         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
25810         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
25811         New macros.
25812         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
25813         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
25814         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
25815         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
25816         (pthread_spin_unlock): New dummy functions.
25817         (pthread_create): Return EAGAIN; don't set errno.
25818         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
25819         require AC_C_INLINE.
25820         * modules/pthread (Depends-on): Add sched, time.
25821         (pthread.h): Use AM_V_GEN.
25822
25823 2010-07-13  Bruno Haible  <bruno@clisp.org>
25824
25825         striconveh: Don't malloc memory if the result buffer is sufficient.
25826         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
25827         buffer if its size is sufficient.
25828         Reported by Ludovic Courtès <ludo@gnu.org>.
25829
25830 2010-07-13  Bruno Haible  <bruno@clisp.org>
25831
25832         strtod: Add safety check.
25833         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
25834
25835 2010-07-12  Bruno Haible  <bruno@clisp.org>
25836
25837         Unify tests that set gl_cv_func_ldexpl_no_libm.
25838         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
25839         gl_FUNC_LDEXPL.
25840         (gl_FUNC_LDEXPL): Invoke it.
25841         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25842
25843 2010-07-12  Bruno Haible  <bruno@clisp.org>
25844
25845         Unify tests that set gl_cv_func_ldexp_no_libm.
25846         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
25847         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
25848         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
25849         (configure.ac): Simply invoke gl_FUNC_LDEXP.
25850         * modules/strtod (Files): Add m4/ldexp.m4.
25851
25852 2010-07-12  Bruno Haible  <bruno@clisp.org>
25853
25854         Unify tests that set gl_cv_func_frexpl_no_libm.
25855         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
25856         gl_FUNC_FREXPL_NO_LIBM.
25857         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
25858         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25859
25860 2010-07-12  Bruno Haible  <bruno@clisp.org>
25861
25862         Unify tests that set gl_cv_func_frexp_no_libm.
25863         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
25864         gl_FUNC_FREXP_NO_LIBM.
25865         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
25866         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25867
25868 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25869
25870         memcoll: clarify sizes versus lengths, document better, and tweak perf
25871         * lib/memcoll.c (strcoll_loop, memcoll0):
25872         Improve quality of descriptive comments.  Name variables
25873         consistently as to whether they are lengths (which do not include
25874         terminating null) versus sizes (which do).
25875         * lib/xmemcoll.c (xmemcoll0): Likewise.
25876         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
25877         returned when s1size == 0; this is easier to compile and saves
25878         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
25879
25880 2010-07-12  Bruno Haible  <bruno@clisp.org>
25881
25882         Tests for module '_Exit'.
25883         * modules/_Exit-tests: New file.
25884         * tests/test-_Exit.sh: New file.
25885         * tests/test-_Exit.c: New file.
25886
25887         New module '_Exit'.
25888         * lib/stdlib.in.h (__attribute__): New macro.
25889         (_Exit): New declaration.
25890         * lib/_Exit.c: New file.
25891         * m4/_Exit.m4: New file.
25892         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
25893         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
25894         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
25895         * modules/_Exit: New file.
25896         * tests/test-stdlib-c++.cc (_Exit): Check signature.
25897         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
25898
25899 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25900
25901         strtod: make it more-accurate typically, and don't require libm
25902         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
25903         Include limits.h.  Don't include string.h.
25904         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
25905         (locale_isspace): New function, so that no casts are needed to
25906         check whether *s is a space.
25907         (ldexp): Provide an unused dummy if not available.
25908         (scale_radix_exp, parse_number, underlying_strtod): New functions.
25909         (strtod): Use them.  This implementation prefers to use the
25910         underlying strtod if available, falling back on our own code
25911         only to fix known bugs.  This is more likely to produce an
25912         accurate result.  Also, it avoids the use of libm functions.
25913         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
25914         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
25915         was absent, but it caused a test failure with coreutils.
25916         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
25917         with libm.
25918         * modules/strtod (Makefile.am, Link): libm is no longer needed.
25919         * modules/strtod-tests (Makefile.am): Likewise.
25920
25921 2010-07-11  Pádraig Brady  <P@draigBrady.com>
25922             Bruno Haible  <bruno@clisp.org>
25923
25924         unistr/u8-strchr: Optimize ASCII argument case.
25925         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
25926
25927 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
25928
25929         (x)memcoll: minor tweaks
25930         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
25931         is after the type that it qualifies.
25932         (memcoll0): Likewise.
25933         * lib/memcoll.h (memcoll0): Likewise.
25934         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
25935         * lib/xmemcoll.h (xmemcoll0): Likewise.
25936         * lib/memcoll.c (memcoll0): Correct the comment.  This function
25937         differs from memcoll in that the NUL byte is part of the argument.
25938         Omit the abort-checks, as performance is a real issue here.  Plus,
25939         the checks were wrong anyway (an off-by-one error).  Omit local
25940         variable 'diff', as it's a bit clearer that way.
25941         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
25942         no longer needed.
25943
25944 2010-07-08  Chen Guo <chenguo4@yahoo.com>
25945
25946         (x)memcoll: speedup when input is known to be NUL delimited
25947         * lib/memcoll.c: Include stdlib.
25948         (memcoll0): New function.
25949         (strcoll_loop): New function, refactored for use in both memcoll
25950         and memcoll0.
25951         * lib/memcoll.h (memcoll0): Add prototype.
25952         * lib/xmemcoll.c (xmemcoll0): New function.
25953         (collate_error): New function, refactored for use in both xmemcoll
25954         and xmemcoll0.
25955         * lib/xmemcoll.h (xmemcoll0): Add prototype.
25956         * m4/memcoll.m4: add inline invocation.
25957
25958 2010-07-06  Pádraig Brady  <P@draigBrady.com>
25959
25960         * build-aux/bootstrap: Remove any local translations
25961         from the translation project synchronization directory,
25962         so that local only translations are not distributed.
25963
25964 2010-07-04  Bruno Haible  <bruno@clisp.org>
25965
25966         fsusage: Clarify which code applies to which platforms.
25967         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
25968         platform.
25969         * lib/fsusage.c (get_fs_usage): Likewise.
25970
25971 2010-07-04  Bruno Haible  <bruno@clisp.org>
25972
25973         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
25974         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
25975         Reported by Martin Lambers <marlam@marlam.de>.
25976
25977 2010-07-04  Jim Meyering  <meyering@redhat.com>
25978
25979         hash: once again explicitly disallow insertion of NULL
25980         * lib/hash.c (hash_insert0): Reinstate just-removed test:
25981         inserting a NULL pointer cannot work with these functions.
25982         Add a comment with details.
25983         This reverts part of the 2010-07-01 commit, 5bef1a35
25984         "hash: extend module to deal with non-pointer keys".
25985
25986 2010-07-01  Bruno Haible  <bruno@clisp.org>
25987
25988         stdbool: Update doc.
25989         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
25990         Info from Christian Weisgerber <naddy@mips.inka.de>.
25991
25992 2010-07-01  Jim Meyering  <meyering@redhat.com>
25993
25994         hash: extend module to deal with non-pointer keys
25995         * lib/hash.c (hash_insert0): New interface, much like hash_insert
25996         but that allows insertion of non-pointer entries.
25997         Do not disallow an ENTRY value of NULL.
25998         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
25999         * lib/hash.h (hash_insert0): Declare.
26000
26001 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26002
26003         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
26004         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
26005         not present (i.e. with autoconf 2.59 and when using gettextize, not
26006         gnulib), require AC_GNU_SOURCE instead.
26007
26008 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
26009
26010         idpriv-drop: Fix tests.
26011         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
26012         not to the test-idpriv-droptemp program.
26013
26014 2010-06-29  Bruno Haible  <bruno@clisp.org>
26015
26016         string: Fix syntax error with g++ 2.96.
26017         * lib/string.in.h (__pure__): Remove definition.
26018         (_GL_ATTRIBUTE_PURE): New macro.
26019         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
26020         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
26021         Reported by Christian Weisgerber <naddy@mips.inka.de>.
26022
26023 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
26024
26025         unitypes: Fix bug introduced on 2010-05-18.
26026         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
26027
26028 2010-06-22  Eric Blake  <eblake@redhat.com>
26029
26030         memmem: slight optimization
26031         * lib/str-two-way.h (critical_factorization): Update comments.
26032         Reduce work during factorization phase.
26033         Reported by Carlos Bueno <carlos@bueno.org>.
26034
26035 2010-06-21  Bruno Haible  <bruno@clisp.org>
26036
26037         Fix HAVE_CALLOC_POSIX misnomer.
26038         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
26039         !HAVE_CALLOC_POSIX.
26040         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
26041         HAVE_CALLOC_POSIX.
26042         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
26043         instead of HAVE_CALLOC_POSIX.
26044         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
26045         HAVE_CALLOC_POSIX.
26046
26047         Use modern idiom for calloc() replacement.
26048         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
26049         AC_FUNC_CALLOC.
26050         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
26051         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
26052         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26053         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
26054         (gl_REPLACE_CALLOC): New macro.
26055
26056 2010-06-21  Bruno Haible  <bruno@clisp.org>
26057
26058         Fix HAVE_REALLOC_POSIX misnomer.
26059         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
26060         !HAVE_REALLOC_POSIX.
26061         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
26062         HAVE_REALLOC_POSIX.
26063         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
26064         instead of HAVE_REALLOC_POSIX.
26065         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
26066         HAVE_REALLOC_POSIX.
26067
26068         Use modern idiom for realloc() replacement.
26069         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
26070         AC_FUNC_REALLOC.
26071         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
26072         Autoconf's AC_FUNC_REALLOC.
26073         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26074         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
26075         (gl_REPLACE_REALLOC): New macro.
26076         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26077
26078 2010-06-21  Bruno Haible  <bruno@clisp.org>
26079
26080         Fix HAVE_MALLOC_POSIX misnomer.
26081         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
26082         !HAVE_MALLOC_POSIX.
26083         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
26084         HAVE_MALLOC_POSIX.
26085         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
26086         instead of HAVE_MALLOC_POSIX.
26087         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
26088         HAVE_MALLOC_POSIX.
26089
26090         Use modern idiom for malloc() replacement.
26091         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
26092         AC_FUNC_MALLOC.
26093         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
26094         Autoconf's AC_FUNC_MALLOC.
26095         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26096         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
26097         (gl_REPLACE_MALLOC): New macro.
26098         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26099
26100 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
26101
26102         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
26103         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
26104         This macro takes 3 arguments, not 4.
26105
26106 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
26107
26108         ipv6: fix detection under mingw
26109         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
26110         in6_addr.
26111
26112 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
26113
26114         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
26115         that strtod() works when cross-compiling to a glibc version known
26116         to work.
26117
26118 2010-06-15  Bruno Haible  <bruno@clisp.org>
26119
26120         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
26121
26122 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
26123
26124         select: Correct timeout.
26125         * lib/select.c (rpl_select): Compute wait_timeout correctly.
26126
26127 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26128
26129         git-version-gen: init shell var to avoid env var influence
26130         * build-aux/git-version-gen (v): Init shell var to empty.
26131
26132 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
26133
26134         priv-set: Don't assume that priv.h exists merely because getppriv does.
26135         See Jan Andersen's bug report about AIX 5L in
26136         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
26137         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
26138         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
26139         * lib/priv-set.h: Likewise.
26140         * tests/test-priv-set.c: Likewise.
26141
26142 2010-06-13  Bruno Haible  <bruno@clisp.org>
26143
26144         relocatable: Make it easier to test whether to install wrappers.
26145         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
26146         RELOCATABLE_VIA_WRAPPER.
26147
26148 2010-06-13  Bruno Haible  <bruno@clisp.org>
26149
26150         gnulib-tool: Display specified modules and dependencies differently.
26151         * gnulib-tool (func_show_module_list): New function.
26152         (func_import, func_create_testdir): Invoke it.
26153         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
26154
26155 2010-06-13  Bruno Haible  <bruno@clisp.org>
26156
26157         gnulib-tool: Align code of func_import and func_create_testdir.
26158         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
26159         specified_modules.
26160
26161 2010-06-12  Jim Meyering  <meyering@redhat.com>
26162
26163         test-inttostr: avoid spurious failure on Solaris 9
26164         * tests/test-inttostr.c (main): Skip the test when snprintf fails
26165         to accept "%ju".  Reported by Bruno Haible.
26166
26167 2010-06-11  Jim Meyering  <meyering@redhat.com>
26168
26169         test-sys_socket: mark variables as used more readably
26170         * tests/test-sys_socket.c (main): Mark otherwise unused variables
26171         as "used" explicitly via (void) statement casts.  This is more
26172         readable than using them in an artificial return expression.
26173         Suggestion from Bruno Haible.
26174
26175 2010-06-11  Bruno Haible  <bruno@clisp.org>
26176
26177         Avoid some more warnings from "gcc -Wwrite-strings".
26178         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
26179         to 'const char *'.
26180         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
26181         * tests/test-c-strcasestr.c (main): Likewise.
26182         * tests/test-mbscasestr1.c (main): Likewise.
26183         * tests/test-mbscasestr2.c (main): Likewise.
26184         * tests/test-memmem.c (main): Likewise.
26185         * tests/test-strstr.c (main): Likewise.
26186         * tests/test-strcasestr.c (main): Likewise.
26187
26188 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26189
26190         init.sh: change framework_failure_ to fail with status 99, not 1
26191         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
26192         automake's parallel-tests rule that this is an unexpected failure,
26193         even if the test is listed in XFAIL_TESTS.
26194
26195 2010-06-11  Jim Meyering  <meyering@redhat.com>
26196
26197         test-inttostr: avoid warnings about 4-6KB literal strings
26198         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
26199         Include "macros.h", for its definition of ASSERT.
26200         (CK): s/assert/ASSERT/
26201         * modules/inttostr-tests (Files): Add macros.h.
26202
26203         init.sh: don't use $ME_ or skip_ before they are defined
26204         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
26205         their first uses.  Also hoist their companions: warn_, fail_,
26206         framework_failure_, $stderr_fileno.  Prompted by a patch from
26207         Stefano Lattarini.
26208
26209         test-sys_socket: avoid set-but-not-used warnings from gcc
26210         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
26211         avoid warning about set-but-not-used variables.
26212
26213         test-xvasprintf: avoid 'const' discard warnings
26214         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
26215         "const" when assigning from literal strings.
26216         (test_xasprintf): Add "void" in function argument list to placate
26217         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
26218
26219         tests: avoid compilation warnings in argmatch and exclude tests...
26220         in packages that define ARGMATCH_DIE_DECL, like coreutils.
26221         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
26222         Since it always exits, declare with the "noreturn" attribute.
26223         * tests/test-argmatch.c: Likewise.
26224
26225         tests: avoid 'const' discard warnings in mbsstr tests
26226         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
26227         * tests/test-mbsstr2.c (main): Likewise.
26228
26229         test-verify: avoid warning from gcc's -Wmissing-declarations
26230         * tests/test-verify.c (function): Declare to be static.
26231
26232         test-inttostr.c: include <string.h> for use of strcmp
26233         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
26234
26235         test-linkat: avoid failed assertion on "other" architectures
26236         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
26237         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
26238         sparc: https://bugs.launchpad.net/bugs/591968
26239
26240 2010-06-11  Jim Meyering  <meyering@redhat.com>
26241
26242         printf.m4: avoid autoconf's "Expanded Before Required" warning
26243         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
26244         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
26245         autoconf warning.
26246
26247 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
26248
26249         Replacement header templates are now named with ".in", not "_".
26250         * doc/gnulib-intro.texi: Correct.
26251
26252 2010-06-10  Jim Meyering  <meyering@redhat.com>
26253
26254         inttostr-tests: depend on snprintf, not snprintf-posix
26255         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
26256         snprintf-posix, to avoid this aclocal failure:
26257           missing file gnulib-tests/vasnprintf.c
26258           configure.ac:45: error: expected source file, required through \
26259           AC_LIBSOURCES, not found
26260
26261 2010-06-10  Jim Meyering  <meyering@redhat.com>
26262
26263         inttostr: add a new function, inttostr, and tests
26264         The namesake function was not available.  The existence of the
26265         template file, inttostr.c makes its addition nontrivial.
26266         * lib/anytostr.c: Rename from inttostr.c.
26267         (anytostr): Rename from inttostr.
26268         * lib/inttostr.c: New file.
26269         * modules/inttostr (Files): Add anytostr.c.
26270         (Makefile.am): Set lib_SOURCES instead of ...
26271         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
26272         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
26273         * lib/offtostr.c: Likewise.
26274         * lib/uinttostr.c: Likewise.
26275         * lib/umaxtostr.c: Likewise.
26276         * modules/inttostr-tests: New file.
26277         * tests/test-inttostr.c: New file.  Test these functions.
26278
26279 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
26280             Bruno Haible  <bruno@clisp.org>
26281
26282         Add "Extending Gnulib" chapter to manual.
26283         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
26284         chapter.
26285         (Extending Gnulib): New chapter.
26286         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
26287         chapter.
26288
26289 2010-06-09  Bruno Haible  <bruno@clisp.org>
26290
26291         Avoid relocwrapper link errors due to gnulib replacement functions.
26292         * lib/areadlink.c: Use the system's malloc, realloc functions.
26293         (areadlink): Set errno to ENOMEM explicitly.
26294         * modules/areadlink (Depends-on): Remove malloc-posix.
26295         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26296
26297 2010-06-09  Bruno Haible  <bruno@clisp.org>
26298
26299         Avoid relocwrapper link errors due to gnulib replacement functions.
26300         * lib/canonicalize-lgpl.c: Use the system's malloc function.
26301         * lib/malloca.c: Likewise.
26302         * lib/relocatable.c: Likewise.
26303         * lib/progreloc.c: Use the system's malloc, sprintf functions.
26304         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
26305         * lib/setenv.c: Use the system's malloc, realloc functions.
26306         * lib/strerror.c: Use the system's sprintf function.
26307         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26308
26309 2010-06-04  Bruno Haible  <bruno@clisp.org>
26310
26311         Prefer documented low-level autoconf macro names.
26312         * m4/lib-link.m4: Use m4_translit instead of translit.
26313         * m4/environ.m4: Likewise.
26314         * m4/mathfunc.m4: Likewise.
26315         * m4/onceonly.m4: Likewise.
26316         * m4/stdint.m4: Likewise.
26317         Suggested by Eric Blake.
26318
26319 2010-06-04  Martin Lambers  <marlam@marlam.de>
26320             Bruno Haible  <bruno@clisp.org>
26321
26322         havelib: Allow library names with '+' characters.
26323         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
26324         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
26325
26326 2010-06-09  Bruno Haible  <bruno@clisp.org>
26327
26328         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
26329         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
26330         realloc failed.
26331
26332 2010-06-08  Peter Simons  <simons@cryp.to>
26333
26334         maint.mk: make the news-check rule more configurable
26335         * top/maint.mk (news-check-lines-spec): New variable.
26336         (news-check): Use "sed -n 1,10p" in place of "head".
26337
26338 2010-06-07  Jim Meyering  <meyering@redhat.com>
26339
26340         do-release-commit-and-tag: fix typo in --help
26341         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
26342
26343         regex: avoid new dead-code warning with gcc-4.6.0
26344         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
26345         if-block containing a while-loop.  It's been unused for at least
26346         5 years.
26347
26348 2010-06-05  Bruno Haible  <bruno@clisp.org>
26349
26350         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
26351         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
26352
26353 2010-06-04  Bruno Haible  <bruno@clisp.org>
26354
26355         Update to GNU gettext 0.18.1.
26356         * modules/gettext (configure.ac): Require gettext infrastructure from
26357         version 0.18.1.
26358
26359 2010-06-03  Bruno Haible  <bruno@clisp.org>
26360
26361         Don't use AC_LIBOBJ with file names in subdirectories.
26362         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
26363         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
26364         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
26365         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
26366         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
26367         gl_LIBUNISTRING_LIBSOURCE.
26368         (Makefile.am): Augment lib_SOURCES here, conditionally.
26369         * NEWS: Drop requirement for Automake option 'subdir-objects'.
26370
26371 2010-06-03  Bruno Haible  <bruno@clisp.org>
26372
26373         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
26374         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
26375         expansion does not end with a newline.
26376         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
26377         unnecessary newline.
26378
26379 2010-06-03  Bruno Haible  <bruno@clisp.org>
26380
26381         Reduce dependencies.
26382         * tests/test-quotearg.h: New file, extracted from
26383         tests/test-quotearg.c.
26384         * tests/test-quotearg-simple.c: New file, extracted from
26385         tests/test-quotearg.c.
26386         * tests/test-quotearg.c: Don't include <ctype.h>.
26387         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
26388         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
26389         use_quote_double_quotes, use_quotearg_colon): Moved to
26390         tests/test-quotearg.h.
26391         (results_g, flag_results, custom_quotes, custom_results): Moved
26392         to tests/test-quotearg-simple.c.
26393         (main): Moved the part that does not depend on gettext to
26394         tests/test-quotearg-simple.c. Return 77 if the test cannot be
26395         performed.
26396         * modules/quotearg-simple: New file.
26397         * modules/quotearg-simple-tests: New file.
26398         * modules/quotearg (Depends-on): Add quotearg-simple.
26399         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
26400         (Files): Add tests/test-quotearg.h.
26401         Reported by Paolo Bonzini.
26402
26403 2010-06-03  Bruno Haible  <bruno@clisp.org>
26404
26405         Reduce dependencies.
26406         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
26407
26408 2010-06-03  Bruno Haible  <bruno@clisp.org>
26409
26410         time: Undefine more broken macros.
26411         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
26412         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
26413         Reported by Eric Blake.
26414
26415 2010-06-03  Bruno Haible  <bruno@clisp.org>
26416
26417         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
26418         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
26419         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
26420         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
26421         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
26422         Reported by Ludovic Courtès <ludo@gnu.org>.
26423
26424 2010-06-02  Eric Blake  <eblake@redhat.com>
26425
26426         time: work with mingw + pthreads-win32 library
26427         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
26428         if timespec is defined only in pthread.h.
26429         * modules/time (Makefile.am): Substitute it.
26430         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
26431         <pthread.h>, when needed.
26432         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
26433         from the library.
26434
26435 2010-05-31  Bruno Haible  <bruno@clisp.org>
26436
26437         Avoid expanding two macros in the wrong order.
26438         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
26439         gl_LIBUNISTRING if it is defined.
26440         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
26441         autoconf >= 2.64.
26442         Reported by Ludovic Courtès <ludo@gnu.org>.
26443
26444 2010-05-27  Jim Meyering  <meyering@redhat.com>
26445
26446         maint.mk: also prohibit "#undef" of always-defined symbols
26447         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
26448         Allow more than one space before the symbol name.
26449         (sc_prohibit_always-defined_macros): Use grep's -E, now that
26450         the regexp uses alternation.
26451
26452 2010-05-26  Eric Blake  <eblake@redhat.com>
26453
26454         maint.mk: avoid echo -e
26455         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
26456         Convert all uses of echo -* to printf.
26457         Reported by Matthias Bolte.
26458
26459 2010-05-25  Bruno Haible  <bruno@clisp.org>
26460
26461         Update to GNU gettext 0.18, part 2.
26462         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
26463         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
26464
26465 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26466
26467         Add missing include in test-pwrite.c.
26468         * tests/test-pwrite.c: Include string.h, for strcmp.
26469
26470 2010-05-24  Bruno Haible  <bruno@clisp.org>
26471
26472         * NEWS: Mention requirement for Automake option 'subdir-objects'.
26473
26474 2010-05-24  Bruno Haible  <bruno@clisp.org>
26475
26476         Don't use conversion with transliteration in u{8,16,32}_strcoll.
26477         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
26478         iconveh_error argument.
26479         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
26480         U_STRCONV_TO_LOCALE.
26481         * lib/unistr/u16-strcoll.c: Likewise.
26482         * lib/unistr/u32-strcoll.c: Likewise.
26483         * modules/unistr/u8-strcoll (Depends-on): Add
26484         uniconv/u8-strconv-to-enc, localcharset. Remove
26485         uniconv/u8-strconv-to-locale.
26486         (configure.ac): Bump version number.
26487         * modules/unistr/u16-strcoll (Depends-on): Add
26488         uniconv/u16-strconv-to-enc, localcharset. Remove
26489         uniconv/u16-strconv-to-locale.
26490         (configure.ac): Bump version number.
26491         * modules/unistr/u32-strcoll (Depends-on): Add
26492         uniconv/u32-strconv-to-enc, localcharset. Remove
26493         uniconv/u32-strconv-to-locale.
26494         (configure.ac): Bump version number.
26495
26496 2010-05-24  Bruno Haible  <bruno@clisp.org>
26497
26498         Avoid a test failure on NetBSD 5.0.
26499         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
26500         an iconv() bug.
26501
26502 2010-05-24  Bruno Haible  <bruno@clisp.org>
26503
26504         Adjust #include directive style.
26505         * modules/regex (Includes): Recommend to write <regex.h>.
26506
26507 2010-05-24  Bruno Haible  <bruno@clisp.org>
26508
26509         regex: Don't require alloca.
26510         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
26511         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
26512         only inside if (0).
26513
26514 2010-05-23  Jim Meyering  <meyering@redhat.com>
26515
26516         test-renameat.c: include <sys/stat.h>
26517         * tests/test-renameat.c: Include <sys/stat.h>; required for
26518         definition of S_IS* macros.
26519
26520 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
26521
26522         Update maintainer documentation for 'relocatable-prog' module.
26523         * doc/relocatable-maint.texi: Update.
26524         Comments by Bruno Haible.
26525
26526 2010-05-23  Bruno Haible  <bruno@clisp.org>
26527
26528         git-merge-changelog: Enable --split-merged-entry by default.
26529         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
26530         (usage): Don't mention this option any more.
26531         Reported by Ralf Wildenhues.
26532
26533 2010-05-23  Jim Meyering  <meyering@redhat.com>
26534
26535         test-pwrite: do not leave behind a test file named "out"
26536         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
26537         The trivial-looking use of init.sh is really necessary.
26538         It ensures that the temporary file, "out", is created in
26539         a temporary directory, and removed upon termination.
26540         * tests/test-pwrite.sh: Re-add file.
26541         * modules/pwrite-tests: Reference it.
26542
26543 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26544
26545         Fix output redirection buglet in init.sh.
26546         * tests/init.sh: Fix redirection of stderr.
26547
26548 2010-05-20  Simon Josefsson  <simon@josefsson.org>
26549
26550         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
26551
26552 2010-05-17  Simon Josefsson  <simon@josefsson.org>
26553
26554         * modules/valgrind-tests: New file.
26555         * m4/valgrind-tests.m4: New file.
26556         * doc/valgrind-tests.texi: New file.
26557         * doc/gnulib.texi (Running self-tests under valgrind): New
26558         section.
26559
26560 2010-05-19  Bruno Haible  <bruno@clisp.org>
26561
26562         Clean up dead code in recent commit.
26563         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
26564         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
26565         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
26566         Suggested by Paolo Bonzini.
26567
26568 2010-05-19  Bruno Haible  <bruno@clisp.org>
26569
26570         Avoid valgrind error reports from libunistring.
26571         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
26572         * modules/libunistring (Files): Add it.
26573         * modules/libunistring-optional (Files): Likewise.
26574
26575 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
26576             Bruno Haible  <bruno@clisp.org>
26577
26578         New module 'libunistring-optional'.
26579         * modules/libunistring-optional: New file.
26580         * m4/libunistring-base.m4: New file.
26581         * m4/libunistring-optional.m4: New file.
26582         * lib/unicase.in.h: Renamed from lib/unicase.h.
26583         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
26584         * lib/unictype.in.h: Renamed from lib/unictype.h.
26585         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
26586         * lib/uniname.in.h: Renamed from lib/uniname.h.
26587         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
26588         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
26589         * lib/unistr.in.h: Renamed from lib/unistr.h.
26590         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
26591         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
26592         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
26593         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
26594         gl_LIBUNISTRING. If the library was found, determine the installed
26595         version and set LIBUNISTRING_VERSION.
26596         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
26597         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
26598         handle a configuration option --with-included-libunistring.
26599         * modules/libunistring (Files): Add m4/absolute-header.m4.
26600         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
26601         Add m4/libunistring-base.m4.
26602         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26603         (Makefile.am): Build unicase.h from unicase.in.h.
26604         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
26605         Add m4/libunistring-base.m4.
26606         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26607         (Makefile.am): Build uniconv.h from uniconv.in.h.
26608         * modules/unictype/base (Files): Use unictype.in.h instead of
26609         unictype.h. Add m4/libunistring-base.m4.
26610         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26611         (Makefile.am): Build unictype.h from unictype.in.h.
26612         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
26613         Add m4/libunistring-base.m4.
26614         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26615         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
26616         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
26617         Add m4/libunistring-base.m4.
26618         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26619         (Makefile.am): Build uniname.h from uniname.in.h.
26620         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
26621         Add m4/libunistring-base.m4.
26622         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26623         (Makefile.am): Build uninorm.h from uninorm.in.h.
26624         * modules/unistdio/base (Files): Use unistdio.in.h instead of
26625         unistdio.h. Add m4/libunistring-base.m4.
26626         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26627         (Makefile.am): Build unistdio.h from unistdio.in.h.
26628         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
26629         Add m4/libunistring-base.m4.
26630         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26631         (Makefile.am): Build unistr.h from unistr.in.h.
26632         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
26633         Add m4/libunistring-base.m4.
26634         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26635         (Makefile.am): Build unitypes.h from unitypes.in.h.
26636         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
26637         Add m4/libunistring-base.m4.
26638         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26639         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
26640         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
26641         uniwidth.h. Add m4/libunistring-base.m4.
26642         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26643         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
26644         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
26645         instead of augmenting lib_SOURCES.
26646         * modules/unicase/empty-suffix-context: Likewise.
26647         * modules/unicase/locale-language: Likewise.
26648         * modules/unicase/tolower: Likewise.
26649         * modules/unicase/totitle: Likewise.
26650         * modules/unicase/toupper: Likewise.
26651         * modules/unicase/u8-casecmp: Likewise.
26652         * modules/unicase/u8-casecoll: Likewise.
26653         * modules/unicase/u8-casefold: Likewise.
26654         * modules/unicase/u8-casexfrm: Likewise.
26655         * modules/unicase/u8-ct-casefold: Likewise.
26656         * modules/unicase/u8-ct-tolower: Likewise.
26657         * modules/unicase/u8-ct-totitle: Likewise.
26658         * modules/unicase/u8-ct-toupper: Likewise.
26659         * modules/unicase/u8-is-cased: Likewise.
26660         * modules/unicase/u8-is-casefolded: Likewise.
26661         * modules/unicase/u8-is-lowercase: Likewise.
26662         * modules/unicase/u8-is-titlecase: Likewise.
26663         * modules/unicase/u8-is-uppercase: Likewise.
26664         * modules/unicase/u8-prefix-context: Likewise.
26665         * modules/unicase/u8-suffix-context: Likewise.
26666         * modules/unicase/u8-tolower: Likewise.
26667         * modules/unicase/u8-totitle: Likewise.
26668         * modules/unicase/u8-toupper: Likewise.
26669         * modules/unicase/u16-casecmp: Likewise.
26670         * modules/unicase/u16-casecoll: Likewise.
26671         * modules/unicase/u16-casefold: Likewise.
26672         * modules/unicase/u16-casexfrm: Likewise.
26673         * modules/unicase/u16-ct-casefold: Likewise.
26674         * modules/unicase/u16-ct-tolower: Likewise.
26675         * modules/unicase/u16-ct-totitle: Likewise.
26676         * modules/unicase/u16-ct-toupper: Likewise.
26677         * modules/unicase/u16-is-cased: Likewise.
26678         * modules/unicase/u16-is-casefolded: Likewise.
26679         * modules/unicase/u16-is-lowercase: Likewise.
26680         * modules/unicase/u16-is-titlecase: Likewise.
26681         * modules/unicase/u16-is-uppercase: Likewise.
26682         * modules/unicase/u16-prefix-context: Likewise.
26683         * modules/unicase/u16-suffix-context: Likewise.
26684         * modules/unicase/u16-tolower: Likewise.
26685         * modules/unicase/u16-totitle: Likewise.
26686         * modules/unicase/u16-toupper: Likewise.
26687         * modules/unicase/u32-casecmp: Likewise.
26688         * modules/unicase/u32-casecoll: Likewise.
26689         * modules/unicase/u32-casefold: Likewise.
26690         * modules/unicase/u32-casexfrm: Likewise.
26691         * modules/unicase/u32-ct-casefold: Likewise.
26692         * modules/unicase/u32-ct-tolower: Likewise.
26693         * modules/unicase/u32-ct-totitle: Likewise.
26694         * modules/unicase/u32-ct-toupper: Likewise.
26695         * modules/unicase/u32-is-cased: Likewise.
26696         * modules/unicase/u32-is-casefolded: Likewise.
26697         * modules/unicase/u32-is-lowercase: Likewise.
26698         * modules/unicase/u32-is-titlecase: Likewise.
26699         * modules/unicase/u32-is-uppercase: Likewise.
26700         * modules/unicase/u32-prefix-context: Likewise.
26701         * modules/unicase/u32-suffix-context: Likewise.
26702         * modules/unicase/u32-tolower: Likewise.
26703         * modules/unicase/u32-totitle: Likewise.
26704         * modules/unicase/u32-toupper: Likewise.
26705         * modules/unicase/ulc-casecmp: Likewise.
26706         * modules/unicase/ulc-casecoll: Likewise.
26707         * modules/unicase/ulc-casexfrm: Likewise.
26708         * modules/uniconv/u8-conv-from-enc: Likewise.
26709         * modules/uniconv/u8-conv-to-enc: Likewise.
26710         * modules/uniconv/u8-strconv-from-enc: Likewise.
26711         * modules/uniconv/u8-strconv-from-locale: Likewise.
26712         * modules/uniconv/u8-strconv-to-enc: Likewise.
26713         * modules/uniconv/u8-strconv-to-locale: Likewise.
26714         * modules/uniconv/u16-conv-from-enc: Likewise.
26715         * modules/uniconv/u16-conv-to-enc: Likewise.
26716         * modules/uniconv/u16-strconv-from-enc: Likewise.
26717         * modules/uniconv/u16-strconv-from-locale: Likewise.
26718         * modules/uniconv/u16-strconv-to-enc: Likewise.
26719         * modules/uniconv/u16-strconv-to-locale: Likewise.
26720         * modules/uniconv/u32-conv-from-enc: Likewise.
26721         * modules/uniconv/u32-conv-to-enc: Likewise.
26722         * modules/uniconv/u32-strconv-from-enc: Likewise.
26723         * modules/uniconv/u32-strconv-from-locale: Likewise.
26724         * modules/uniconv/u32-strconv-to-enc: Likewise.
26725         * modules/uniconv/u32-strconv-to-locale: Likewise.
26726         * modules/unictype/bidicategory-byname: Likewise.
26727         * modules/unictype/bidicategory-name: Likewise.
26728         * modules/unictype/bidicategory-of: Likewise.
26729         * modules/unictype/bidicategory-test: Likewise.
26730         * modules/unictype/block-list: Likewise.
26731         * modules/unictype/block-test: Likewise.
26732         * modules/unictype/category-C: Likewise.
26733         * modules/unictype/category-Cc: Likewise.
26734         * modules/unictype/category-Cf: Likewise.
26735         * modules/unictype/category-Cn: Likewise.
26736         * modules/unictype/category-Co: Likewise.
26737         * modules/unictype/category-Cs: Likewise.
26738         * modules/unictype/category-L: Likewise.
26739         * modules/unictype/category-Ll: Likewise.
26740         * modules/unictype/category-Lm: Likewise.
26741         * modules/unictype/category-Lo: Likewise.
26742         * modules/unictype/category-Lt: Likewise.
26743         * modules/unictype/category-Lu: Likewise.
26744         * modules/unictype/category-M: Likewise.
26745         * modules/unictype/category-Mc: Likewise.
26746         * modules/unictype/category-Me: Likewise.
26747         * modules/unictype/category-Mn: Likewise.
26748         * modules/unictype/category-N: Likewise.
26749         * modules/unictype/category-Nd: Likewise.
26750         * modules/unictype/category-Nl: Likewise.
26751         * modules/unictype/category-No: Likewise.
26752         * modules/unictype/category-P: Likewise.
26753         * modules/unictype/category-Pc: Likewise.
26754         * modules/unictype/category-Pd: Likewise.
26755         * modules/unictype/category-Pe: Likewise.
26756         * modules/unictype/category-Pf: Likewise.
26757         * modules/unictype/category-Pi: Likewise.
26758         * modules/unictype/category-Po: Likewise.
26759         * modules/unictype/category-Ps: Likewise.
26760         * modules/unictype/category-S: Likewise.
26761         * modules/unictype/category-Sc: Likewise.
26762         * modules/unictype/category-Sk: Likewise.
26763         * modules/unictype/category-Sm: Likewise.
26764         * modules/unictype/category-So: Likewise.
26765         * modules/unictype/category-Z: Likewise.
26766         * modules/unictype/category-Zl: Likewise.
26767         * modules/unictype/category-Zp: Likewise.
26768         * modules/unictype/category-Zs: Likewise.
26769         * modules/unictype/category-and: Likewise.
26770         * modules/unictype/category-and-not: Likewise.
26771         * modules/unictype/category-byname: Likewise.
26772         * modules/unictype/category-name: Likewise.
26773         * modules/unictype/category-none: Likewise.
26774         * modules/unictype/category-of: Likewise.
26775         * modules/unictype/category-or: Likewise.
26776         * modules/unictype/category-test: Likewise.
26777         * modules/unictype/combining-class: Likewise.
26778         * modules/unictype/ctype-alnum: Likewise.
26779         * modules/unictype/ctype-alpha: Likewise.
26780         * modules/unictype/ctype-blank: Likewise.
26781         * modules/unictype/ctype-cntrl: Likewise.
26782         * modules/unictype/ctype-digit: Likewise.
26783         * modules/unictype/ctype-graph: Likewise.
26784         * modules/unictype/ctype-lower: Likewise.
26785         * modules/unictype/ctype-print: Likewise.
26786         * modules/unictype/ctype-punct: Likewise.
26787         * modules/unictype/ctype-space: Likewise.
26788         * modules/unictype/ctype-upper: Likewise.
26789         * modules/unictype/ctype-xdigit: Likewise.
26790         * modules/unictype/decimal-digit: Likewise.
26791         * modules/unictype/digit: Likewise.
26792         * modules/unictype/mirror: Likewise.
26793         * modules/unictype/numeric: Likewise.
26794         * modules/unictype/property-alphabetic: Likewise.
26795         * modules/unictype/property-ascii-hex-digit: Likewise.
26796         * modules/unictype/property-bidi-arabic-digit: Likewise.
26797         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
26798         * modules/unictype/property-bidi-block-separator: Likewise.
26799         * modules/unictype/property-bidi-boundary-neutral: Likewise.
26800         * modules/unictype/property-bidi-common-separator: Likewise.
26801         * modules/unictype/property-bidi-control: Likewise.
26802         * modules/unictype/property-bidi-embedding-or-override: Likewise.
26803         * modules/unictype/property-bidi-eur-num-separator: Likewise.
26804         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
26805         * modules/unictype/property-bidi-european-digit: Likewise.
26806         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
26807         * modules/unictype/property-bidi-left-to-right: Likewise.
26808         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
26809         * modules/unictype/property-bidi-other-neutral: Likewise.
26810         * modules/unictype/property-bidi-pdf: Likewise.
26811         * modules/unictype/property-bidi-segment-separator: Likewise.
26812         * modules/unictype/property-bidi-whitespace: Likewise.
26813         * modules/unictype/property-byname: Likewise.
26814         * modules/unictype/property-combining: Likewise.
26815         * modules/unictype/property-composite: Likewise.
26816         * modules/unictype/property-currency-symbol: Likewise.
26817         * modules/unictype/property-dash: Likewise.
26818         * modules/unictype/property-decimal-digit: Likewise.
26819         * modules/unictype/property-default-ignorable-code-point: Likewise.
26820         * modules/unictype/property-deprecated: Likewise.
26821         * modules/unictype/property-diacritic: Likewise.
26822         * modules/unictype/property-extender: Likewise.
26823         * modules/unictype/property-format-control: Likewise.
26824         * modules/unictype/property-grapheme-base: Likewise.
26825         * modules/unictype/property-grapheme-extend: Likewise.
26826         * modules/unictype/property-grapheme-link: Likewise.
26827         * modules/unictype/property-hex-digit: Likewise.
26828         * modules/unictype/property-hyphen: Likewise.
26829         * modules/unictype/property-id-continue: Likewise.
26830         * modules/unictype/property-id-start: Likewise.
26831         * modules/unictype/property-ideographic: Likewise.
26832         * modules/unictype/property-ids-binary-operator: Likewise.
26833         * modules/unictype/property-ids-trinary-operator: Likewise.
26834         * modules/unictype/property-ignorable-control: Likewise.
26835         * modules/unictype/property-iso-control: Likewise.
26836         * modules/unictype/property-join-control: Likewise.
26837         * modules/unictype/property-left-of-pair: Likewise.
26838         * modules/unictype/property-line-separator: Likewise.
26839         * modules/unictype/property-logical-order-exception: Likewise.
26840         * modules/unictype/property-lowercase: Likewise.
26841         * modules/unictype/property-math: Likewise.
26842         * modules/unictype/property-non-break: Likewise.
26843         * modules/unictype/property-not-a-character: Likewise.
26844         * modules/unictype/property-numeric: Likewise.
26845         * modules/unictype/property-other-alphabetic: Likewise.
26846         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
26847         * modules/unictype/property-other-grapheme-extend: Likewise.
26848         * modules/unictype/property-other-id-continue: Likewise.
26849         * modules/unictype/property-other-id-start: Likewise.
26850         * modules/unictype/property-other-lowercase: Likewise.
26851         * modules/unictype/property-other-math: Likewise.
26852         * modules/unictype/property-other-uppercase: Likewise.
26853         * modules/unictype/property-paired-punctuation: Likewise.
26854         * modules/unictype/property-paragraph-separator: Likewise.
26855         * modules/unictype/property-pattern-syntax: Likewise.
26856         * modules/unictype/property-pattern-white-space: Likewise.
26857         * modules/unictype/property-private-use: Likewise.
26858         * modules/unictype/property-punctuation: Likewise.
26859         * modules/unictype/property-quotation-mark: Likewise.
26860         * modules/unictype/property-radical: Likewise.
26861         * modules/unictype/property-sentence-terminal: Likewise.
26862         * modules/unictype/property-soft-dotted: Likewise.
26863         * modules/unictype/property-space: Likewise.
26864         * modules/unictype/property-terminal-punctuation: Likewise.
26865         * modules/unictype/property-test: Likewise.
26866         * modules/unictype/property-titlecase: Likewise.
26867         * modules/unictype/property-unassigned-code-value: Likewise.
26868         * modules/unictype/property-unified-ideograph: Likewise.
26869         * modules/unictype/property-uppercase: Likewise.
26870         * modules/unictype/property-variation-selector: Likewise.
26871         * modules/unictype/property-white-space: Likewise.
26872         * modules/unictype/property-xid-continue: Likewise.
26873         * modules/unictype/property-xid-start: Likewise.
26874         * modules/unictype/property-zero-width: Likewise.
26875         * modules/unictype/scripts: Likewise.
26876         * modules/unictype/syntax-c-ident: Likewise.
26877         * modules/unictype/syntax-c-whitespace: Likewise.
26878         * modules/unictype/syntax-java-ident: Likewise.
26879         * modules/unictype/syntax-java-whitespace: Likewise.
26880         * modules/unilbrk/u8-possible-linebreaks: Likewise.
26881         * modules/unilbrk/u8-width-linebreaks: Likewise.
26882         * modules/unilbrk/u16-possible-linebreaks: Likewise.
26883         * modules/unilbrk/u16-width-linebreaks: Likewise.
26884         * modules/unilbrk/u32-possible-linebreaks: Likewise.
26885         * modules/unilbrk/u32-width-linebreaks: Likewise.
26886         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
26887         * modules/unilbrk/ulc-width-linebreaks: Likewise.
26888         * modules/uniname/uniname: Likewise.
26889         * modules/uninorm/canonical-decomposition: Likewise.
26890         * modules/uninorm/composition: Likewise.
26891         * modules/uninorm/decomposing-form: Likewise.
26892         * modules/uninorm/decomposition: Likewise.
26893         * modules/uninorm/filter: Likewise.
26894         * modules/uninorm/nfc: Likewise.
26895         * modules/uninorm/nfd: Likewise.
26896         * modules/uninorm/nfkc: Likewise.
26897         * modules/uninorm/nfkd: Likewise.
26898         * modules/uninorm/u8-normalize: Likewise.
26899         * modules/uninorm/u8-normcmp: Likewise.
26900         * modules/uninorm/u8-normcoll: Likewise.
26901         * modules/uninorm/u8-normxfrm: Likewise.
26902         * modules/uninorm/u16-normalize: Likewise.
26903         * modules/uninorm/u16-normcmp: Likewise.
26904         * modules/uninorm/u16-normcoll: Likewise.
26905         * modules/uninorm/u16-normxfrm: Likewise.
26906         * modules/uninorm/u32-normalize: Likewise.
26907         * modules/uninorm/u32-normcmp: Likewise.
26908         * modules/uninorm/u32-normcoll: Likewise.
26909         * modules/uninorm/u32-normxfrm: Likewise.
26910         * modules/unistdio/u8-asnprintf: Likewise.
26911         * modules/unistdio/u8-asprintf: Likewise.
26912         * modules/unistdio/u8-snprintf: Likewise.
26913         * modules/unistdio/u8-sprintf: Likewise.
26914         * modules/unistdio/u8-u8-asnprintf: Likewise.
26915         * modules/unistdio/u8-u8-asprintf: Likewise.
26916         * modules/unistdio/u8-u8-snprintf: Likewise.
26917         * modules/unistdio/u8-u8-sprintf: Likewise.
26918         * modules/unistdio/u8-u8-vasnprintf: Likewise.
26919         * modules/unistdio/u8-u8-vasprintf: Likewise.
26920         * modules/unistdio/u8-u8-vsnprintf: Likewise.
26921         * modules/unistdio/u8-u8-vsprintf: Likewise.
26922         * modules/unistdio/u8-vasnprintf: Likewise.
26923         * modules/unistdio/u8-vasprintf: Likewise.
26924         * modules/unistdio/u8-vsnprintf: Likewise.
26925         * modules/unistdio/u8-vsprintf: Likewise.
26926         * modules/unistdio/u16-asnprintf: Likewise.
26927         * modules/unistdio/u16-asprintf: Likewise.
26928         * modules/unistdio/u16-snprintf: Likewise.
26929         * modules/unistdio/u16-sprintf: Likewise.
26930         * modules/unistdio/u16-u16-asnprintf: Likewise.
26931         * modules/unistdio/u16-u16-asprintf: Likewise.
26932         * modules/unistdio/u16-u16-snprintf: Likewise.
26933         * modules/unistdio/u16-u16-sprintf: Likewise.
26934         * modules/unistdio/u16-u16-vasnprintf: Likewise.
26935         * modules/unistdio/u16-u16-vasprintf: Likewise.
26936         * modules/unistdio/u16-u16-vsnprintf: Likewise.
26937         * modules/unistdio/u16-u16-vsprintf: Likewise.
26938         * modules/unistdio/u16-vasnprintf: Likewise.
26939         * modules/unistdio/u16-vasprintf: Likewise.
26940         * modules/unistdio/u16-vsnprintf: Likewise.
26941         * modules/unistdio/u16-vsprintf: Likewise.
26942         * modules/unistdio/u32-asnprintf: Likewise.
26943         * modules/unistdio/u32-asprintf: Likewise.
26944         * modules/unistdio/u32-snprintf: Likewise.
26945         * modules/unistdio/u32-sprintf: Likewise.
26946         * modules/unistdio/u32-u32-asnprintf: Likewise.
26947         * modules/unistdio/u32-u32-asprintf: Likewise.
26948         * modules/unistdio/u32-u32-snprintf: Likewise.
26949         * modules/unistdio/u32-u32-sprintf: Likewise.
26950         * modules/unistdio/u32-u32-vasnprintf: Likewise.
26951         * modules/unistdio/u32-u32-vasprintf: Likewise.
26952         * modules/unistdio/u32-u32-vsnprintf: Likewise.
26953         * modules/unistdio/u32-u32-vsprintf: Likewise.
26954         * modules/unistdio/u32-vasnprintf: Likewise.
26955         * modules/unistdio/u32-vasprintf: Likewise.
26956         * modules/unistdio/u32-vsnprintf: Likewise.
26957         * modules/unistdio/u32-vsprintf: Likewise.
26958         * modules/unistdio/ulc-asnprintf: Likewise.
26959         * modules/unistdio/ulc-asprintf: Likewise.
26960         * modules/unistdio/ulc-fprintf: Likewise.
26961         * modules/unistdio/ulc-snprintf: Likewise.
26962         * modules/unistdio/ulc-sprintf: Likewise.
26963         * modules/unistdio/ulc-vasnprintf: Likewise.
26964         * modules/unistdio/ulc-vasprintf: Likewise.
26965         * modules/unistdio/ulc-vfprintf: Likewise.
26966         * modules/unistdio/ulc-vsnprintf: Likewise.
26967         * modules/unistdio/ulc-vsprintf: Likewise.
26968         * modules/unistr/u8-check: Likewise.
26969         * modules/unistr/u8-chr: Likewise.
26970         * modules/unistr/u8-cmp: Likewise.
26971         * modules/unistr/u8-cmp2: Likewise.
26972         * modules/unistr/u8-cpy: Likewise.
26973         * modules/unistr/u8-cpy-alloc: Likewise.
26974         * modules/unistr/u8-endswith: Likewise.
26975         * modules/unistr/u8-mblen: Likewise.
26976         * modules/unistr/u8-mbsnlen: Likewise.
26977         * modules/unistr/u8-mbtouc: Likewise.
26978         * modules/unistr/u8-mbtouc-unsafe: Likewise.
26979         * modules/unistr/u8-mbtoucr: Likewise.
26980         * modules/unistr/u8-move: Likewise.
26981         * modules/unistr/u8-next: Likewise.
26982         * modules/unistr/u8-prev: Likewise.
26983         * modules/unistr/u8-set: Likewise.
26984         * modules/unistr/u8-startswith: Likewise.
26985         * modules/unistr/u8-stpcpy: Likewise.
26986         * modules/unistr/u8-stpncpy: Likewise.
26987         * modules/unistr/u8-strcat: Likewise.
26988         * modules/unistr/u8-strchr: Likewise.
26989         * modules/unistr/u8-strcmp: Likewise.
26990         * modules/unistr/u8-strcoll: Likewise.
26991         * modules/unistr/u8-strcpy: Likewise.
26992         * modules/unistr/u8-strcspn: Likewise.
26993         * modules/unistr/u8-strdup: Likewise.
26994         * modules/unistr/u8-strlen: Likewise.
26995         * modules/unistr/u8-strmblen: Likewise.
26996         * modules/unistr/u8-strmbtouc: Likewise.
26997         * modules/unistr/u8-strncat: Likewise.
26998         * modules/unistr/u8-strncmp: Likewise.
26999         * modules/unistr/u8-strncpy: Likewise.
27000         * modules/unistr/u8-strnlen: Likewise.
27001         * modules/unistr/u8-strpbrk: Likewise.
27002         * modules/unistr/u8-strrchr: Likewise.
27003         * modules/unistr/u8-strspn: Likewise.
27004         * modules/unistr/u8-strstr: Likewise.
27005         * modules/unistr/u8-strtok: Likewise.
27006         * modules/unistr/u8-to-u16: Likewise.
27007         * modules/unistr/u8-to-u32: Likewise.
27008         * modules/unistr/u8-uctomb: Likewise.
27009         * modules/unistr/u16-check: Likewise.
27010         * modules/unistr/u16-chr: Likewise.
27011         * modules/unistr/u16-cmp: Likewise.
27012         * modules/unistr/u16-cmp2: Likewise.
27013         * modules/unistr/u16-cpy: Likewise.
27014         * modules/unistr/u16-cpy-alloc: Likewise.
27015         * modules/unistr/u16-endswith: Likewise.
27016         * modules/unistr/u16-mblen: Likewise.
27017         * modules/unistr/u16-mbsnlen: Likewise.
27018         * modules/unistr/u16-mbtouc: Likewise.
27019         * modules/unistr/u16-mbtouc-unsafe: Likewise.
27020         * modules/unistr/u16-mbtoucr: Likewise.
27021         * modules/unistr/u16-move: Likewise.
27022         * modules/unistr/u16-next: Likewise.
27023         * modules/unistr/u16-prev: Likewise.
27024         * modules/unistr/u16-set: Likewise.
27025         * modules/unistr/u16-startswith: Likewise.
27026         * modules/unistr/u16-stpcpy: Likewise.
27027         * modules/unistr/u16-stpncpy: Likewise.
27028         * modules/unistr/u16-strcat: Likewise.
27029         * modules/unistr/u16-strchr: Likewise.
27030         * modules/unistr/u16-strcmp: Likewise.
27031         * modules/unistr/u16-strcoll: Likewise.
27032         * modules/unistr/u16-strcpy: Likewise.
27033         * modules/unistr/u16-strcspn: Likewise.
27034         * modules/unistr/u16-strdup: Likewise.
27035         * modules/unistr/u16-strlen: Likewise.
27036         * modules/unistr/u16-strmblen: Likewise.
27037         * modules/unistr/u16-strmbtouc: Likewise.
27038         * modules/unistr/u16-strncat: Likewise.
27039         * modules/unistr/u16-strncmp: Likewise.
27040         * modules/unistr/u16-strncpy: Likewise.
27041         * modules/unistr/u16-strnlen: Likewise.
27042         * modules/unistr/u16-strpbrk: Likewise.
27043         * modules/unistr/u16-strrchr: Likewise.
27044         * modules/unistr/u16-strspn: Likewise.
27045         * modules/unistr/u16-strstr: Likewise.
27046         * modules/unistr/u16-strtok: Likewise.
27047         * modules/unistr/u16-to-u32: Likewise.
27048         * modules/unistr/u16-to-u8: Likewise.
27049         * modules/unistr/u16-uctomb: Likewise.
27050         * modules/unistr/u32-check: Likewise.
27051         * modules/unistr/u32-chr: Likewise.
27052         * modules/unistr/u32-cmp: Likewise.
27053         * modules/unistr/u32-cmp2: Likewise.
27054         * modules/unistr/u32-cpy: Likewise.
27055         * modules/unistr/u32-cpy-alloc: Likewise.
27056         * modules/unistr/u32-endswith: Likewise.
27057         * modules/unistr/u32-mblen: Likewise.
27058         * modules/unistr/u32-mbsnlen: Likewise.
27059         * modules/unistr/u32-mbtouc: Likewise.
27060         * modules/unistr/u32-mbtouc-unsafe: Likewise.
27061         * modules/unistr/u32-mbtoucr: Likewise.
27062         * modules/unistr/u32-move: Likewise.
27063         * modules/unistr/u32-next: Likewise.
27064         * modules/unistr/u32-prev: Likewise.
27065         * modules/unistr/u32-set: Likewise.
27066         * modules/unistr/u32-startswith: Likewise.
27067         * modules/unistr/u32-stpcpy: Likewise.
27068         * modules/unistr/u32-stpncpy: Likewise.
27069         * modules/unistr/u32-strcat: Likewise.
27070         * modules/unistr/u32-strchr: Likewise.
27071         * modules/unistr/u32-strcmp: Likewise.
27072         * modules/unistr/u32-strcoll: Likewise.
27073         * modules/unistr/u32-strcpy: Likewise.
27074         * modules/unistr/u32-strcspn: Likewise.
27075         * modules/unistr/u32-strdup: Likewise.
27076         * modules/unistr/u32-strlen: Likewise.
27077         * modules/unistr/u32-strmblen: Likewise.
27078         * modules/unistr/u32-strmbtouc: Likewise.
27079         * modules/unistr/u32-strncat: Likewise.
27080         * modules/unistr/u32-strncmp: Likewise.
27081         * modules/unistr/u32-strncpy: Likewise.
27082         * modules/unistr/u32-strnlen: Likewise.
27083         * modules/unistr/u32-strpbrk: Likewise.
27084         * modules/unistr/u32-strrchr: Likewise.
27085         * modules/unistr/u32-strspn: Likewise.
27086         * modules/unistr/u32-strstr: Likewise.
27087         * modules/unistr/u32-strtok: Likewise.
27088         * modules/unistr/u32-to-u16: Likewise.
27089         * modules/unistr/u32-to-u8: Likewise.
27090         * modules/unistr/u32-uctomb: Likewise.
27091         * modules/uniwbrk/u8-wordbreaks: Likewise.
27092         * modules/uniwbrk/u16-wordbreaks: Likewise.
27093         * modules/uniwbrk/u32-wordbreaks: Likewise.
27094         * modules/uniwbrk/ulc-wordbreaks: Likewise.
27095         * modules/uniwbrk/wordbreak-property: Likewise.
27096         * modules/uniwidth/u8-strwidth: Likewise.
27097         * modules/uniwidth/u8-width: Likewise.
27098         * modules/uniwidth/u16-strwidth: Likewise.
27099         * modules/uniwidth/u16-width: Likewise.
27100         * modules/uniwidth/u32-strwidth: Likewise.
27101         * modules/uniwidth/u32-width: Likewise.
27102         * modules/uniwidth/width: Likewise.
27103         * modules/unicase/cased-tests (Makefile.am): Link all test programs
27104         with $(LIBUNISTRING).
27105         * modules/unicase/ignorable-tests: Likewise.
27106         * modules/unicase/locale-language-tests: Likewise.
27107         * modules/unicase/tolower-tests: Likewise.
27108         * modules/unicase/totitle-tests: Likewise.
27109         * modules/unicase/toupper-tests: Likewise.
27110         * modules/unicase/u8-casecmp-tests: Likewise.
27111         * modules/unicase/u8-casecoll-tests: Likewise.
27112         * modules/unicase/u8-casefold-tests: Likewise.
27113         * modules/unicase/u8-is-cased-tests: Likewise.
27114         * modules/unicase/u8-is-casefolded-tests: Likewise.
27115         * modules/unicase/u8-is-lowercase-tests: Likewise.
27116         * modules/unicase/u8-is-titlecase-tests: Likewise.
27117         * modules/unicase/u8-is-uppercase-tests: Likewise.
27118         * modules/unicase/u8-tolower-tests: Likewise.
27119         * modules/unicase/u8-totitle-tests: Likewise.
27120         * modules/unicase/u8-toupper-tests: Likewise.
27121         * modules/unicase/u16-casecmp-tests: Likewise.
27122         * modules/unicase/u16-casecoll-tests: Likewise.
27123         * modules/unicase/u16-casefold-tests: Likewise.
27124         * modules/unicase/u16-is-cased-tests: Likewise.
27125         * modules/unicase/u16-is-casefolded-tests: Likewise.
27126         * modules/unicase/u16-is-lowercase-tests: Likewise.
27127         * modules/unicase/u16-is-titlecase-tests: Likewise.
27128         * modules/unicase/u16-is-uppercase-tests: Likewise.
27129         * modules/unicase/u16-tolower-tests: Likewise.
27130         * modules/unicase/u16-totitle-tests: Likewise.
27131         * modules/unicase/u16-toupper-tests: Likewise.
27132         * modules/unicase/u32-casecmp-tests: Likewise.
27133         * modules/unicase/u32-casecoll-tests: Likewise.
27134         * modules/unicase/u32-casefold-tests: Likewise.
27135         * modules/unicase/u32-is-cased-tests: Likewise.
27136         * modules/unicase/u32-is-casefolded-tests: Likewise.
27137         * modules/unicase/u32-is-lowercase-tests: Likewise.
27138         * modules/unicase/u32-is-titlecase-tests: Likewise.
27139         * modules/unicase/u32-is-uppercase-tests: Likewise.
27140         * modules/unicase/u32-tolower-tests: Likewise.
27141         * modules/unicase/u32-totitle-tests: Likewise.
27142         * modules/unicase/u32-toupper-tests: Likewise.
27143         * modules/unicase/ulc-casecmp-tests: Likewise.
27144         * modules/unicase/ulc-casecoll-tests: Likewise.
27145         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
27146         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
27147         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
27148         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
27149         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
27150         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
27151         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
27152         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
27153         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
27154         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
27155         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
27156         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
27157         * modules/unictype/bidicategory-byname-tests: Likewise.
27158         * modules/unictype/bidicategory-name-tests: Likewise.
27159         * modules/unictype/bidicategory-of-tests: Likewise.
27160         * modules/unictype/bidicategory-test-tests: Likewise.
27161         * modules/unictype/block-list-tests: Likewise.
27162         * modules/unictype/block-of-tests: Likewise.
27163         * modules/unictype/block-test-tests: Likewise.
27164         * modules/unictype/category-C-tests: Likewise.
27165         * modules/unictype/category-Cc-tests: Likewise.
27166         * modules/unictype/category-Cf-tests: Likewise.
27167         * modules/unictype/category-Cn-tests: Likewise.
27168         * modules/unictype/category-Co-tests: Likewise.
27169         * modules/unictype/category-Cs-tests: Likewise.
27170         * modules/unictype/category-L-tests: Likewise.
27171         * modules/unictype/category-Ll-tests: Likewise.
27172         * modules/unictype/category-Lm-tests: Likewise.
27173         * modules/unictype/category-Lo-tests: Likewise.
27174         * modules/unictype/category-Lt-tests: Likewise.
27175         * modules/unictype/category-Lu-tests: Likewise.
27176         * modules/unictype/category-M-tests: Likewise.
27177         * modules/unictype/category-Mc-tests: Likewise.
27178         * modules/unictype/category-Me-tests: Likewise.
27179         * modules/unictype/category-Mn-tests: Likewise.
27180         * modules/unictype/category-N-tests: Likewise.
27181         * modules/unictype/category-Nd-tests: Likewise.
27182         * modules/unictype/category-Nl-tests: Likewise.
27183         * modules/unictype/category-No-tests: Likewise.
27184         * modules/unictype/category-P-tests: Likewise.
27185         * modules/unictype/category-Pc-tests: Likewise.
27186         * modules/unictype/category-Pd-tests: Likewise.
27187         * modules/unictype/category-Pe-tests: Likewise.
27188         * modules/unictype/category-Pf-tests: Likewise.
27189         * modules/unictype/category-Pi-tests: Likewise.
27190         * modules/unictype/category-Po-tests: Likewise.
27191         * modules/unictype/category-Ps-tests: Likewise.
27192         * modules/unictype/category-S-tests: Likewise.
27193         * modules/unictype/category-Sc-tests: Likewise.
27194         * modules/unictype/category-Sk-tests: Likewise.
27195         * modules/unictype/category-Sm-tests: Likewise.
27196         * modules/unictype/category-So-tests: Likewise.
27197         * modules/unictype/category-Z-tests: Likewise.
27198         * modules/unictype/category-Zl-tests: Likewise.
27199         * modules/unictype/category-Zp-tests: Likewise.
27200         * modules/unictype/category-Zs-tests: Likewise.
27201         * modules/unictype/category-and-not-tests: Likewise.
27202         * modules/unictype/category-and-tests: Likewise.
27203         * modules/unictype/category-byname-tests: Likewise.
27204         * modules/unictype/category-name-tests: Likewise.
27205         * modules/unictype/category-none-tests: Likewise.
27206         * modules/unictype/category-of-tests: Likewise.
27207         * modules/unictype/category-or-tests: Likewise.
27208         * modules/unictype/category-test-withtable-tests: Likewise.
27209         * modules/unictype/combining-class-tests: Likewise.
27210         * modules/unictype/ctype-alnum-tests: Likewise.
27211         * modules/unictype/ctype-alpha-tests: Likewise.
27212         * modules/unictype/ctype-blank-tests: Likewise.
27213         * modules/unictype/ctype-cntrl-tests: Likewise.
27214         * modules/unictype/ctype-digit-tests: Likewise.
27215         * modules/unictype/ctype-graph-tests: Likewise.
27216         * modules/unictype/ctype-lower-tests: Likewise.
27217         * modules/unictype/ctype-print-tests: Likewise.
27218         * modules/unictype/ctype-punct-tests: Likewise.
27219         * modules/unictype/ctype-space-tests: Likewise.
27220         * modules/unictype/ctype-upper-tests: Likewise.
27221         * modules/unictype/ctype-xdigit-tests: Likewise.
27222         * modules/unictype/decimal-digit-tests: Likewise.
27223         * modules/unictype/digit-tests: Likewise.
27224         * modules/unictype/mirror-tests: Likewise.
27225         * modules/unictype/numeric-tests: Likewise.
27226         * modules/unictype/property-alphabetic-tests: Likewise.
27227         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
27228         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
27229         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
27230         * modules/unictype/property-bidi-block-separator-tests: Likewise.
27231         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
27232         * modules/unictype/property-bidi-common-separator-tests: Likewise.
27233         * modules/unictype/property-bidi-control-tests: Likewise.
27234         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
27235         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
27236         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
27237         * modules/unictype/property-bidi-european-digit-tests: Likewise.
27238         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
27239         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
27240         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
27241         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
27242         * modules/unictype/property-bidi-pdf-tests: Likewise.
27243         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
27244         * modules/unictype/property-bidi-whitespace-tests: Likewise.
27245         * modules/unictype/property-byname-tests: Likewise.
27246         * modules/unictype/property-combining-tests: Likewise.
27247         * modules/unictype/property-composite-tests: Likewise.
27248         * modules/unictype/property-currency-symbol-tests: Likewise.
27249         * modules/unictype/property-dash-tests: Likewise.
27250         * modules/unictype/property-decimal-digit-tests: Likewise.
27251         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
27252         * modules/unictype/property-deprecated-tests: Likewise.
27253         * modules/unictype/property-diacritic-tests: Likewise.
27254         * modules/unictype/property-extender-tests: Likewise.
27255         * modules/unictype/property-format-control-tests: Likewise.
27256         * modules/unictype/property-grapheme-base-tests: Likewise.
27257         * modules/unictype/property-grapheme-extend-tests: Likewise.
27258         * modules/unictype/property-grapheme-link-tests: Likewise.
27259         * modules/unictype/property-hex-digit-tests: Likewise.
27260         * modules/unictype/property-hyphen-tests: Likewise.
27261         * modules/unictype/property-id-continue-tests: Likewise.
27262         * modules/unictype/property-id-start-tests: Likewise.
27263         * modules/unictype/property-ideographic-tests: Likewise.
27264         * modules/unictype/property-ids-binary-operator-tests: Likewise.
27265         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
27266         * modules/unictype/property-ignorable-control-tests: Likewise.
27267         * modules/unictype/property-iso-control-tests: Likewise.
27268         * modules/unictype/property-join-control-tests: Likewise.
27269         * modules/unictype/property-left-of-pair-tests: Likewise.
27270         * modules/unictype/property-line-separator-tests: Likewise.
27271         * modules/unictype/property-logical-order-exception-tests: Likewise.
27272         * modules/unictype/property-lowercase-tests: Likewise.
27273         * modules/unictype/property-math-tests: Likewise.
27274         * modules/unictype/property-non-break-tests: Likewise.
27275         * modules/unictype/property-not-a-character-tests: Likewise.
27276         * modules/unictype/property-numeric-tests: Likewise.
27277         * modules/unictype/property-other-alphabetic-tests: Likewise.
27278         * modules/unictype/property-other-default-ignorable-code-point-tests:
27279         Likewise.
27280         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
27281         * modules/unictype/property-other-id-continue-tests: Likewise.
27282         * modules/unictype/property-other-id-start-tests: Likewise.
27283         * modules/unictype/property-other-lowercase-tests: Likewise.
27284         * modules/unictype/property-other-math-tests: Likewise.
27285         * modules/unictype/property-other-uppercase-tests: Likewise.
27286         * modules/unictype/property-paired-punctuation-tests: Likewise.
27287         * modules/unictype/property-paragraph-separator-tests: Likewise.
27288         * modules/unictype/property-pattern-syntax-tests: Likewise.
27289         * modules/unictype/property-pattern-white-space-tests: Likewise.
27290         * modules/unictype/property-private-use-tests: Likewise.
27291         * modules/unictype/property-punctuation-tests: Likewise.
27292         * modules/unictype/property-quotation-mark-tests: Likewise.
27293         * modules/unictype/property-radical-tests: Likewise.
27294         * modules/unictype/property-sentence-terminal-tests: Likewise.
27295         * modules/unictype/property-soft-dotted-tests: Likewise.
27296         * modules/unictype/property-space-tests: Likewise.
27297         * modules/unictype/property-terminal-punctuation-tests: Likewise.
27298         * modules/unictype/property-test-tests: Likewise.
27299         * modules/unictype/property-titlecase-tests: Likewise.
27300         * modules/unictype/property-unassigned-code-value-tests: Likewise.
27301         * modules/unictype/property-unified-ideograph-tests: Likewise.
27302         * modules/unictype/property-uppercase-tests: Likewise.
27303         * modules/unictype/property-variation-selector-tests: Likewise.
27304         * modules/unictype/property-white-space-tests: Likewise.
27305         * modules/unictype/property-xid-continue-tests: Likewise.
27306         * modules/unictype/property-xid-start-tests: Likewise.
27307         * modules/unictype/property-zero-width-tests: Likewise.
27308         * modules/unictype/scripts-tests: Likewise.
27309         * modules/unictype/syntax-c-ident-tests: Likewise.
27310         * modules/unictype/syntax-c-whitespace-tests: Likewise.
27311         * modules/unictype/syntax-java-ident-tests: Likewise.
27312         * modules/unictype/syntax-java-whitespace-tests: Likewise.
27313         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
27314         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
27315         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
27316         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
27317         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
27318         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
27319         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
27320         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
27321         * modules/uniname/uniname-tests: Likewise.
27322         * modules/uninorm/canonical-decomposition-tests: Likewise.
27323         * modules/uninorm/compat-decomposition-tests: Likewise.
27324         * modules/uninorm/composition-tests: Likewise.
27325         * modules/uninorm/decomposing-form-tests: Likewise.
27326         * modules/uninorm/decomposition-tests: Likewise.
27327         * modules/uninorm/filter-tests: Likewise.
27328         * modules/uninorm/nfc-tests: Likewise.
27329         * modules/uninorm/nfd-tests: Likewise.
27330         * modules/uninorm/nfkc-tests: Likewise.
27331         * modules/uninorm/nfkd-tests: Likewise.
27332         * modules/uninorm/u8-normcmp-tests: Likewise.
27333         * modules/uninorm/u8-normcoll-tests: Likewise.
27334         * modules/uninorm/u16-normcmp-tests: Likewise.
27335         * modules/uninorm/u16-normcoll-tests: Likewise.
27336         * modules/uninorm/u32-normcmp-tests: Likewise.
27337         * modules/uninorm/u32-normcoll-tests: Likewise.
27338         * modules/unistdio/u8-asnprintf-tests: Likewise.
27339         * modules/unistdio/u8-vasnprintf-tests: Likewise.
27340         * modules/unistdio/u8-vasprintf-tests: Likewise.
27341         * modules/unistdio/u8-vsnprintf-tests: Likewise.
27342         * modules/unistdio/u8-vsprintf-tests: Likewise.
27343         * modules/unistdio/u16-asnprintf-tests: Likewise.
27344         * modules/unistdio/u16-vasnprintf-tests: Likewise.
27345         * modules/unistdio/u16-vasprintf-tests: Likewise.
27346         * modules/unistdio/u16-vsnprintf-tests: Likewise.
27347         * modules/unistdio/u16-vsprintf-tests: Likewise.
27348         * modules/unistdio/u32-asnprintf-tests: Likewise.
27349         * modules/unistdio/u32-vasnprintf-tests: Likewise.
27350         * modules/unistdio/u32-vasprintf-tests: Likewise.
27351         * modules/unistdio/u32-vsnprintf-tests: Likewise.
27352         * modules/unistdio/u32-vsprintf-tests: Likewise.
27353         * modules/unistdio/ulc-asnprintf-tests: Likewise.
27354         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
27355         * modules/unistdio/ulc-vasprintf-tests: Likewise.
27356         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
27357         * modules/unistdio/ulc-vsprintf-tests: Likewise.
27358         * modules/unistr/u8-check-tests: Likewise.
27359         * modules/unistr/u8-chr-tests: Likewise.
27360         * modules/unistr/u8-cmp-tests: Likewise.
27361         * modules/unistr/u8-cmp2-tests: Likewise.
27362         * modules/unistr/u8-cpy-alloc-tests: Likewise.
27363         * modules/unistr/u8-cpy-tests: Likewise.
27364         * modules/unistr/u8-mblen-tests: Likewise.
27365         * modules/unistr/u8-mbsnlen-tests: Likewise.
27366         * modules/unistr/u8-mbtouc-tests: Likewise.
27367         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
27368         * modules/unistr/u8-mbtoucr-tests: Likewise.
27369         * modules/unistr/u8-move-tests: Likewise.
27370         * modules/unistr/u8-next-tests: Likewise.
27371         * modules/unistr/u8-prev-tests: Likewise.
27372         * modules/unistr/u8-set-tests: Likewise.
27373         * modules/unistr/u8-stpcpy-tests: Likewise.
27374         * modules/unistr/u8-stpncpy-tests: Likewise.
27375         * modules/unistr/u8-strcat-tests: Likewise.
27376         * modules/unistr/u8-strcmp-tests: Likewise.
27377         * modules/unistr/u8-strcoll-tests: Likewise.
27378         * modules/unistr/u8-strcpy-tests: Likewise.
27379         * modules/unistr/u8-strdup-tests: Likewise.
27380         * modules/unistr/u8-strlen-tests: Likewise.
27381         * modules/unistr/u8-strmblen-tests: Likewise.
27382         * modules/unistr/u8-strmbtouc-tests: Likewise.
27383         * modules/unistr/u8-strncat-tests: Likewise.
27384         * modules/unistr/u8-strncmp-tests: Likewise.
27385         * modules/unistr/u8-strncpy-tests: Likewise.
27386         * modules/unistr/u8-strnlen-tests: Likewise.
27387         * modules/unistr/u8-to-u16-tests: Likewise.
27388         * modules/unistr/u8-to-u32-tests: Likewise.
27389         * modules/unistr/u8-uctomb-tests: Likewise.
27390         * modules/unistr/u16-check-tests: Likewise.
27391         * modules/unistr/u16-chr-tests: Likewise.
27392         * modules/unistr/u16-cmp-tests: Likewise.
27393         * modules/unistr/u16-cmp2-tests: Likewise.
27394         * modules/unistr/u16-cpy-alloc-tests: Likewise.
27395         * modules/unistr/u16-cpy-tests: Likewise.
27396         * modules/unistr/u16-mblen-tests: Likewise.
27397         * modules/unistr/u16-mbsnlen-tests: Likewise.
27398         * modules/unistr/u16-mbtouc-tests: Likewise.
27399         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
27400         * modules/unistr/u16-mbtoucr-tests: Likewise.
27401         * modules/unistr/u16-move-tests: Likewise.
27402         * modules/unistr/u16-next-tests: Likewise.
27403         * modules/unistr/u16-prev-tests: Likewise.
27404         * modules/unistr/u16-set-tests: Likewise.
27405         * modules/unistr/u16-stpcpy-tests: Likewise.
27406         * modules/unistr/u16-stpncpy-tests: Likewise.
27407         * modules/unistr/u16-strcat-tests: Likewise.
27408         * modules/unistr/u16-strcmp-tests: Likewise.
27409         * modules/unistr/u16-strcoll-tests: Likewise.
27410         * modules/unistr/u16-strcpy-tests: Likewise.
27411         * modules/unistr/u16-strdup-tests: Likewise.
27412         * modules/unistr/u16-strlen-tests: Likewise.
27413         * modules/unistr/u16-strmblen-tests: Likewise.
27414         * modules/unistr/u16-strmbtouc-tests: Likewise.
27415         * modules/unistr/u16-strncat-tests: Likewise.
27416         * modules/unistr/u16-strncmp-tests: Likewise.
27417         * modules/unistr/u16-strncpy-tests: Likewise.
27418         * modules/unistr/u16-strnlen-tests: Likewise.
27419         * modules/unistr/u16-to-u32-tests: Likewise.
27420         * modules/unistr/u16-to-u8-tests: Likewise.
27421         * modules/unistr/u16-uctomb-tests: Likewise.
27422         * modules/unistr/u32-check-tests: Likewise.
27423         * modules/unistr/u32-chr-tests: Likewise.
27424         * modules/unistr/u32-cmp-tests: Likewise.
27425         * modules/unistr/u32-cmp2-tests: Likewise.
27426         * modules/unistr/u32-cpy-alloc-tests: Likewise.
27427         * modules/unistr/u32-cpy-tests: Likewise.
27428         * modules/unistr/u32-mblen-tests: Likewise.
27429         * modules/unistr/u32-mbsnlen-tests: Likewise.
27430         * modules/unistr/u32-mbtouc-tests: Likewise.
27431         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
27432         * modules/unistr/u32-mbtoucr-tests: Likewise.
27433         * modules/unistr/u32-move-tests: Likewise.
27434         * modules/unistr/u32-next-tests: Likewise.
27435         * modules/unistr/u32-prev-tests: Likewise.
27436         * modules/unistr/u32-set-tests: Likewise.
27437         * modules/unistr/u32-stpcpy-tests: Likewise.
27438         * modules/unistr/u32-stpncpy-tests: Likewise.
27439         * modules/unistr/u32-strcat-tests: Likewise.
27440         * modules/unistr/u32-strcmp-tests: Likewise.
27441         * modules/unistr/u32-strcoll-tests: Likewise.
27442         * modules/unistr/u32-strcpy-tests: Likewise.
27443         * modules/unistr/u32-strdup-tests: Likewise.
27444         * modules/unistr/u32-strlen-tests: Likewise.
27445         * modules/unistr/u32-strmblen-tests: Likewise.
27446         * modules/unistr/u32-strmbtouc-tests: Likewise.
27447         * modules/unistr/u32-strncat-tests: Likewise.
27448         * modules/unistr/u32-strncmp-tests: Likewise.
27449         * modules/unistr/u32-strncpy-tests: Likewise.
27450         * modules/unistr/u32-strnlen-tests: Likewise.
27451         * modules/unistr/u32-to-u16-tests: Likewise.
27452         * modules/unistr/u32-to-u8-tests: Likewise.
27453         * modules/unistr/u32-uctomb-tests: Likewise.
27454         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
27455         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
27456         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
27457         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
27458         * modules/uniwidth/u8-strwidth-tests: Likewise.
27459         * modules/uniwidth/u8-width-tests: Likewise.
27460         * modules/uniwidth/u16-strwidth-tests: Likewise.
27461         * modules/uniwidth/u16-width-tests: Likewise.
27462         * modules/uniwidth/u32-strwidth-tests: Likewise.
27463         * modules/uniwidth/u32-width-tests: Likewise.
27464         * modules/uniwidth/width-tests: Likewise.
27465
27466 2010-05-18  Richard Jones  <rjones@redhat.com>
27467
27468         doc: users.txt: list hivex
27469         * users.txt: Add hivex.
27470
27471 2010-05-18  Richard Jones  <rjones@redhat.com>
27472
27473         doc: users.txt: list febootstrap
27474         * users.txt: Add febootstrap.
27475
27476 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
27477
27478         bootstrap: fix an error when gnulib is not used as a git submodule
27479         * build-aux/bootstrap (gnulib_path): If its length is zero then
27480         assign "gnulib" to it.
27481         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
27482
27483 2010-05-16  Bruno Haible  <bruno@clisp.org>
27484
27485         Avoid autoconf warnings about AM_ICONV.
27486         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
27487         2.64.
27488
27489 2010-05-16  Bruno Haible  <bruno@clisp.org>
27490
27491         absolute-header: Make the macro usable in more situations.
27492         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
27493         from gl_ABSOLUTE_HEADER.
27494         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
27495
27496 2010-05-16  James Youngman  <jay@gnu.org>
27497
27498         doc: update users.txt
27499         * users.txt: Add CSSC.
27500
27501 2010-05-16  Jim Meyering  <meyering@redhat.com>
27502
27503         init.sh: fix an error in the previous change; add more comments
27504         * tests/init.sh: Compare exit code in loop against 9, not 2.
27505         Patch by Bruno Haible.
27506         Make the two tests more similar by adding an empty "then" clause.
27507         Add comments.
27508
27509         init.sh: avoid unnecessary shell re-exec
27510         * tests/init.sh: Improve the re-exec-required check to first test the
27511         current shell.  If it passes the test, do not search for a shell that
27512         does pass, and do not re-exec.  This test is particularly contorted to
27513         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
27514         of $(...) evokes a syntax error and causes immediate shell exit with
27515         status 2.  Bruno Haible reported that the re-exec made it impossible
27516         to single-step through any init.sh-using script.
27517
27518 2010-05-16  Bruno Haible  <bruno@clisp.org>
27519
27520         Fix collision between gnulib's and libintl's printf replacements.
27521         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
27522         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
27523         (printf): When using GNU C, map the __printf__ function to rpl_printf
27524         via __asm__. When not using GNU C, define rpl_printf instead of
27525         __printf__.
27526         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
27527         commit.
27528         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
27529         commit.
27530         * m4/asm-underscore.m4: New file.
27531         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
27532         * modules/stdio (Files): Add m4/asm-underscore.m4.
27533         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
27534         Reported by Ben Pfaff.
27535
27536 2010-05-16  Bruno Haible  <bruno@clisp.org>
27537
27538         verify: Avoid skipping the test on openSUSE 11.0.
27539         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
27540
27541 2010-05-13  Bruno Haible  <bruno@clisp.org>
27542
27543         Avoid useless warnings from G++.
27544         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
27545         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
27546         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27547
27548 2010-05-11  Jim Meyering  <meyering@redhat.com>
27549
27550         maint.mk: tweak preceding change
27551         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
27552         regexps tighter by anchoring at EOL, and make the new group "shy"
27553         for slightly decreased overhead.
27554
27555 2010-05-11  Eric Blake  <eblake@redhat.com>
27556
27557         maint.mk: gnulib doesn't guarantee NSIG
27558         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
27559
27560 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27561
27562         test-pwrite.c: Remove unused variable declaration.
27563         * tests/test-pwrite.c (main): Remove read_buf declaration.
27564
27565         Remove useless test-pwrite.sh file.
27566         * tests/test-pwrite.sh: Delete file.
27567         * modules/pwrite-tests: Remove references.
27568         Reported by Bruno Haible.
27569
27570 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27571
27572         init.sh: fix a typo
27573         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
27574
27575 2010-05-10  Jim Meyering  <meyering@redhat.com>
27576
27577         maint.mk: avoid using a temporary file in the always-defined-macros check
27578         * top/maint.mk (.re-defmac): Remove rule.
27579         (gl_trap_): Remove definition.
27580         (sc_prohibit_always-defined_macros): Rewrite not to create and
27581         depend on a temporary file.  Instead, depend on GNU grep's ability
27582         to read a list of regular expressions from stdin when given "-f -".
27583
27584 2010-05-09  Bruno Haible  <bruno@clisp.org>
27585
27586         Update to GNU gettext 0.18, part 1.
27587         * m4/gettext.m4: Update to GNU gettext 0.18.
27588         * m4/intl.m4: Likewise.
27589         * m4/po.m4: Likewise.
27590         * modules/gettext (Files): Add m4/fcntl-o.m4.
27591         (configure.ac): Require gettext infrastructure from version 0.18.
27592
27593 2010-05-09  Jim Meyering  <meyering@redhat.com>
27594
27595         init.sh: enable MALLOC_PERTURB_
27596         * tests/init.sh: Enable glibc's malloc-perturbing option.
27597
27598         maint.mk: improve sc_cross_check_PATH_usage_in_tests
27599         With my recent change in init.sh from the two-line form:
27600             -#   : ${srcdir=.}
27601             -#   . "$srcdir/init.sh"; path_prepend_ .
27602             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
27603         I noticed that using the one-line form would cause this test
27604         to fail with a false-positive, or to stop working altogether,
27605         depending on whether help-version changed or all the tests did.
27606         * top/maint.mk (_hv_regex): Remove this definition.
27607         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
27608         (_hv_regex_strong): Use a stronger regex to check for conformance.
27609         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
27610         Give a separate diagnostic for lack of conforming use.
27611
27612         maint.mk: prohibit definition of symbols defined by gnulib
27613         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
27614         definition of symbols defined by gnulib.
27615
27616 2010-05-09  Bruno Haible  <bruno@clisp.org>
27617
27618         acl: Avoid test failure on Cygwin-hosted mingw.
27619         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
27620
27621 2010-05-09  Bruno Haible  <bruno@clisp.org>
27622
27623         error: Use system's fcntl function.
27624         * lib/error.c (fcntl): Undefine.
27625
27626 2010-05-09  Jim Meyering  <meyering@redhat.com>
27627
27628         verify: adjust formatting to be more consistent
27629         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
27630         argument-list '('s, and after one comma.
27631
27632 2010-05-09  Bruno Haible  <bruno@clisp.org>
27633
27634         error: More reliable output on mingw.
27635         * lib/error.c: Include <windows.h>.
27636         (is_open): New function.
27637         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
27638         defined.
27639
27640 2010-05-09  Bruno Haible  <bruno@clisp.org>
27641
27642         vasnprintf: Fix syntax errors in libintl build on mingw.
27643         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
27644         pad_ourselves and prec_ourselves after use.
27645
27646 2010-05-08  Bruno Haible  <bruno@clisp.org>
27647
27648         * lib/config.charset: Update comments for Cygwin 1.7.
27649         * lib/localcharset.c: Likewise.
27650
27651 2010-05-07  Jim Meyering  <meyering@redhat.com>
27652
27653         init.sh: improve comments
27654         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
27655         . "${srcdir=.}/init.sh"; path_prepend_ .
27656         Add a note about path_prepend_ and the alternative of using
27657         TESTS_ENVIRONMENT.
27658
27659 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
27660
27661         exclude: Unescape hashed patterns in wildcard mode.
27662         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
27663         to the hash list.
27664         * tests/test-exclude8.sh: New test case.
27665         * modules/exclude-tests: Add new test.
27666
27667 2010-05-05  Eric Blake  <eblake@redhat.com>
27668
27669         verify: automate tests
27670         * modules/verify-tests: New module.
27671         * tests/test-verify.sh: New file.
27672         * tests/test-verify.c: Guard each negative test with a unique id.
27673         Also avoid warning about unused left hand of comma expressions.
27674
27675 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
27676
27677         Further improvements to verify.h, suggested by Eric Blake.
27678         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
27679         the GL_* versions, to avoid collision with OpenGL.
27680         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
27681         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
27682         than testing merely whether it's defined.
27683
27684         Modify verify.h to pacify gcc -Wredundant_decls.
27685         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
27686         These use the prefix "GL_" since they're likely to be useful elsewhere.
27687         We may need to break them out into a different .h file.
27688         (__COUNTER__): Define to 0 if the compiler doesn't support it.
27689         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
27690         of verify_function__.
27691
27692 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27693
27694         Tests for module pwrite.
27695         * modules/pwrite-tests: New file.
27696         * tests/test-pwrite.sh: New file.
27697         * tests/test-pwrite.c: New file.
27698
27699         New module pwrite.
27700         * lib/unistd.in.h (pwrite): New declaration.
27701         * lib/pwrite.c: New file, from glibc with modifications.
27702         * m4/pwrite.m4: New file.
27703         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
27704         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
27705         REPLACE_PWRITE.
27706         * modules/pwrite: New file.
27707         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
27708         REPLACE_PWRITE.
27709         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
27710         * doc/posix-functions/pwrite.texi: Mention the new module.
27711
27712 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27713
27714         pread: Update documentation.
27715         * doc/posix-functions/pread.texi: Mention the 'pread' module.
27716
27717 2010-05-04  Eric Blake  <eblake@redhat.com>
27718
27719         docs: update cygwin progress
27720         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
27721         this bug.
27722         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
27723         Added in cygwin 1.7.2.
27724         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
27725         Likewise.
27726         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
27727         Likewise.
27728         * doc/glibc-functions/dup3.texi (dup3): Likewise.
27729         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
27730         * doc/glibc-functions/accept4.texi (accept4): Likewise.
27731         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
27732         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
27733         Mention nproc module.
27734         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
27735         bug in cygwin 1.7.5 addition.
27736         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
27737         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
27738         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
27739         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
27740         1.7.5.
27741         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
27742         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
27743         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
27744         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
27745         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
27746         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
27747         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
27748         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
27749         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
27750         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
27751         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
27752         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
27753         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
27754         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
27755         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
27756         Likewise.
27757         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
27758         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
27759         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
27760         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
27761         Likewise.
27762         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
27763         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
27764         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
27765         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
27766         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
27767         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
27768         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
27769         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
27770         Likewise.
27771         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
27772         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
27773         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
27774         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
27775         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
27776         Likewise.
27777         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
27778         Likewise.
27779         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
27780         Likewise.
27781         * doc/glibc-functions/xdrrec_endofrecord.texi
27782         (xdrrec_endofrecord): Likewise.
27783         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
27784         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
27785         Likewise.
27786         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
27787         Likewise.
27788
27789 2010-05-04  Jim Meyering  <meyering@redhat.com>
27790
27791         gendocs.sh: make its "-s FILE" option more useful
27792         * build-aux/gendocs.sh: When honoring the -s FILE option, update
27793         $PACKAGE to reflect the probably-different basename of "FILE".
27794
27795 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
27796
27797         bootstrap: don't ignore download_po_files failure
27798         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
27799         failure.
27800
27801 2010-05-03  Jim Meyering  <meyering@redhat.com>
27802
27803         maint.mk: allow to pass options to gendocs.sh
27804         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
27805         (gendocs_options_): New overridable variable.
27806
27807         gnu-web-doc-update: don't ignore configure or build failure
27808         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
27809
27810         announce-gen: backslash-escape '@'s in --help output
27811         * build-aux/announce-gen: Fix syntax errors.
27812
27813         maint.mk, announce-gen: allow project-specific announcement mail headers
27814         * top/maint.mk (translation_project_): Define default.
27815         (announcement_Cc_, announcement_mail_headers_): Likewise.
27816         (announcement): Invoke announce-gen with new --mail-headers option.
27817         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
27818
27819         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
27820         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
27821         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
27822         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
27823         line in the "err2" output file when running "make check" in verbose
27824         mode (i.e., with set -x enabled).
27825
27826 2010-05-03  Bruno Haible  <bruno@clisp.org>
27827
27828         wctob: Fix for weird platforms.
27829         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
27830         argument value.
27831
27832 2010-05-03  Jim Meyering  <meyering@redhat.com>
27833
27834         maint.mk: prohibit unwarranted use of <strings.h>
27835         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
27836         strings.h in a file that does not also use strcasecmp, strncasecmp,
27837         ffs or ffsll.
27838
27839         maint.mk: remove obsolete comments
27840         * top/maint.mk: Remove stale, commented-out rules.
27841
27842 2010-05-02  Bruno Haible  <bruno@clisp.org>
27843
27844         wcwidth: Declare also when it's aliased.
27845         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
27846         macro.
27847
27848 2010-05-02  Bruno Haible  <bruno@clisp.org>
27849
27850         Fix regression from 2010-04-25.
27851         * gnulib-tool (func_modules_transitive_closure): Check the status of
27852         all modules, not only of the tests that are of the form foo-tests where
27853         foo is a module.
27854
27855 2010-05-02  Bruno Haible  <bruno@clisp.org>
27856
27857         wctob: Work around nasty Cygwin 1.7.2 bug.
27858         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
27859         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
27860
27861 2010-05-01  Bruno Haible  <bruno@clisp.org>
27862
27863         fpurge: Sharper test.
27864         * tests/test-fpurge.c (main): Add one more ftell check.
27865         * modules/fpurge-tests (Depends-on): Add ftell.
27866         Suggested by Eric Blake.
27867
27868 2010-05-01  Bruno Haible  <bruno@clisp.org>
27869
27870         ftello: Another test.
27871         * tests/test-ftello3.c: New file.
27872         * modules/ftello-tests (Files): Add it.
27873         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27874         MOSTLYCLEANFILES.
27875
27876         ftell: Another test.
27877         * tests/test-ftell3.c: New file.
27878         * modules/ftell-tests (Files): Add it.
27879         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27880         MOSTLYCLEANFILES.
27881
27882 2010-05-01  Bruno Haible  <bruno@clisp.org>
27883
27884         ftell, ftello: Work around Solaris bug.
27885         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
27886         * lib/ftello.c: Include stdio-impl.h.
27887         (ftello): On Solaris, when _IOWRT is set, compute the result without
27888         looking at _IOREAD.
27889         * modules/ftello (Files): Add lib/stdio-impl.h.
27890         * doc/posix-functions/ftell.texi: Mention Solaris bug.
27891         * doc/posix-functions/ftello.texi: Likewise.
27892         Reported by Eric Blake.
27893
27894 2010-05-01  Bruno Haible  <bruno@clisp.org>
27895
27896         freading: Adapt to special meaning of _IOREAD flag on Solaris.
27897         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
27898         the _IOWRT flag is also set.
27899
27900 2010-05-01  Bruno Haible  <bruno@clisp.org>
27901
27902         Fix doc about a HP-UX stdio bug.
27903         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
27904         * doc/posix-functions/ftello.texi: Likewise.
27905
27906 2010-05-01  Bruno Haible  <bruno@clisp.org>
27907
27908         lseek test: Fix failure on Solaris.
27909         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
27910         output.
27911
27912 2010-04-30  Jim Meyering  <meyering@redhat.com>
27913
27914         bootstrap: don't ignore failure to generate po*/Makevars
27915         * build-aux/bootstrap (with_gettext): Don't ignore failure
27916         to create po/Makevars or runtime-po/Makevars.
27917
27918 2010-04-29  Eric Blake  <eblake@redhat.com>
27919
27920         headers: relax license to LGPLv2+
27921         * modules/fcntl-h (License): Relax license.
27922         * modules/getopt-posix (License): Likewise.
27923         * modules/locale (License): Likewise.
27924         * modules/math (License): Likewise.
27925         * modules/pty (License): Likewise.
27926         * modules/sched (License): Likewise.
27927         * modules/search (License): Likewise.
27928         * modules/spawn (License): Likewise.
27929         * modules/stdarg (License): Likewise.
27930         * modules/sysexits (License): Likewise.
27931
27932 2010-04-29  Jim Meyering  <meyering@redhat.com>
27933
27934         inttypes: relax license to LGPLv2+
27935         * modules/inttypes (License): Relax license.
27936
27937 2010-04-29  Simon Josefsson  <simon@josefsson.org>
27938
27939         * top/maint.mk (indent): Run twice to produce idempotent results.
27940
27941 2010-04-28  Bruno Haible  <bruno@clisp.org>
27942
27943         getdate: Generate getdate.c in the source directory.
27944         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
27945         MOSTLYCLEANFILES.
27946         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
27947
27948 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
27949
27950         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
27951         is not declared as a const *; avoid warnings in that case.
27952
27953 2010-04-28  Eric Blake  <eblake@redhat.com>
27954
27955         canonicalize-lgpl: avoid compiler warning
27956         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
27957         declaration' / 'extraneous semicolon' warning with some compilers.
27958         Reported by Andreas Gruenbacher.
27959
27960 2010-04-28  Jim Meyering  <meyering@redhat.com>
27961
27962         init.sh: ensure a more reliable exit status when exiting via trap
27963         * tests/init.sh (setup_): Don't rely on $? in signal handler.
27964         Inspired by patches from Dmitry V. Levin.
27965         Also trap on signal 3 (SIGQUIT).
27966
27967 2010-04-27  Bruno Haible  <bruno@clisp.org>
27968
27969         Update doc about utimes().
27970         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
27971         'utimens' module.
27972         Reported by Andreas Gruenbacher <agruen@suse.de>.
27973
27974 2010-04-27  Eric Blake  <eblake@redhat.com>
27975
27976         full-read, full-write: relax license
27977         * modules/full-read (License): Drop to LGPLv2+.
27978         * modules/full-write (License): Likewise.
27979         * modules/safe-read (License): Likewise.
27980         * modules/safe-write (License): Likewise.
27981
27982         pthread: mention library for linking
27983         * modules/pthread (Link): Mention $(LIB_PTHREAD).
27984
27985 2010-04-27  Jim Meyering  <meyering@redhat.com>
27986
27987         maint.mk: fix a bug introduced in last change
27988         * top/maint.mk (gl_assured_headers_): Now that all names are on
27989         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
27990         is not anchored to end of word, it should be adequate.
27991
27992         maint.mk: avoid side-effect in latest syntax-check
27993         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
27994         to run commands via $(shell...), and hence to incur cost only when
27995         the new rule is actually run.
27996
27997         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
27998         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
27999         and use that to create a regexp used to detect all #if HAVE_..._H uses.
28000         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
28001         (gl_assured_headers_, az_, AZ_): Define.
28002         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
28003
28004 2010-04-26  Jim Meyering  <jim@meyering.net>
28005             Bruno Haible  <bruno@clisp.org>
28006
28007         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
28008         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
28009         Prompted by an exchange with Gilles Espinasse.
28010
28011 2010-04-26  Jim Meyering  <meyering@redhat.com>
28012
28013         git-version-gen: aesthetic tweak
28014         * build-aux/git-version-gen: Use "$nl" rather than a literal,
28015         so that the command remains on a single line.
28016
28017 2010-04-26  Eric Blake  <eblake@redhat.com>
28018
28019         git-version-gen: allow use on EBCDIC hosts
28020         * build-aux/git-version-gen (dirty): Use literal rather than tying
28021         ourselves to ascii.
28022         Reported by Steve Goetze.
28023
28024 2010-04-25  Bruno Haible  <bruno@clisp.org>
28025
28026         netdb: Add support for GNULIB_POSIXCHECK.
28027         * lib/netdb.in.h: Include warn-on-use.h.
28028         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
28029         functions are used when GNULIB_POSIXCHECK is defined and the
28030         getaddrinfo module is not in use.
28031         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
28032         freeaddrinfo, gai_strerror, getnameinfo are declared.
28033         * modules/netdb (Depends-on): Add warn-on-use.
28034         (Makefile.am): Include warn-on-use.h in netdb.h.
28035
28036 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
28037
28038         build: avoid "make check" failure without .git/ directory
28039         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
28040         there is no .git/ directory.
28041
28042 2010-04-25  Bruno Haible  <bruno@clisp.org>
28043
28044         ptsname: Fix misuse of ttyname_r.
28045         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
28046         of errno.
28047
28048 2010-04-25  Bruno Haible  <bruno@clisp.org>
28049
28050         ttyname_r: Make it work on Solaris 10.
28051         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
28052         if the system function has the POSIX declaration. Test whether the
28053         function fails if the buffer is less than 128 bytes large.
28054         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
28055         system's ttyname_r function. Provide a reasonably large buffer.
28056         * modules/ttyname_r (Depends-on): Add extensions.
28057         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
28058
28059 2010-04-25  Bruno Haible  <bruno@clisp.org>
28060
28061         Use the 'extensions' module for some more functions on Solaris.
28062         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
28063         module.
28064         * doc/posix-functions/ctime_r.texi: Likewise.
28065         * doc/posix-functions/getgrgid_r.texi: Likewise.
28066         * doc/posix-functions/getgrnam_r.texi: Likewise.
28067         * doc/posix-functions/getpwnam_r.texi: Likewise.
28068         * doc/posix-functions/getpwuid_r.texi: Likewise.
28069         * doc/posix-functions/readdir_r.texi: Likewise.
28070         * doc/posix-functions/sigwait.texi: Likewise.
28071         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
28072         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
28073
28074 2010-04-25  Bruno Haible  <bruno@clisp.org>
28075
28076         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
28077         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
28078         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
28079         * lib/ttyname_r.c: Include <limits.h>.
28080         (ttyname_r): Define using the system's ttyname_r function, if it exists
28081         and not on Solaris.
28082         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
28083         set.
28084         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
28085         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
28086         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
28087         Reported by Simon Josefsson.
28088
28089 2010-04-25  Bruno Haible  <bruno@clisp.org>
28090
28091         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
28092         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
28093         * doc/posix-functions/ctime_r.texi: Likewise.
28094         * doc/posix-functions/getgrgid_r.texi: Likewise.
28095         * doc/posix-functions/getgrnam_r.texi: Likewise.
28096         * doc/posix-functions/getlogin_r.texi: Likewise.
28097         * doc/posix-functions/getpwnam_r.texi: Likewise.
28098         * doc/posix-functions/getpwuid_r.texi: Likewise.
28099         * doc/posix-functions/readdir_r.texi: Likewise.
28100         * doc/posix-functions/sigwait.texi: Likewise.
28101         * doc/posix-functions/ttyname_r.texi: Likewise.
28102         Reported by Simon Josefsson.
28103
28104 2010-04-25  Bruno Haible  <bruno@clisp.org>
28105
28106         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
28107         * gnulib-tool (func_usage): Document that --with-*-tests options apply
28108         also to --create-testdir.
28109         (func_acceptable): Don't consider the status of *-tests modules here.
28110         (func_modules_transitive_closure): Consider it here, before including a
28111         test module.
28112         (func_import, func_create_testdir): Set inc_all_direct_tests,
28113         inc_all_indirect_tests.
28114         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
28115         --create-testdir and --create-megatestdir.
28116
28117 2010-04-25  Bruno Haible  <bruno@clisp.org>
28118
28119         gnulib-tool: Add --without-*-tests options.
28120         * gnulib-tool (func_usage): Document the --without-*-tests options.
28121         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
28122         excl_unportable_tests): New variables.
28123         Fail if they are specified with --import or --update.
28124         (func_acceptable): Respect the excl_*_tests variables.
28125         (func_import): Set the excl_*_tests variables to empty.
28126
28127 2010-04-25  Simon Josefsson  <simon@josefsson.org>
28128             Bruno Haible  <bruno@clisp.org>
28129
28130         Work around a MacOS X 10.4 bug with openpty.
28131         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
28132         * tests/test-openpty.c (main): Close the master side explicitly.
28133
28134 2010-04-25  Bruno Haible  <bruno@clisp.org>
28135
28136         strnlen: Fix a C++ test error on MacOS X and Solaris.
28137         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
28138         the function is not declared.
28139         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
28140         Simon Josefsson.
28141
28142 2010-04-24  Bruno Haible  <bruno@clisp.org>
28143
28144         Avoid a gcc warning.
28145         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
28146         of correct type for %08lx directive.
28147         Reported by Eric Blake.
28148
28149 2010-04-24  Bruno Haible  <bruno@clisp.org>
28150
28151         vasnprintf: Correct errno value in case of out-of-memory.
28152         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
28153         or sprintf. Use the errno value from SNPRINTF or sprintf.
28154         Reported by Ian Beckwith <ianb@erislabs.net>.
28155
28156 2010-04-24  Bruno Haible  <bruno@clisp.org>
28157
28158         ansi-c++-opt: Find correct compiler when cross-compiling.
28159         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
28160         AC_CHECK_PROGS.
28161         Reported by Simon Josefsson.
28162
28163 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
28164
28165         vc-list-files: Add support for subversion
28166         * build-aux/vc-list-files: Use "svn list" to generate the list of
28167         files controlled by subversion.
28168
28169 2010-04-23  Jim Meyering  <meyering@redhat.com>
28170
28171         vc-list-files tests: convert to use init.sh
28172         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
28173         path_prepend_.
28174         Use Exit, not exit.
28175         Use skip_ rather than open coding it.
28176         Remove trap set-up and compare definitions.
28177         * tests/test-vc-list-files-git.sh: Likewise.
28178         * modules/vc-list-files-tests (Files): Add tests/init.sh.
28179
28180 2010-04-22  Simon Josefsson  <simon@josefsson.org>
28181
28182         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
28183         backup files.
28184
28185 2010-04-21  Simon Josefsson  <simon@josefsson.org>
28186
28187         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
28188
28189 2010-04-20  Eric Blake  <eblake@redhat.com>
28190
28191         tests: be robust to ignored SIGPIPE
28192         * tests/test-select-in.sh: Consume all output.
28193         * tests/test-lseek.sh: Check correct exit status, while avoiding
28194         EPIPE.
28195
28196 2010-04-20  Simon Josefsson  <simon@josefsson.org>
28197             Bruno Haible  <bruno@clisp.org>
28198
28199         visibility: Don't use -fvisibility if it leads to a warning.
28200         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
28201         yes, don't pretend that visibility works if it leads to a warning.
28202         Reported by Mike Gran <spk121@yahoo.com>.
28203
28204 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
28205
28206         * build-aux/bootstrap: Use "git -h" for testing for supported options
28207         instead of "git --help".  The short-form option only shows a summary,
28208         and doesn't layout the full man page.  Grep for the full option name
28209         in the summary, too.
28210
28211 2010-04-19  Bruno Haible  <bruno@clisp.org>
28212
28213         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
28214         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
28215         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
28216         mention of RELOCATABLE_STRIP.
28217         Reported by Sylvain Beucler <beuc@beuc.net>.
28218
28219 2010-04-19  Bruno Haible  <bruno@clisp.org>
28220
28221         * lib/diffseq.h: Fix typo in comment.
28222         Reported by Eric Blake.
28223
28224 2010-04-19  Bruno Haible  <bruno@clisp.org>
28225
28226         ioctl: Move autoconf macro to a .m4 file.
28227         * m4/ioctl.m4: New file, extracted from modules/ioctl.
28228         * modules/ioctl (Files): Add it.
28229         (configure.ac): Simply invoke gl_FUNC_IOCTL.
28230         Reported by Ian Beckwith <ianb@erislabs.net>.
28231
28232 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
28233             Bruno Haible  <bruno@clisp.org>
28234
28235         diffseq: Accommodate use-case with abstract arrays.
28236         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
28237         is not defined.
28238         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
28239         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
28240
28241 2010-04-18  Bruno Haible  <bruno@clisp.org>
28242
28243         * doc/posix-headers/stdbool.texi: More precise wording.
28244
28245 2010-04-17  Jim Meyering  <meyering@redhat.com>
28246
28247         maint.mk: use gnu-style indentation in an embedded perl script
28248         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
28249         Rename variable: s/two/last_two_bytes/
28250
28251 2010-04-16  Eric Blake  <eblake@redhat.com>
28252
28253         test-stdbool: skip test that fails with Solaris CC
28254         * tests/test-stdbool.c (f): Skip test that causes compilation
28255         error under buggy C++ compiler.
28256         * lib/stdbool.in.h: Document the limitation.
28257         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
28258
28259         setenv: allow compilation with C++
28260         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
28261         register keyword.
28262
28263         stdint: allow test to pass with C++
28264         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
28265
28266         getopt: allow compilation with C++
28267         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
28268         struct.
28269         * lib/getopt.c (_getopt_internal_r): Use correct type.
28270         Reported by Dagobert Michelson, via Joel E. Denny.
28271
28272 2010-04-16  Bruno Haible  <bruno@clisp.org>
28273
28274         Override netdb.h always.
28275         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
28276         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
28277         Reported by Ludovic Courtès <ludo@gnu.org>.
28278
28279 2010-04-15  Bruno Haible  <bruno@clisp.org>
28280
28281         openpty: Fix mistake from 2010-03-21.
28282         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
28283         Reported by Simon Josefsson.
28284
28285 2010-04-15  Eric Blake  <eblake@redhat.com>
28286
28287         test-forkpty: fix expected signature
28288         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
28289         Reported by Simon Josefsson.
28290
28291 2010-04-15  Jim Meyering  <meyering@redhat.com>
28292
28293         maint.mk: texinfo_suffix_re_: correct the default regexp
28294         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
28295
28296         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
28297         make it configurable via texinfo_suffix_re_.
28298
28299 2010-04-14  Eric Blake  <eblake@redhat.com>
28300
28301         strtok_r: relax license to LGPLv2+
28302         * modules/strtok_r (License): Relax license.
28303         Reported by Matthias Bolte.
28304
28305 2010-04-14  Simon Josefsson  <simon@josefsson.org>
28306
28307         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
28308         version 1.4.4 by default instead of requiring the libgcrypt
28309         version used during build.  This makes it possible to use the
28310         application with older but still binary compatible libgcrypt
28311         versions.
28312
28313 2010-04-13  Eric Blake  <eblake@redhat.com>
28314
28315         getopt-gnu: match recent glibc fixes and posix ruling
28316         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
28317         '+' handling, when requesting extensions.
28318         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
28319         'W;' handling.
28320         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
28321         * doc/posix-functions/getopt.texi (getopt): Document this.
28322         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28323         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28324         Likewise.
28325
28326         getopt: merge bug fixes from glibc
28327         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
28328         diagnostics.  Honor '+:' correctly.  Reject ';'.
28329
28330         getopt-posix: detect MacOS bug
28331         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
28332         optind when missing a required argument.
28333         * doc/posix-functions/getopt.texi (getopt): Document the bug.
28334         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28335         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28336         Likewise.
28337
28338         getopt-posix: avoid spurious failure on Solaris
28339         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
28340         an indicator that setting optind=1 is sufficient for reset.
28341
28342         getopt-posix: avoid spurious failure on FreeBSD
28343         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
28344         in POSIX mode, since the m4 test uses it.
28345
28346         gnulib-tool: silence warning on BSD sh
28347         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
28348
28349 2010-04-13  Jim Meyering  <meyering@redhat.com>
28350
28351         doc: users.txt: GNU patch now uses gnulib
28352         * users.txt: Add patch.
28353
28354 2010-04-12  Jim Meyering  <meyering@redhat.com>
28355
28356         maint.mk: generate more concise timing data for syntax-check rules
28357         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
28358         " done" from each line that reports a syntax-check test duration.
28359
28360 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
28361
28362         git-version-gen: use "git update-index..." rather than "git status"
28363         * build-aux/git-version-gen: Use git update-index --refresh, not
28364         "git status".  With some versions of git, "git status" would fail
28365         to update the index and result in an unwarranted "-dirty" suffix.
28366
28367 2010-04-11  Jim Meyering  <meyering@redhat.com>
28368
28369         openat: correct formatting (no semantic change)
28370         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
28371         Suggested by Bruno Haible.
28372
28373 2010-04-11  Bruno Haible  <bruno@clisp.org>
28374
28375         Stricter declaration checking in testdirs.
28376         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28377         If for_tests is true, augment AM_CPPFLAGS to define
28378         GNULIB_STRICT_CHECKING.
28379         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
28380         GNULIB_STRICT_CHECKING is defined, verify that the function is
28381         declared.
28382
28383 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
28384             Bruno Haible  <bruno@clisp.org>
28385
28386         libunistring: Improve configure output.
28387         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
28388         Don't say "consider installing GNU libunistring" when checking again
28389         with libiconv.
28390
28391 2010-04-11  Bruno Haible  <bruno@clisp.org>
28392
28393         libunistring: Correct value of $LTLIBUNISTRING.
28394         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
28395         correct the value of $LTLIBUNISTRING.
28396
28397 2010-04-11  Bruno Haible  <bruno@clisp.org>
28398
28399         havelib: Add static libraries to LIBS in the right order.
28400         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
28401         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
28402
28403 2010-04-11  Bruno Haible  <bruno@clisp.org>
28404
28405         libunistring: Detect libunistring also when it depends on libiconv.
28406         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
28407         the second AC_LIB_HAVE_LINKFLAGS invocation.
28408
28409 2010-04-11  James Youngman  <jay@gnu.org>
28410
28411         close-stream: declare local scalars to be "const"
28412         * lib/close-stream.c (close_stream): Make boolean variables const
28413         to document the fact that we set but do not change them.
28414
28415 2010-04-11  Bruno Haible  <bruno@clisp.org>
28416
28417         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
28418
28419 2010-04-11  Jim Meyering  <meyering@redhat.com>
28420
28421         maint.mk: don't include dist-check.mk
28422         * top/maint.mk: Remove bogus include directive.
28423
28424         maint.mk: improve empty-line-at-EOF check
28425         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
28426         solution, rather than tail+Perl-based one.  The latter would read
28427         a few kilobytes from the end of each file, and did not handle empty
28428         files properly.
28429
28430         maint.mk: print the elapsed time for each syntax-check rule
28431         * top/maint.mk (sc_m_rules_): Save start time in a file.
28432         (sc_z_rules_): New rules: remove temp file and print elapsed time.
28433         (local-check): Interpose the .z rules
28434
28435 2010-04-11  Jim Meyering  <meyering@redhat.com>
28436
28437         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
28438         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
28439         empty file with one that ends in an empty line.
28440
28441 2010-04-10  Bruno Haible  <bruno@clisp.org>
28442
28443         mkdir: Make it work on mingw64.
28444         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
28445         * lib/mkdir.c: Update comment.
28446         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
28447
28448 2010-04-10  Bruno Haible  <bruno@clisp.org>
28449
28450         Don't override improved macro from newer autoconf.
28451         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
28452         autoconf >= 2.62.
28453         Reported by Joel E. Denny <jdenny@clemson.edu>.
28454
28455 2010-04-10  Jim Meyering  <meyering@redhat.com>
28456
28457         maint.mk: new syntax-check rule: prohibit empty lines at end of file
28458         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
28459
28460         maint.mk: correct a diagnostic
28461         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
28462         in diagnostic; now use $prohibit.
28463
28464 2010-04-10  Bruno Haible  <address@hidden>
28465
28466         fchownat: Fix a C++ test error on Solaris 8.
28467         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
28468         the function does not exist.
28469
28470 2010-04-10  Bruno Haible  <bruno@clisp.org>
28471
28472         vasnprintf: Add more tests.
28473         * tests/test-vasnprintf-posix.c: Include <errno.h>.
28474         (test_function): Test converting an invalid wide string.
28475
28476         vasnprintf: Correct handling of unconvertible wide string arguments.
28477         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
28478         VASNPRINTF.
28479         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
28480         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
28481         smaller than the expected maximum need for the directive. Set errno to
28482         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
28483         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
28484         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
28485         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
28486         * modules/vasnprintf (Files): Add m4/printf.m4.
28487         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28488
28489 2010-04-10  Bruno Haible  <bruno@clisp.org>
28490
28491         vasnprintf: Fix crash in %ls directive.
28492         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
28493         string is passed as argument to %ls, with no precision and no width.
28494         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28495
28496 2010-04-10  Bruno Haible  <bruno@clisp.org>
28497
28498         vasnprintf: Fix multiple test failures on mingw.
28499         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
28500         _snprintf, or snwprintf, not _snwprintf.
28501
28502 2010-04-10  Bruno Haible  <bruno@clisp.org>
28503
28504         write: Fix a C++ test error on mingw.
28505         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
28506
28507 2010-04-10  Bruno Haible  <bruno@clisp.org>
28508
28509         vasnprintf test: Reduce code duplication.
28510         * tests/test-vasnprintf.c (test_function): New function, extracted from
28511         test_vasnprintf.
28512         (test_vasnprintf, test_asnprintf): Invoke it.
28513
28514 2010-04-10  Bruno Haible  <bruno@clisp.org>
28515
28516         strnlen: Fix warning in C++ mode on MacOS X.
28517         * lib/string.in.h (strnlen): Use the modern idiom.
28518         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
28519         defining strnlen as a macro already in <config.h>.
28520         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28521         REPLACE_STRNLEN.
28522         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
28523         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28524
28525 2010-04-08  James Youngman  <jay@gnu.org>
28526
28527         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
28528         the example.
28529
28530 2010-04-09  Jim Meyering  <meyering@redhat.com>
28531
28532         maint.mk: print better diagnostic when there is no $(_hv_file)
28533         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
28534         announce that when $(_hv_file) (aka help-version) does not exist.
28535
28536         init.sh: run tr in the "C" locale to avoid multibyte interpretation
28537         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
28538         not try to interpret its random input bytes.  Jarno Rajahalme reported
28539         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
28540         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
28541         (mktempd_): Likewise, just in case.
28542
28543         ftruncate: add two years to projected module removal date: 2012
28544         * m4/ftruncate.m4: Adjust comments.
28545
28546         ftruncate: mark module as obsolete; even MinGW provides it, now
28547         * modules/ftruncate (Status): Obsolete.
28548         (Notice): Say that.
28549         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
28550         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
28551
28552 2010-04-08  Bruno Haible  <bruno@clisp.org>
28553
28554         Fix side effects from tests-related modules.
28555         * modules/dprintf-posix (Comment): New section.
28556         * modules/fprintf-posix (Comment): Likewise.
28557         * modules/obstack-printf-posix (Comment): Likewise.
28558         * modules/printf-posix (Comment): Likewise.
28559         * modules/snprintf-posix (Comment): Likewise.
28560         * modules/sprintf-posix (Comment): Likewise.
28561         * modules/vasnprintf-posix (Comment): Likewise.
28562         * modules/vasprintf-posix (Comment): Likewise.
28563         * modules/vdprintf-posix (Comment): Likewise.
28564         * modules/vfprintf-posix (Comment): Likewise.
28565         * modules/vprintf-posix (Comment): Likewise.
28566         * modules/vsnprintf-posix (Comment): Likewise.
28567         * modules/vsprintf-posix (Comment): Likewise.
28568         * modules/xprintf-posix (Comment): Likewise.
28569         * modules/xvasprintf-posix (Comment): Likewise.
28570         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
28571         * modules/floorf-tests (Depends-on): Likewise.
28572         * modules/round-tests (Depends-on): Likewise.
28573         * modules/roundf-tests (Depends-on): Likewise.
28574         * modules/trunc-tests (Depends-on): Likewise.
28575         * modules/truncf-tests (Depends-on): Likewise.
28576         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
28577         'fprintf-posix' module is not present.
28578         * tests/test-floorf2.c (check): Likewise.
28579         * tests/test-trunc2.c (check): Likewise.
28580         * tests/test-truncf2.c (check): Likewise.
28581         * tests/test-round2.c (equal): Likewise.
28582         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28583
28584 2010-04-07  Karl Berry  <karl@gnu.org>
28585
28586         * config/srclist.txt,
28587         * config/srclistvars.sh,
28588         * config/srclist-update: doc fixes.
28589
28590 2010-04-07  Jim Meyering  <meyering@redhat.com>
28591
28592         maint.mk: add a PATH crosschecking syntax-check rule
28593         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
28594         Useful if you use a test like the one in help-version (coreutils,
28595         diffutils, grep, gzip) that ensures $(VERSION) matches what is
28596         printed by prog --version.
28597
28598 2010-04-06  Bruno Haible  <bruno@clisp.org>
28599
28600         Fix link error on mingw.
28601         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
28602         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
28603
28604 2010-04-06  Bruno Haible  <bruno@clisp.org>
28605
28606         Assume rmdir exists.
28607         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
28608
28609 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
28610
28611         doc: update users.txt
28612         * users.txt: Add gcal.
28613
28614 2010-04-06  Jim Meyering  <meyering@redhat.com>
28615
28616         init.sh: simply unset TMPDIR rather than risking env -i
28617         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
28618         although it probably works fine on all Unix-based systems, some
28619         systems (Cygwin?) cannot tolerate a totally cleared environment.
28620         Suggestion from Eric Blake.
28621
28622 2010-04-06  Jim Meyering  <meyering@redhat.com>
28623
28624         init.sh: portability fix: use env's POSIX-specified -i option not -u
28625         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
28626         than unportable env -u.  Solaris 5.11's env lacks support for -u.
28627
28628 2010-04-05  Bruno Haible  <bruno@clisp.org>
28629
28630         btowc: Work around Cygwin 1.7.2 bug.
28631         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
28632         does not map NUL to 0.
28633         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
28634
28635 2010-04-05  Bruno Haible  <bruno@clisp.org>
28636
28637         Make the multithread modules work on Cygwin 1.7.2.
28638         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
28639         imported symbols can be declared weak, so that it returns "no" on
28640         Cygwin 1.7.2.
28641
28642 2010-04-05  Bruno Haible  <bruno@clisp.org>
28643
28644         Use the module 'strncat'.
28645         * modules/unistr/u8-strncat (Depends-on): Add strncat.
28646
28647         Tests for module 'strncat'.
28648         * modules/strncat-tests: New file.
28649         * tests/test-strncat.c: New file.
28650
28651         New module 'strncat'.
28652         * lib/string.in.h (strncat): New declaration.
28653         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
28654         * m4/strncat.m4: New file, based on m4/memchr.m4.
28655         * modules/strncat: New file.
28656         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
28657         is declared.
28658         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
28659         REPLACE_STRNCAT.
28660         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
28661         REPLACE_STRNCAT.
28662         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
28663         module.
28664         * tests/test-string-c++.cc: Check signature of strncat.
28665
28666 2010-04-05  Jim Meyering  <meyering@redhat.com>
28667
28668         xstrtoumax-tests: convert to use init.sh
28669         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
28670         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28671         Use Exit, not exit.
28672         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28673
28674         xstrtoimax-tests: convert to use init.sh
28675         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
28676         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28677         Use Exit, not exit.
28678         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28679
28680 2010-04-05  Bruno Haible  <bruno@clisp.org>
28681
28682         sys_socket: Avoid #define replacements in C++ mode.
28683         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
28684         warning to the function if possible, rather than #defining the symbol
28685         to a dysfunctional alias.
28686
28687 2010-04-05  Bruno Haible  <bruno@clisp.org>
28688
28689         fseeko: Fix C++ test error on mingw.
28690         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
28691         gl_FUNC_FSEEKO.
28692         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
28693         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
28694         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
28695         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
28696
28697 2010-04-05  Bruno Haible  <bruno@clisp.org>
28698
28699         duplocale: Improve test output.
28700         * tests/test-duplocale.c (main): Print reason for skipped test.
28701
28702 2010-04-05  Bruno Haible  <bruno@clisp.org>
28703
28704         Assume rmdir exists.
28705         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
28706         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
28707
28708 2010-04-05  Bruno Haible  <bruno@clisp.org>
28709
28710         Fix link error on Solaris 8 with cc.
28711         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
28712
28713 2010-04-05  Bruno Haible  <bruno@clisp.org>
28714
28715         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28716         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
28717
28718 2010-04-05  Bruno Haible  <bruno@clisp.org>
28719
28720         vasprintf: Update documentation.
28721         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
28722
28723 2010-04-05  Bruno Haible  <bruno@clisp.org>
28724
28725         ptsname: Improve test.
28726         * tests/test-ptsname.c (main): Also try the various master names of BSD
28727         systems.
28728
28729 2010-04-05  Bruno Haible  <bruno@clisp.org>
28730
28731         memchr: Avoid a possible C++ test error.
28732         * lib/string.in.h (memchr): Provide declaration if function is missing.
28733         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
28734         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
28735         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
28736         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
28737
28738 2010-04-05  Bruno Haible  <bruno@clisp.org>
28739
28740         strtok_r: Improve idiom.
28741         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
28742         AC_LIBOBJ is used.
28743
28744 2010-04-05  Bruno Haible  <bruno@clisp.org>
28745
28746         strdup: Improve idiom.
28747         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
28748         AC_LIBOBJ is used.
28749         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
28750         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
28751         when AC_LIBOBJ is used.
28752
28753 2010-04-05  Bruno Haible  <bruno@clisp.org>
28754
28755         mbsinit, mbrtowc, wcrtomb: Improve idioms.
28756         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
28757         don't set REPLACE_MBSINIT to 1.
28758         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
28759         don't set REPLACE_MBRTOWC to 1.
28760         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
28761         exist, don't set REPLACE_MBSRTOWCS to 1.
28762         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
28763         exist, don't set REPLACE_MBSNRTOWCS to 1.
28764         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
28765         don't set REPLACE_WCRTOMB to 1.
28766         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
28767         exist, don't set REPLACE_WCSRTOMBS to 1.
28768         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
28769         exist, don't set REPLACE_WCSNRTOMBS to 1.
28770
28771 2010-04-05  Bruno Haible  <bruno@clisp.org>
28772
28773         ldexpl: Improve idiom.
28774         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
28775         make sure to set HAVE_DECL_LDEXPL to 0.
28776
28777 2010-04-05  Jim Meyering  <meyering@redhat.com>
28778
28779         xstrtol-tests: convert to use init.sh
28780         * modules/xstrtol-tests (Files): Add tests/init.sh.
28781         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28782         Use Exit, not exit.
28783         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28784
28785         atexit-tests: convert to use init.sh
28786         * modules/atexit-tests (Files): Add tests/init.sh.
28787         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28788         Use Exit, not exit.
28789         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28790
28791         init.sh: fix typo
28792         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
28793
28794         init.sh: make it easier for a test script to write to the tty, ...
28795         when using automake's parallel-tests mode.
28796         * tests/init.sh (stderr_fileno_): Define overridable variable.
28797         (warn_): New function, to use it.
28798         (fail_, skip_, framework_failure_): Use warn_.
28799
28800 2010-04-04  Bruno Haible  <bruno@clisp.org>
28801
28802         btowc: Avoid warning.
28803         * lib/btowc.c: Include <stdlib.h>.
28804         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
28805
28806 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28807             Bruno Haible  <bruno@clisp.org>
28808
28809         wchar: Port to NetBSD 1.5.
28810         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
28811         * lib/wctype.in.h (WEOF): Likewise.
28812
28813 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28814             Bruno Haible  <bruno@clisp.org>
28815
28816         Port extended stdio to NetBSD 1.5.
28817         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
28818         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
28819         older.
28820
28821 2010-04-04  Bruno Haible  <bruno@clisp.org>
28822
28823         string: Remove unused substitution.
28824         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
28825         HAVE_DECL_STRERROR.
28826         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
28827
28828 2010-04-04  Bruno Haible  <bruno@clisp.org>
28829
28830         strtod: Avoid a possible C++ test error.
28831         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
28832         set REPLACE_STRTOD.
28833
28834 2010-04-04  Bruno Haible  <bruno@clisp.org>
28835
28836         strerror: Update documentation.
28837         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
28838
28839 2010-04-04  Bruno Haible  <bruno@clisp.org>
28840
28841         stdio: Fix some C++ test errors on Solaris 8 with GCC.
28842         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
28843         _GL_CXXALIAS_SYS_CAST.
28844
28845 2010-04-04  Bruno Haible  <bruno@clisp.org>
28846
28847         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28848         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
28849         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
28850         REPLACE_FREXPL to 1.
28851         * doc/posix-functions/frexpl.texi: Update documentation.
28852
28853 2010-04-04  Bruno Haible  <bruno@clisp.org>
28854
28855         math: Fix some C++ test errors on Solaris 8 and Cygwin.
28856         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
28857
28858 2010-04-04  Bruno Haible  <bruno@clisp.org>
28859
28860         Implement nanosleep for native Windows.
28861         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
28862
28863 2010-04-04  Bruno Haible  <bruno@clisp.org>
28864
28865         math: Fix some C++ test errors on Solaris 8.
28866         * lib/math.in.h (truncf, trunc): Use simpler idiom.
28867
28868 2010-04-04  Bruno Haible  <bruno@clisp.org>
28869
28870         math: Fix some C++ test errors on Cygwin.
28871         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
28872         truncl): Provide declaration if the system does not have it.
28873         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
28874         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
28875         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
28876         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
28877         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
28878         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
28879         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
28880         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
28881         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
28882         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
28883         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
28884         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
28885         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
28886         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
28887         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
28888         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
28889         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
28890         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28891         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28892         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
28893         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28894         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28895
28896 2010-04-04  Bruno Haible  <bruno@clisp.org>
28897
28898         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
28899         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
28900         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
28901         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
28902         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
28903         * m4/isinf.m4 (gl_ISINF): Likewise.
28904         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28905
28906 2010-04-04  Bruno Haible  <bruno@clisp.org>
28907
28908         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
28909         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28910
28911 2010-04-04  Bruno Haible  <bruno@clisp.org>
28912
28913         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
28914         * modules/tmpfile (configure.ac): Update.
28915
28916         tmpfile: Fix C++ test error on mingw.
28917         * lib/stdio.in.h (tmpfile): New declaration.
28918         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
28919         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
28920         * modules/tmpfile (Depends-on): Add stdio.
28921         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
28922         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
28923         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
28924         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
28925         REPLACE_TMPFILE.
28926         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
28927
28928 2010-04-04  Bruno Haible  <bruno@clisp.org>
28929
28930         ioctl: Fix C++ test error on mingw.
28931         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
28932         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
28933         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
28934
28935 2010-04-03  Bruno Haible  <bruno@clisp.org>
28936
28937         wcwidth: Fix C++ test error on mingw.
28938         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
28939         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
28940         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
28941
28942 2010-04-03  Bruno Haible  <bruno@clisp.org>
28943
28944         nanosleep: Fix C++ test error on mingw.
28945         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
28946         * lib/time.in.h (nanosleep): Use modern idiom.
28947         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
28948         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
28949         REPLACE_NANOSLEEP to 1.
28950         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
28951         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
28952
28953 2010-04-03  Bruno Haible  <bruno@clisp.org>
28954
28955         strptime: Fix C++ test error on mingw.
28956         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
28957         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
28958         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
28959         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
28960         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
28961         not REPLACE_STRPTIME.
28962         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
28963         REPLACE_STRPTIME.
28964
28965 2010-04-03  Bruno Haible  <bruno@clisp.org>
28966
28967         timegm: Fix C++ test error on mingw.
28968         * lib/time.in.h (timegm): Use modern idiom.
28969         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
28970         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
28971         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
28972         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
28973
28974 2010-04-03  Bruno Haible  <bruno@clisp.org>
28975
28976         timegm: Assume declaration if function exists.
28977         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
28978         if it exists. Don't clobber ac_cv_func_timegm.
28979
28980 2010-04-03  Bruno Haible  <bruno@clisp.org>
28981
28982         time_r: Fix C++ test error on mingw.
28983         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
28984         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
28985         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
28986         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
28987         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
28988
28989 2010-04-03  Bruno Haible  <bruno@clisp.org>
28990
28991         time_r: Minor updates.
28992         * modules/time_r (Description): Mention the provided functions.
28993         * lib/time_r.c: Don't include <string.h>.
28994         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
28995         * doc/posix-functions/localtime_r.texi: Likewise.
28996
28997 2010-04-03  Bruno Haible  <bruno@clisp.org>
28998
28999         time: Fix regression introduced on 2010-03-08.
29000         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
29001         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
29002
29003 2010-04-03  Jim Meyering  <meyering@redhat.com>
29004
29005         maint.mk: don't silently disable project-specific syntax-check rules
29006         * top/maint.mk (_prohibit_regexp): Define, to help people realize
29007         that they need to convert their project-specific syntax-check rules
29008         to use the new _sc_search_regexp.
29009
29010 2010-04-03  Bruno Haible  <bruno@clisp.org>
29011
29012         fchdir: Fix regression introduced on 2010-03-08.
29013         * lib/unistd.in.h (fchdir): Fix declaration.
29014         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
29015         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
29016         REPLACE_FCHDIR.
29017         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
29018         REPLACE_FCHDIR.
29019
29020 2010-04-03  Bruno Haible  <bruno@clisp.org>
29021
29022         getpagesize: Fix C++ test error on mingw.
29023         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
29024         system does not declare the function.
29025         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
29026         declared.
29027         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29028         HAVE_DECL_GETPAGESIZE.
29029         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
29030
29031 2010-04-03  Bruno Haible  <bruno@clisp.org>
29032
29033         stdio: Make C++ tests work on mingw.
29034         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
29035         does not declare the function.
29036
29037 2010-04-03  Bruno Haible  <bruno@clisp.org>
29038
29039         ftello: Fix C++ test error on mingw.
29040         * lib/stdio.in.h (ftello): Use modern idiom.
29041         * lib/ftello.c (ftello): Renamed from rpl_ftello.
29042         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
29043         is missing and that it needs to be replaced.
29044         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
29045         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
29046         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
29047
29048 2010-04-03  Bruno Haible  <bruno@clisp.org>
29049
29050         fseeko: Fix C++ test error on mingw.
29051         * lib/stdio.in.h (fseeko): Use modern idiom.
29052         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
29053         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
29054         is missing and that it needs to be replaced.
29055         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
29056         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
29057         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
29058
29059 2010-04-03  Bruno Haible  <bruno@clisp.org>
29060
29061         mkstemp: Fix C++ test error on mingw.
29062         * lib/stdlib.in.h (mkstemp): Use modern idiom.
29063         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
29064         function is missing and that it needs to be replaced.
29065         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
29066         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
29067
29068 2010-04-03  Bruno Haible  <bruno@clisp.org>
29069
29070         stpncpy: Fix C++ test error on mingw.
29071         * lib/string.in.h (stpncpy): Use modern idiom.
29072         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
29073         function is missing and that it needs to be replaced.
29074         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29075         REPLACE_STPNCPY.
29076         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
29077
29078 2010-04-03  Bruno Haible  <bruno@clisp.org>
29079
29080         sys_stat: Fix C++ test error on mingw.
29081         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
29082         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
29083
29084 2010-04-03  Bruno Haible  <bruno@clisp.org>
29085
29086         pty: Update doc.
29087         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
29088
29089 2010-04-03  Bruno Haible  <bruno@clisp.org>
29090
29091         unistd: Fix C++ test error on mingw.
29092         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
29093
29094 2010-04-03  Bruno Haible  <bruno@clisp.org>
29095
29096         Update doc regarding mingw.
29097         * doc/glibc-functions/openpty.texi: Update regarding mingw.
29098         * doc/glibc-functions/login_tty.texi: Likewise.
29099         * doc/glibc-functions/forkpty.texi: Likewise.
29100
29101 2010-04-03  Bruno Haible  <bruno@clisp.org>
29102
29103         stdlib: Avoid compilation failure of c-strtold on mingw.
29104         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
29105
29106 2010-04-03  Bruno Haible  <bruno@clisp.org>
29107
29108         locale: Make C++ tests work on Cygwin and mingw.
29109         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
29110         cannot provide the function.
29111         Reported by Simon Josefsson.
29112
29113 2010-04-03  Bruno Haible  <bruno@clisp.org>
29114
29115         localename: Port to MacOS X 10.6.
29116         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
29117         memory layout of the locales in MacOS X 10.6 as well.
29118         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
29119
29120 2010-04-02  Bruno Haible  <bruno@clisp.org>
29121
29122         gnulib-tool: Ensure that long-running tests are executed last.
29123         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
29124         running tests after the one for the other tests.
29125
29126 2010-04-02  Bruno Haible  <bruno@clisp.org>
29127
29128         gnulib-tool: Ensure the tests in the main directory are executed first.
29129         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
29130         start with the current directory.
29131
29132 2010-04-02  Bruno Haible  <bruno@clisp.org>
29133
29134         Tests for module 'havelib', moved here from GNU gettext.
29135         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
29136         modifications.
29137         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
29138         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
29139         with modifications.
29140         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
29141         modifications.
29142         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
29143         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
29144         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
29145         with modifications.
29146         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
29147         with modifications.
29148         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
29149         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
29150         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
29151         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
29152         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
29153         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
29154         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
29155         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
29156         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
29157         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
29158         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
29159         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
29160         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
29161         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
29162         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
29163         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
29164         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
29165         with modifications.
29166         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
29167         with modifications.
29168         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
29169         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
29170         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
29171         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
29172         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
29173         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
29174         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
29175         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
29176         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
29177         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
29178         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
29179         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
29180         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
29181         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
29182         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
29183         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
29184         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
29185         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
29186         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
29187         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
29188         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
29189         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
29190         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
29191         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
29192         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
29193         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
29194         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
29195         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
29196         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
29197         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
29198         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
29199         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
29200         * tests/havelib/rpathx/rpathx.c: New file, from
29201         gettext/autoconf-lib-link.
29202         * tests/havelib/rpathx/Makefile.am: New file, from
29203         gettext/autoconf-lib-link.
29204         * tests/havelib/rpathx/configure.ac: New file, from
29205         gettext/autoconf-lib-link with modifications.
29206         * tests/havelib/rpathy/rpathy.c: New file, from
29207         gettext/autoconf-lib-link.
29208         * tests/havelib/rpathy/Makefile.am: New file, from
29209         gettext/autoconf-lib-link.
29210         * tests/havelib/rpathy/configure.ac: New file, from
29211         gettext/autoconf-lib-link with modifications.
29212         * tests/havelib/rpathz/rpathz.c: New file, from
29213         gettext/autoconf-lib-link.
29214         * tests/havelib/rpathz/Makefile.am: New file, from
29215         gettext/autoconf-lib-link.
29216         * tests/havelib/rpathz/configure.ac: New file, from
29217         gettext/autoconf-lib-link with modifications.
29218         * tests/havelib/rpathlx/usex.c: New file, from
29219         gettext/autoconf-lib-link.
29220         * tests/havelib/rpathlx/Makefile.am: New file, from
29221         gettext/autoconf-lib-link.
29222         * tests/havelib/rpathlx/configure.ac: New file, from
29223         gettext/autoconf-lib-link with modifications.
29224         * tests/havelib/rpathly/usey.c: New file, from
29225         gettext/autoconf-lib-link.
29226         * tests/havelib/rpathly/Makefile.am: New file, from
29227         gettext/autoconf-lib-link.
29228         * tests/havelib/rpathly/configure.ac: New file, from
29229         gettext/autoconf-lib-link with modifications.
29230         * tests/havelib/rpathlz/usez.c: New file, from
29231         gettext/autoconf-lib-link.
29232         * tests/havelib/rpathlz/Makefile.am: New file, from
29233         gettext/autoconf-lib-link.
29234         * tests/havelib/rpathlz/configure.ac: New file, from
29235         gettext/autoconf-lib-link with modifications.
29236         * tests/havelib/rpathlyx/usey.c: New file, from
29237         gettext/autoconf-lib-link.
29238         * tests/havelib/rpathlyx/Makefile.am: New file, from
29239         gettext/autoconf-lib-link.
29240         * tests/havelib/rpathlyx/configure.ac: New file, from
29241         gettext/autoconf-lib-link with modifications.
29242         * tests/havelib/rpathlzyx/usez.c: New file, from
29243         gettext/autoconf-lib-link.
29244         * tests/havelib/rpathlzyx/Makefile.am: New file, from
29245         gettext/autoconf-lib-link.
29246         * tests/havelib/rpathlzyx/configure.ac: New file, from
29247         gettext/autoconf-lib-link with modifications.
29248         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
29249         with modifications.
29250
29251 2010-04-02  Bruno Haible  <bruno@clisp.org>
29252
29253         gnulib-tool: Create distributed built sources also for the tests.
29254         * gnulib-tool (func_create_testdir): Also generate distributed built
29255         sources in the tests directory.
29256
29257 2010-04-02  Bruno Haible  <bruno@clisp.org>
29258
29259         gnulib-tool: Obey user's environment variables.
29260         * gnulib-tool (func_create_testdir): When creating built sources,
29261         respect the environment variables for autoconf, automake, etc. given by
29262         the user.
29263
29264 2010-04-02  Bruno Haible  <bruno@clisp.org>
29265
29266         gnulib-tool: Provide the value of --m4-base to modules.
29267         * gnulib-tool (func_import, func_create_testdir): Emit a definition
29268         of gl_m4_base.
29269
29270 2010-04-02  Eric Blake  <eblake@redhat.com>
29271
29272         maint.mk: fix some fallout
29273         * NEWS: Document the incompatible change, and its effect on cfg.mk.
29274         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
29275
29276 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29277
29278         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
29279         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
29280         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
29281         (sc_cast_of_x_alloc_return_value): Likewise.
29282         (sc_cast_of_alloca_return_value): Likewise.
29283         (sc_space_tab): Likewise.
29284         (sc_prohibit_atoi_atof): Likewise.
29285         (sc_prohibit_magic_number_exit): Likewise.
29286         (sc_error_exit_success): Likewise.
29287         (sc_file_system): Likewise.
29288         (sc_prohibit_have_config_h): Likewise.
29289         (sc_require_config_h): Likewise.
29290         (sc_prohibit_HAVE_MBRTOWC): Likewise.
29291         (sc_obsolete_symbols): Likewise.
29292         (sc_changelog): Likewise.
29293         (sc_program_name): Likewise.
29294         (sc_the_the): Likewise.
29295         (sc_trailing_blank): Likewise.
29296         (sc_two_space_separator_in_usage): Likewise.
29297         (sc_useless_cpp_parens): Likewise.
29298         (sc_GPL_version): Likewise.
29299         (sc_GFDL_version): Likewise.
29300         (sc_texinfo_acronym): Likewise.
29301         (sc_prohibit_cvs_keyword): Likewise.
29302         (sc_prohibit_stat_st_blocks): Likewise.
29303         (sc_prohibit_S_IS_definition): Likewise.
29304         (sc_redundant_const): Likewise.
29305         (sc_makefile_TAB_only_indentation): Likewise.
29306         (sc_m4_quote_check): Likewise.
29307         (sc_makefile_path_separator_check): Likewise.
29308         (sc_copyright_check): Likewise.
29309         (sc_Wundef_boolean): Likewise.
29310         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29311
29312         maint.mk: match 0 or more whitespace-before-function-call '('
29313         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
29314         that have zero or two-and-more spaces between the function name
29315         and the open parenthesis.
29316         (sc_error_message_warn_fatal): Likewise.
29317         (sc_error_message_uppercase): Likewise.
29318         (sc_error_message_period): Likewise.
29319
29320 2010-03-31  Eric Blake  <eblake@redhat.com>
29321
29322         maint.mk: check for [ as well as test
29323         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
29324         Based on a libvirt report by Matthias Bolte.
29325
29326         gnumakefile: don't squelch _version output
29327         * top/GNUmakefile (_version): Create one-shot dependency rather
29328         than using $(shell) when version must be regenerated.
29329         (_autoreconf): Run verbosely, by default.
29330
29331         sys_time: avoid compiler warnings
29332         * lib/sys_time.in.h (includes): Ensure gcc pragma is
29333         unconditional, fixing regression from 2010-03-29.
29334         Reported by Simon Josefsson.
29335
29336 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29337
29338         maint.mk: s/_header_without_use/_sc_header_without_use/
29339         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
29340         (sc_prohibit_assert_without_use): Use the new name.
29341         (sc_prohibit_close_stream_without_use): Likewise.
29342         (sc_prohibit_getopt_without_use): Likewise.
29343         (sc_prohibit_quotearg_without_use): Likewise.
29344         (sc_prohibit_quote_without_use): Likewise.
29345         (sc_prohibit_long_options_without_use): Likewise.
29346         (sc_prohibit_inttostr_without_use): Likewise.
29347         (sc_prohibit_ignore_value_without_use): Likewise.
29348         (sc_prohibit_error_without_use): Likewise.
29349         (sc_prohibit_xalloc_without_use): Likewise.
29350         (sc_prohibit_hash_without_use): Likewise.
29351         (sc_prohibit_hash_pjw_without_use): Likewise.
29352         (sc_prohibit_safe_read_without_use): Likewise.
29353         (sc_prohibit_argmatch_without_use): Likewise.
29354         (sc_prohibit_canonicalize_without_use): Likewise.
29355         (sc_prohibit_root_dev_ino_without_use): Likewise.
29356         (sc_prohibit_openat_without_use): Likewise.
29357         (sc_prohibit_c_ctype_without_use): Likewise.
29358         (sc_prohibit_signal_without_use): Likewise.
29359         (sc_prohibit_intprops_without_use): Likewise.
29360
29361 2010-03-30  Eric Blake  <eblake@redhat.com>
29362
29363         maint: improve module indicators
29364         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
29365         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
29366         columns, and avoid extra macro expansion.
29367
29368         fdopendir: work around FreeBSD bug
29369         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
29370         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
29371         * modules/dirent (Makefile.am): Substitute it.
29372         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
29373         declaration.
29374         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
29375         fix.
29376         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29377
29378 2010-03-29  Bruno Haible  <bruno@clisp.org>
29379
29380         Emit #pragma system_header after the inclusion guard, not before.
29381         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
29382         guard that spans the entire file, not before. This enables an
29383         optimization in GCC's preprocessor.
29384         * lib/ctype.in.h: Likewise.
29385         * lib/dirent.in.h: Likewise.
29386         * lib/errno.in.h: Likewise.
29387         * lib/float.in.h: Likewise.
29388         * lib/getopt.in.h: Likewise.
29389         * lib/iconv.in.h: Likewise.
29390         * lib/langinfo.in.h: Likewise.
29391         * lib/locale.in.h: Likewise.
29392         * lib/math.in.h: Likewise.
29393         * lib/netdb.in.h: Likewise.
29394         * lib/netinet_in.in.h: Likewise.
29395         * lib/pty.in.h: Likewise.
29396         * lib/sched.in.h: Likewise.
29397         * lib/se-selinux.in.h: Likewise.
29398         * lib/search.in.h: Likewise.
29399         * lib/spawn.in.h: Likewise.
29400         * lib/stdarg.in.h: Likewise.
29401         * lib/stdint.in.h: Likewise.
29402         * lib/string.in.h: Likewise.
29403         * lib/strings.in.h: Likewise.
29404         * lib/sys_file.in.h: Likewise.
29405         * lib/sys_ioctl.in.h: Likewise.
29406         * lib/sys_time.in.h: Likewise.
29407         * lib/sys_times.in.h: Likewise.
29408         * lib/sys_utsname.in.h: Likewise.
29409         * lib/sys_wait.in.h: Likewise.
29410         * lib/sysexits.in.h: Likewise.
29411         * lib/wctype.in.h: Likewise.
29412
29413 2010-03-28  James Youngman  <jay@gnu.org>
29414
29415         save-cwd: don't leak a file descriptor when the caller execs.
29416         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
29417         saved file descriptor.
29418         * modules/save-cwd (Depends-on): Depend on cloexec.
29419
29420 2010-03-29  Bruno Haible  <bruno@clisp.org>
29421
29422         Remove vestiges of fts-lgpl module.
29423         * lib/fts_.h: Assume GNULIB_FTS is 1.
29424         * lib/fts.c: Likewise.
29425         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29426
29427 2010-03-28  Bruno Haible  <bruno@clisp.org>
29428
29429         Fix definition of tests witness macro.
29430         * gnulib-tool (func_import): Fix definition of witness macro.
29431
29432 2010-03-28  Bruno Haible  <bruno@clisp.org>
29433
29434         Fix ioctl's protoype on glibc systems.
29435         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
29436         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
29437         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
29438         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
29439         signature. If not, arrange to replace the ioctl function.
29440         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
29441         REPLACE_IOCTL.
29442         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
29443         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
29444         Reported by Ludovic Courtès <ludo@gnu.org>.
29445
29446 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
29447
29448         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
29449         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
29450         made it so grep -r --include=GLOB* ... did not work.
29451
29452 2010-03-26  Jim Meyering  <meyering@redhat.com>
29453             Eric Blake  <eblake@redhat.com>
29454
29455         maint.mk: prohibit use of test's -o and -a operators
29456         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
29457
29458 2010-03-28  Bruno Haible  <bruno@clisp.org>
29459
29460         Remove unused GNULIB_XYZ macro definitions.
29461         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
29462         invocation.
29463
29464 2010-03-28  Bruno Haible  <bruno@clisp.org>
29465
29466         Mark privileged tests modules.
29467         * modules/idpriv-drop-tests (Status): New section.
29468         * modules/idpriv-droptemp-tests (Status): New section.
29469
29470 2010-03-28  Bruno Haible  <bruno@clisp.org>
29471
29472         Split C++ tests into separate tests modules.
29473         * modules/dirent-c++-tests: New file, extracted from
29474         modules/dirent-tests.
29475         * modules/dirent-tests: Depend on it.
29476         * modules/fcntl-h-c++-tests: New file, extracted from
29477         modules/fcntl-h-tests.
29478         * modules/fcntl-h-tests: Depend on it.
29479         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
29480         * modules/glob-tests: Depend on it.
29481         * modules/iconv-h-c++-tests: New file, extracted from
29482         modules/iconv-h-tests.
29483         * modules/iconv-h-tests: Depend on it.
29484         * modules/langinfo-c++-tests: New file, extracted from
29485         modules/langinfo-tests.
29486         * modules/langinfo-tests: Depend on it.
29487         * modules/locale-c++-tests: New file, extracted from
29488         modules/locale-tests.
29489         * modules/locale-tests: Depend on it.
29490         * modules/math-c++-tests: New file, extracted from modules/math-tests.
29491         * modules/math-tests: Depend on it.
29492         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
29493         * modules/pty-tests: Depend on it.
29494         * modules/search-c++-tests: New file, extracted from
29495         modules/search-tests.
29496         * modules/search-tests: Depend on it.
29497         * modules/signal-c++-tests: New file, extracted from
29498         modules/signal-tests.
29499         * modules/signal-tests: Depend on it.
29500         * modules/spawn-c++-tests: New file, extracted from
29501         modules/spawn-tests.
29502         * modules/spawn-tests: Depend on it.
29503         * modules/stdio-c++-tests: New file, extracted from
29504         modules/stdio-tests.
29505         * modules/stdio-tests: Depend on it.
29506         * modules/stdlib-c++-tests: New file, extracted from
29507         modules/stdlib-tests.
29508         * modules/stdlib-tests: Depend on it.
29509         * modules/string-c++-tests: New file, extracted from
29510         modules/string-tests.
29511         * modules/string-tests: Depend on it.
29512         * modules/sys_ioctl-c++-tests: New file, extracted from
29513         modules/sys_ioctl-tests.
29514         * modules/sys_ioctl-tests: Depend on it.
29515         * modules/sys_select-c++-tests: New file, extracted from
29516         modules/sys_select-tests.
29517         * modules/sys_select-tests: Depend on it.
29518         * modules/sys_socket-c++-tests: New file, extracted from
29519         modules/sys_socket-tests.
29520         * modules/sys_socket-tests: Depend on it.
29521         * modules/sys_stat-c++-tests: New file, extracted from
29522         modules/sys_stat-tests.
29523         * modules/sys_stat-tests: Depend on it.
29524         * modules/sys_time-c++-tests: New file, extracted from
29525         modules/sys_time-tests.
29526         * modules/sys_time-tests: Depend on it.
29527         * modules/time-c++-tests: New file, extracted from modules/time-tests.
29528         * modules/time-tests: Depend on it.
29529         * modules/unistd-c++-tests: New file, extracted from
29530         modules/unistd-tests.
29531         * modules/unistd-tests: Depend on it.
29532         * modules/wchar-c++-tests: New file, extracted from
29533         modules/wchar-tests.
29534         * modules/wchar-tests: Depend on it.
29535         * modules/wctype-c++-tests: New file, extracted from
29536         modules/wctype-tests.
29537         * modules/wctype-tests: Depend on it.
29538         Reported by Simon Josefsson.
29539
29540 2010-03-28  Bruno Haible  <bruno@clisp.org>
29541
29542         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
29543         * gnulib-tool (func_exists_module): New function, extracted from
29544         func_verify_module.
29545         (func_verify_module): Use it.
29546         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
29547         'foo' only if 'foo' exists.
29548         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
29549         module.
29550
29551 2010-03-28  Bruno Haible  <bruno@clisp.org>
29552
29553         gnulib-tool: Add support for special categories of tests.
29554         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
29555         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
29556         (func_usage): Document them.
29557         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
29558         inc_unportable_tests, inc_all_tests): New variables.
29559         (func_acceptable): Consider these variables.
29560         (func_modules_transitive_closure): Make it work when the 'Status' field
29561         consists of multiple words.
29562         (func_import): Store and restore the values of inc_cxx_tests,
29563         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
29564         inc_all_tests in gnulib-comp.m4.
29565         (func_create_testdir): Set inc_all_tests to true.
29566         * doc/gnulib.texi (Extra tests modules): New section.
29567         Suggested by Jim Meyering.
29568
29569 2010-03-28  Bruno Haible  <bruno@clisp.org>
29570
29571         ansi-c++-opt: Allow turning off the C++ build by default.
29572         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
29573         gl_CXX_CHOICE_DEFAULT_NO is defined.
29574         Requested by Eric Blake.
29575
29576 2010-03-28  Bruno Haible  <bruno@clisp.org>
29577
29578         unistd: Avoid #define replacements in C++ mode.
29579         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
29580         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
29581         setsockopt, shutdown, select): In C++, attach a warning to the function
29582         if possible, rather than #defining the symbol to a dysfunctional alias.
29583         Reported by John W. Eaton <jwe@gnu.org>.
29584
29585 2010-03-28  Bruno Haible  <bruno@clisp.org>
29586
29587         Fix link errors on mingw.
29588         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
29589         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
29590         $(LIBSOCKET).
29591         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
29592         $(LIBSOCKET).
29593
29594 2010-03-28  Bruno Haible  <bruno@clisp.org>
29595             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29596
29597         lib-ignore: Determine different options for different compilers.
29598         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
29599         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
29600         Add comments.
29601         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
29602         * NEWS: Mention the change.
29603
29604 2010-03-27  Bruno Haible  <bruno@clisp.org>
29605
29606         Remove unused GNULIB_XYZ macro definitions.
29607         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29608         * modules/fseek (configure.ac): Likewise.
29609         * modules/ioctl (configure.ac): Likewise.
29610         * modules/open (configure.ac): Likewise.
29611         * modules/stdlib-safer (configure.ac): Likewise.
29612
29613 2010-03-27  Bruno Haible  <bruno@clisp.org>
29614
29615         Add a remark about certain modules.
29616         * modules/malloc (Comment): New section.
29617         * modules/realloc (Comment): Likewise.
29618         * modules/sigpipe (Comment): Likewise.
29619
29620 2010-03-27  Bruno Haible  <bruno@clisp.org>
29621
29622         Resolve conflict between the two kinds of module indicators.
29623         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
29624         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
29625         * modules/canonicalize (configure.ac): Invoke
29626         gl_MODULE_INDICATOR_FOR_TESTS.
29627         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
29628         GNULIB_XYZ.
29629         * tests/test-dirent-c++.cc: Likewise.
29630         * tests/test-dirent-safer.c: Likewise.
29631         * tests/test-dup2.c: Likewise.
29632         * tests/test-fchdir.c: Likewise.
29633         * tests/test-fcntl-h-c++.cc: Likewise.
29634         * tests/test-getopt.c: Likewise.
29635         * tests/test-getopt.h: Likewise.
29636         * tests/test-langinfo-c++.cc: Likewise.
29637         * tests/test-locale-c++.cc: Likewise.
29638         * tests/test-math-c++.cc: Likewise.
29639         * tests/test-pty-c++.cc: Likewise.
29640         * tests/test-search-c++.cc: Likewise.
29641         * tests/test-signal-c++.cc: Likewise.
29642         * tests/test-spawn-c++.cc: Likewise.
29643         * tests/test-stdio-c++.cc: Likewise.
29644         * tests/test-stdlib-c++.cc: Likewise.
29645         * tests/test-string-c++.cc: Likewise.
29646         * tests/test-sys_ioctl-c++.cc: Likewise.
29647         * tests/test-sys_select-c++.cc: Likewise.
29648         * tests/test-sys_socket-c++.cc: Likewise.
29649         * tests/test-sys_stat-c++.cc: Likewise.
29650         * tests/test-sys_time-c++.cc: Likewise.
29651         * tests/test-time-c++.cc: Likewise.
29652         * tests/test-unistd-c++.cc: Likewise.
29653         * tests/test-wchar-c++.cc: Likewise.
29654         * tests/uninorm/test-u8-nfc.c: Likewise.
29655         * tests/uninorm/test-u8-nfd.c: Likewise.
29656         * tests/uninorm/test-u8-nfkc.c: Likewise.
29657         * tests/uninorm/test-u8-nfkd.c: Likewise.
29658         * tests/uninorm/test-u16-nfc.c: Likewise.
29659         * tests/uninorm/test-u16-nfd.c: Likewise.
29660         * tests/uninorm/test-u16-nfkc.c: Likewise.
29661         * tests/uninorm/test-u16-nfkd.c: Likewise.
29662         * tests/uninorm/test-u32-nfc.c: Likewise.
29663         * tests/uninorm/test-u32-nfc-big.c: Likewise.
29664         * tests/uninorm/test-u32-nfd.c: Likewise.
29665         * tests/uninorm/test-u32-nfd-big.c: Likewise.
29666         * tests/uninorm/test-u32-nfkc.c: Likewise.
29667         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
29668         * tests/uninorm/test-u32-nfkd.c: Likewise.
29669         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
29670         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29671
29672 2010-03-27  Bruno Haible  <bruno@clisp.org>
29673
29674         Distinguish two kinds of module indicators.
29675         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
29676         gl_MODULE_INDICATOR.
29677         (gl_MODULE_INDICATOR): New macro.
29678         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29679         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
29680         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29681         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29682         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29683         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29684         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29685         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29686         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29687         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29688         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29689         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29690         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29691         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29692         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29693         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29694         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29695         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29696         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29697         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29698         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29699         * modules/cloexec (configure.ac): Likewise.
29700         * modules/getopt-gnu (configure.ac): Likewise.
29701         * modules/uninorm/u8-normalize (configure.ac): Likewise.
29702         * modules/uninorm/u16-normalize (configure.ac): Likewise.
29703         * modules/uninorm/u32-normalize (configure.ac): Likewise.
29704         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
29705
29706 2010-03-27  Bruno Haible  <bruno@clisp.org>
29707
29708         New module description field 'Comment'.
29709         * gnulib-tool: New option --extract-comment.
29710         (func_usage): Document it.
29711         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
29712         (func_get_comment): New function.
29713         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
29714
29715 2010-03-27  Bruno Haible  <bruno@clisp.org>
29716
29717         Addendum to 2010-02-07 commit.
29718         * gnulib-tool (func_usage): Document --extract-applicability option.
29719
29720 2010-03-27  Bruno Haible  <bruno@clisp.org>
29721
29722         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
29723         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
29724         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
29725         rather than link errors.
29726
29727 2010-03-27  Bruno Haible  <bruno@clisp.org>
29728
29729         Avoid side effects from tests-related modules on the compilation of lib.
29730         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
29731         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
29732         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
29733         parameter. Emit into AM_CPPFLAGS a definition of the designated C
29734         macro.
29735         (func_import): Define a witness macro. Assign it a value that depends
29736         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
29737         tests-related modules.
29738         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
29739         Reported by Jim Meyering.
29740
29741 2010-03-27  Bruno Haible  <bruno@clisp.org>
29742
29743         Factorize common .m4 code.
29744         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
29745         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
29746         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
29747         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
29748         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29749         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
29750         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
29751         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29752         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29753         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29754         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
29755         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29756         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29757         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29758         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29759         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
29760         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29761         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29762         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29763         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
29764         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
29765         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29766         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29767         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29768         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29769         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29770         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
29771         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
29772         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
29773         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29774         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29775         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29776
29777 2010-03-27  Bruno Haible  <bruno@clisp.org>
29778
29779         Fix a compilation error on Cygwin with g++ >= 4.3.
29780         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
29781         if it is undefined or if we alias it to chmod.
29782         (lstat): Don't warn about the use of this function if it is undefined
29783         or if we alias it to stat.
29784         Reported by Simon Josefsson.
29785
29786 2010-03-27  Bruno Haible  <bruno@clisp.org>
29787
29788         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
29789         * modules/getlogin (configure.ac): Update.
29790
29791         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
29792         * modules/getlogin_r (configure.ac): Update.
29793
29794         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
29795         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
29796         * modules/inet_ntop (configure.ac): Update.
29797
29798         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
29799         * modules/inet_pton (configure.ac): Update.
29800
29801         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
29802         * modules/mbslen (configure.ac): Update.
29803
29804         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
29805         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
29806         * modules/forkpty (configure.ac): Update.
29807         * modules/openpty (configure.ac): Update.
29808
29809 2010-03-26  Simon Josefsson  <simon@josefsson.org>
29810
29811         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
29812         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
29813
29814 2010-03-25  Eric Blake  <eblake@redhat.com>
29815
29816         maint: use pragma consistently across replacement headers
29817         * lib/ctype.in.h (system_header): Hoist for consistent placement.
29818         * lib/dirent.in.h (system_header): Likewise.
29819         * lib/errno.in.h (system_header): Likewise.
29820         * lib/float.in.h (system_header): Likewise.
29821         * lib/getopt.in.h (system_header): Likewise.
29822         * lib/iconv.in.h (system_header): Likewise.
29823         * lib/inttypes.in.h (system_header): Likewise.
29824         * lib/langinfo.in.h (system_header): Likewise.
29825         * lib/locale.in.h (system_header): Likewise.
29826         * lib/math.in.h (system_header): Likewise.
29827         * lib/netdb.in.h (system_header): Likewise.
29828         * lib/netinet_in.in.h (system_header): Likewise.
29829         * lib/pty.in.h (system_header): Likewise.
29830         * lib/sched.in.h (system_header): Likewise.
29831         * lib/se-selinux.in.h (system_header): Likewise.
29832         * lib/search.in.h (system_header): Likewise.
29833         * lib/spawn.in.h (system_header): Likewise.
29834         * lib/stdarg.in.h (system_header): Likewise.
29835         * lib/stdint.in.h (system_header): Likewise.
29836         * lib/string.in.h (system_header): Likewise.
29837         * lib/strings.in.h (system_header): Likewise.
29838         * lib/sys_file.in.h (system_header): Likewise.
29839         * lib/sys_ioctl.in.h (system_header): Likewise.
29840         * lib/sys_socket.in.h (system_header): Likewise.
29841         * lib/sys_times.in.h (system_header): Likewise.
29842         * lib/sys_utsname.in.h (system_header): Likewise.
29843         * lib/sys_wait.in.h (system_header): Likewise.
29844         * lib/sysexits.in.h (system_header): Likewise.
29845         * lib/unistd.in.h (system_header): Likewise.
29846         * lib/wctype.in.h (system_header): Likewise.
29847
29848         arpa/inet: fix mingw compilation warning
29849         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
29850         Reported by Matthew Bolte.
29851
29852 2010-03-25  Bruno Haible  <bruno@clisp.org>
29853
29854         Avoid collision between gnulib wrapper and libintl wrapper.
29855         * lib/printf.c (printf): Don't define if a printf wrapper is already
29856         defined in intl/printf.c.
29857         Reported by Michel Boaventura <michel@michelboaventura.com>.
29858
29859 2010-03-25  Bruno Haible  <bruno@clisp.org>
29860
29861         Use ANSI C.
29862         * lib/readutmp.h (getutent): Provide ANSI C prototype.
29863
29864 2010-03-25  Bruno Haible  <bruno@clisp.org>
29865
29866         Minor formatting changes.
29867         * lib/acosl.c: Insert space before function argument list.
29868         * lib/argz.c: Likewise.
29869         * lib/asinl.c: Likewise.
29870         * lib/expl.c: Likewise.
29871         * lib/gen-uni-tables.c: Likewise.
29872         * lib/gettext.h: Likewise.
29873         * lib/glthread/lock.h: Likewise.
29874         * lib/tanl.c: Likewise.
29875         * lib/uniname/uniname.c: Likewise.
29876         * tests/test-idpriv-drop.c: Likewise.
29877         * tests/test-idpriv-droptemp.c: Likewise.
29878         * tests/test-lock.c: Likewise.
29879         * tests/test-tls.c: Likewise.
29880         * lib/argp-help.c: Insert space before function-like macro argument
29881         list.
29882         * lib/memcmp.c: Likewise.
29883         * tests/test-base64.c: Likewise.
29884         * lib/localename.c: Insert space before sizeof's argument list.
29885         * lib/safe-alloc.h: Likewise.
29886         * lib/file-set.h: Insert space before macro argument list.
29887         * tests/test-argp.c: Likewise.
29888         * lib/argp-namefrob.h: Insert space before function parameter list.
29889         * lib/getaddrinfo.c: Likewise.
29890         * lib/netdb.in.h: Likewise.
29891         * lib/parse-duration.h: Likewise.
29892         * lib/parse-duration.c: Likewise.
29893         * lib/poll.c: Likewise.
29894         * lib/select.c: Likewise.
29895         * lib/trim.h: Likewise.
29896         * tests/test-usleep.c: Likewise.
29897         * lib/ldexpl.c: Insert space before function parameter list and before
29898         function argument list.
29899         * lib/logl.c: Likewise.
29900         * lib/sqrtl.c: Likewise.
29901         * lib/trim.c: Likewise.
29902         * lib/cosl.c: Use GNU style indentation. Insert space before function
29903         argument list.
29904         * lib/sinl.c: Likewise.
29905         * lib/tsearch.c: Insert space after 'for'.
29906         Reported by Jim Meyering.
29907
29908 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
29909
29910         * maint.mk (sc_Wundef_boolean): Check for the presence of the
29911         config header before grepping, as it's not present before
29912         autoreconf/configure are run.  Reported by Simon Josefsson.
29913
29914 2010-03-23  Bruno Haible  <bruno@clisp.org>
29915
29916         pt_chown: Make it work with automake < 1.11.
29917         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
29918         Reported by Simon Josefsson.
29919
29920 2010-03-23  Bruno Haible  <bruno@clisp.org>
29921
29922         pt_chown: Don't depend on GPLed modules.
29923         * lib/pt_chown.c: Don't include idpriv.h.
29924         (main): Don't drop privileges.
29925         * modules/pt_chown (Depends-on): Remove idpriv-drop.
29926         Reported by Simon Josefsson.
29927
29928 2010-03-24  Simon Josefsson  <simon@josefsson.org>
29929
29930         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
29931         suggestions from karl@freefriends.org (Karl Berry).
29932
29933 2010-03-22  Eric Blake  <eblake@redhat.com>
29934
29935         gethostname: further tweaks
29936         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
29937         are overriding gethostname.
29938         Suggested by Bruno Haible.
29939
29940 2010-03-21  Bruno Haible  <bruno@clisp.org>
29941
29942         Fix comments.
29943         * lib/forkpty.c (rpl_forkpty): Fix comment.
29944         * lib/openpty.c (rpl_openpty): Likewise.
29945         Reported by Eric Blake.
29946
29947 2010-03-22  Eric Blake  <eblake@redhat.com>
29948
29949         gethostname: fix build on mingw
29950         * lib/unistd.in.h (includes): Work around fact that mingw
29951         <winsock2.h> re-includes <unistd.h>, by avoiding any
29952         redeclarations if we are being included by <winsock2.h>.
29953         Reported by Matthias Bolte.
29954
29955 2010-03-21  Bruno Haible  <bruno@clisp.org>
29956
29957         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29958         * lib/forkpty.c (forkpty): New replacement function, from glibc with
29959         modifications.
29960         * lib/pty.in.h (forkpty): Update declaration. Add comments.
29961         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
29962         provide the replacement.
29963         * modules/forkpty (Depends-on): Add openpty, login_tty.
29964         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
29965         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
29966         * doc/glibc-functions/forkpty.texi: More supported platforms.
29967         * config/srclist.txt: Add forkpty.c (commented).
29968
29969 2010-03-21  Bruno Haible  <bruno@clisp.org>
29970
29971         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
29972         (Makefile.am): Verify that PTY_LIB is defined.
29973
29974         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
29975
29976 2010-03-21  Bruno Haible  <bruno@clisp.org>
29977
29978         Tests for module 'login_tty'.
29979         * modules/login_tty-tests: New file.
29980         * tests/test-login_tty.c: New file.
29981
29982         New module 'login_tty'.
29983         * lib/login_tty.c: New file.
29984         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
29985         * modules/login_tty: New file.
29986         * doc/glibc-functions/login_tty.texi: Mention the new module.
29987
29988 2010-03-21  Bruno Haible  <bruno@clisp.org>
29989
29990         login_tty: Documentation.
29991         * doc/glibc-functions/login_tty.texi: New file.
29992         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
29993
29994 2010-03-21  Bruno Haible  <bruno@clisp.org>
29995
29996         pty: Consistent macro naming.
29997         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
29998         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
29999         * modules/pty (configure.ac): Update.
30000
30001 2010-03-21  Bruno Haible  <bruno@clisp.org>
30002
30003         Tests for openpty: Make stricter.
30004         * tests/test-openpty.c (main): Add test of canonical processing and
30005         erase.
30006         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
30007
30008         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30009         * lib/openpty.c (openpty): New replacement function.
30010         * lib/pty.in.h: Include <termios.h>.
30011         (openpty): Update declaration. Add comments.
30012         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
30013         is not declared, arrange to provide the replacement. Check for _getpty
30014         and posix_openpt.
30015         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
30016         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
30017         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
30018         * modules/pty-tests (test_pty_c___LDADD): New variable.
30019         * doc/glibc-functions/openpty.texi: More supported platforms.
30020
30021 2010-03-21  Bruno Haible  <bruno@clisp.org>
30022
30023         setenv: Tweaks.
30024         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
30025         the test program.
30026         * doc/posix-functions/setenv.texi: Update platforms list.
30027
30028 2010-03-21  Bruno Haible  <bruno@clisp.org>
30029
30030         New module 'unlockpt'.
30031         * lib/unlockpt.c: New file, from glibc with modifications.
30032         * m4/unlockpt.m4: New file.
30033         * modules/unlockpt: New file.
30034         * lib/stdlib.in.h (unlockpt): New declaration.
30035         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
30036         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
30037         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
30038         HAVE_UNLOCKPT.
30039         * doc/posix-functions/unlockpt.texi: Mention the new module.
30040         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
30041         * config/srclist.txt: Add unlockpt.c (commented).
30042
30043 2010-03-21  Jim Meyering  <meyering@redhat.com>
30044
30045         maint.mk: prohibit inclusion of "intprops.h" without use
30046         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
30047
30048 2010-03-21  Bruno Haible  <bruno@clisp.org>
30049
30050         New module 'grantpt'.
30051         * lib/grantpt.c: New file, from glibc with modifications.
30052         * m4/grantpt.m4: New file.
30053         * modules/grantpt: New file.
30054         * lib/stdlib.in.h (grantpt): New declaration.
30055         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
30056         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
30057         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
30058         HAVE_GRANTPT.
30059         * doc/posix-functions/grantpt.texi: Mention the new module.
30060         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
30061         * config/srclist.txt: Add grantpt.c (commented).
30062
30063 2010-03-21  Bruno Haible  <bruno@clisp.org>
30064
30065         New module 'pt_chown'.
30066         * lib/pt_chown.c: New file, from glibc with modifications.
30067         * lib/pty-private.h: New file, from glibc with modifications.
30068         * modules/pt_chown: New file.
30069         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
30070
30071 2010-03-21  Bruno Haible  <bruno@clisp.org>
30072
30073         Tests for module 'ptsname'.
30074         * modules/ptsname-tests: New file.
30075         * tests/test-ptsname.c: New file.
30076
30077         New module 'ptsname'.
30078         * lib/ptsname.c: New file, from glibc with modifications.
30079         * m4/ptsname.m4: New file.
30080         * modules/ptsname: New file.
30081         * lib/stdlib.in.h (ptsname): New declaration.
30082         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
30083         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
30084         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
30085         HAVE_PTSNAME.
30086         * doc/posix-functions/ptsname.texi: Mention the new module.
30087         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
30088         * config/srclist.txt: Add ptsname.c (commented).
30089
30090 2010-03-21  Bruno Haible  <bruno@clisp.org>
30091
30092         Tests for module 'ttyname_r'.
30093         * modules/ttyname_r-tests: New file.
30094         * tests/test-ttyname_r.c: New file.
30095
30096         New module 'ttyname_r'.
30097         * lib/ttyname_r.c: New file.
30098         * m4/ttyname_r.m4: New file.
30099         * modules/ttyname_r: New file.
30100         * lib/unistd.in.h (ttyname_r): New declaration.
30101         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
30102         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
30103         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
30104         HAVE_TTYNAME_R.
30105         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
30106         * doc/posix-functions/ttyname_r.texi: Mention the new module.
30107
30108 2010-03-20  Bruno Haible  <bruno@clisp.org>
30109
30110         signal: Undefine macro definitions in C++ mode.
30111         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
30112         sigfillset): Undefine macro definitions from the system header in C++
30113         mode.
30114         Reported by John W. Eaton <jwe@gnu.org>.
30115
30116 2010-03-20  Bruno Haible  <bruno@clisp.org>
30117
30118         Ensure no #include statements inside extern "C" { ... }.
30119         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
30120         contain #include statements.
30121         * lib/time.in.h: Likewise.
30122
30123 2010-03-20  Bruno Haible  <bruno@clisp.org>
30124
30125         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
30126         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
30127         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
30128         Reported by John W. Eaton <jwe@gnu.org>.
30129
30130 2010-03-20  Bruno Haible  <bruno@clisp.org>
30131
30132         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
30133         Reported by Jim Meyering.
30134
30135 2010-03-20  Bruno Haible  <bruno@clisp.org>
30136
30137         pipe: Set errno upon failure.
30138         * lib/pipe.h: Specify that when -1 is returned, errno is set.
30139         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
30140         errno value in error message.
30141
30142 2010-03-20  Bruno Haible  <bruno@clisp.org>
30143             Jim Meyering  <meyering@redhat.com>
30144
30145         lchown: Avoid "unused variable" warning.
30146         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
30147
30148 2010-03-20  Bruno Haible  <bruno@clisp.org>
30149
30150         Work around unlink() bug on MacOS X 10.5.6.
30151         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
30152         attempting to unlink a parent directory.
30153         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
30154         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
30155         activate for the replacement function.
30156         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
30157
30158 2010-03-20  Bruno Haible  <bruno@clisp.org>
30159
30160         Fix link errors on Solaris 8.
30161         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
30162         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
30163
30164 2010-03-19  Jim Meyering  <meyering@redhat.com>
30165
30166         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
30167         The _LIBC implementation of build_range_exp correctly honors the
30168         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
30169         However, the non-_LIBC implementation would ignore that syntax-bit
30170         flag and return REG_ERANGE unconditionally.
30171         This change makes it honor that flag.
30172         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
30173         Make two pointer parameters "const".
30174         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
30175         (parse_bracket_exp): Update caller.
30176
30177         regex.m4: correct the reversed range endpoint ([b-a]) test
30178         * m4/regex.m4: When requiring that [b-a] evoke failure,
30179         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
30180         test pass once again for x86-based systems.
30181
30182 2010-03-19  Bruno Haible  <bruno@clisp.org>
30183
30184         scandir: Fix link error on Solaris 8.
30185         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
30186         macros.
30187
30188 2010-03-19  Bruno Haible  <bruno@clisp.org>
30189
30190         getusershell: Fix documentation.
30191         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
30192         module.
30193         * doc/glibc-functions/setusershell.texi: Likewise.
30194
30195         getusershell: Provide declaration, missing on Solaris 9.
30196         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
30197         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
30198         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
30199         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
30200         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30201         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
30202         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
30203         HAVE_GETUSERSHELL.
30204         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
30205
30206 2010-03-19  Bruno Haible  <bruno@clisp.org>
30207
30208         wctype: Provide iswblank function.
30209         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
30210         exists and is fine.
30211         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
30212         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
30213         * tests/test-wctype.c (main): Re-enable the iswblank tests.
30214         * doc/posix-functions/iswblank.texi: Update.
30215
30216 2010-03-19  Bruno Haible  <bruno@clisp.org>
30217
30218         Tests of module 'pty' in C++ mode.
30219         * modules/pty-tests: New file.
30220         * tests/test-pty-c++.cc: New file.
30221         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30222
30223 2010-03-19  Eric Blake  <eblake@redhat.com>
30224
30225         logb: fix documentation
30226         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
30227         1.5 declaration bug.
30228
30229         forkpty, openpty: prefer glibc's const-safe prototype
30230         * lib/forkpty.c (rpl_forkpty): New file.
30231         * lib/openpty.c (rpl_openpty): Likewise.
30232         * modules/forkpty (Files): Distribute it.
30233         * modules/openpty (Files): Likewise.
30234         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
30235         check...
30236         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
30237         replacement for for non-const BSD signature.
30238         * modules/pty (Makefile.am): Substitute witnesses.
30239         * lib/pty.in.h (forkpty, openpty): Declare replacements.
30240         * tests/test-forkpty.c: Update signature check.
30241         * tests/test-openpty.c: Likewise.
30242         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
30243         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30244
30245         forkpty, openpty: split functions into new modules
30246         * modules/pty (Makefile.am): Substitute new witnesses.
30247         (Libraries): Move library detection...
30248         * modules/forkpty: ...into new module.
30249         * modules/openpty: Another new module.
30250         * modules/pty-tests: Rename and split...
30251         * modules/forkpty-tests: ...to this...
30252         * modules/openpty-tests: ...and this.
30253         * tests/test-pty.c: Rename and split...
30254         * tests/test-forkpty.c: ...to this...
30255         * tests/test-openpty.c: ...and this.
30256         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
30257         (gl_PTY): Split library searching...
30258         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
30259         (gl_FORKPTY, gl_OPENPTY): New macros.
30260         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
30261         * NEWS: Mention the split.
30262         * MODULES.html.sh (Misc): Document the modules.
30263         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
30264         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30265
30266         pty: improve replacement header
30267         * lib/pty.in.h: New file.
30268         * modules/pty (Files): Ship it.
30269         (Makefile.am): Always build replacement.
30270         * m4/pty.m4: Rename...
30271         * m4/pty_h.m4: ...to this.
30272         (gl_PTY): Modernize setting of witness macros; update check of
30273         forkpty to take proper advantage of cache.
30274         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
30275
30276         getopt: avoid compiler warning
30277         * lib/getopt.c (attribute_hidden): Remove unused macro.
30278
30279 2010-03-18  Bruno Haible  <bruno@clisp.org>
30280
30281         Fix link errors on Solaris 8.
30282         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
30283         * modules/search-tests (test_search_c___LDADD): Likewise.
30284         * modules/signal-tests (test_signal_c___LDADD): Likewise.
30285         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
30286         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
30287         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
30288         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
30289         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
30290         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
30291
30292 2010-03-18  Bruno Haible  <bruno@clisp.org>
30293
30294         Fix bug introduced on 2010-03-14.
30295         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
30296         (gl_SPAWN_H): Require it.
30297         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
30298         Reported by Simon Josefsson.
30299
30300 2010-03-18  Bruno Haible  <bruno@clisp.org>
30301
30302         Fix typo introduced on 2009-12-31.
30303         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
30304         posix_spawn_file_actions_adddup2.
30305
30306 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
30307         and Eric Blake  <eblake@redhat.com>
30308
30309         test-vc-list-files-git: make more robust
30310         * tests/test-vc-list-files-git.sh: Unset problematic environment
30311         variables.  Chain commands together.
30312
30313 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
30314
30315         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
30316         `AC_CHECK_DECL' invocation.
30317
30318 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
30319
30320         * lib/inttostr.c (inttostr): Make sure the invocation of verify
30321         appears before executable statements. Suggested by Petr Sumbera
30322         <Petr.Sumbera@Sun.COM>.
30323
30324 2010-03-14  Bruno Haible  <bruno@clisp.org>
30325
30326         * tests/test-flock.c (test_exclusive): Comment out a test that causes
30327         portability problems. Instead use a simpler test.
30328         (main): Check that invalid arguments are rejected only on Linux.
30329
30330 2010-03-14  Bruno Haible  <bruno@clisp.org>
30331
30332         Fix bug introduced on 2009-12-31.
30333         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
30334         gl_PREREQ_SYS_H_WINSOCK2 always.
30335         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
30336         SYS_SOCKET_H variable.
30337         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
30338         Update comments.
30339         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
30340         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30341         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30342         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30343         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
30344
30345 2010-03-14  Bruno Haible  <bruno@clisp.org>
30346
30347         Fix values returned by sinl, cosl.
30348         * lib/trigl.h: Add specification comments.
30349         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
30350         that combines the values from the precomputed table with the values of
30351         the Chebyshev polynomials.
30352
30353 2010-03-14  Bruno Haible  <bruno@clisp.org>
30354
30355         Fix compilation error when modules 'posix_spawn[p]' are not used.
30356         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
30357         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
30358
30359 2010-03-14  Bruno Haible  <bruno@clisp.org>
30360
30361         Fix compilation error on mingw when module 'time_r' is not used.
30362         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
30363         is 1.
30364         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
30365         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30366         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
30367         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
30368
30369 2010-03-14  Bruno Haible  <bruno@clisp.org>
30370
30371         Fix compilation error with Sun C.
30372         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
30373         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
30374         instead of GCC specific ULONG_LONG_MAX.
30375         * lib/xstrtoll.c: Likewise.
30376         * lib/xstrtoull.c: Likewise.
30377
30378 2010-03-13  Bruno Haible  <bruno@clisp.org>
30379
30380         Allow the user to disable C++ code and tests.
30381         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
30382         (gl_PROG_ANSI_CXX): Require it.
30383
30384 2010-03-13  Bruno Haible  <bruno@clisp.org>
30385
30386         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
30387         cases.
30388
30389 2010-03-13  Bruno Haible  <bruno@clisp.org>
30390
30391         Test that gnulib does not break the standard C++ headers.
30392         * tests/test-locale-c++2.cc: New file.
30393         * modules/locale-tests (Files): Add it.
30394         (Makefile.am): Compile it for test-locale-c++.
30395         * tests/test-math-c++2.cc: New file.
30396         * modules/math-tests (Files): Add it.
30397         (Makefile.am): Compile it for test-math-c++.
30398         * tests/test-signal-c++2.cc: New file.
30399         * modules/signal-tests (Files): Add it.
30400         (Makefile.am): Compile it for test-signal-c++.
30401         * tests/test-stdio-c++2.cc: New file.
30402         * modules/stdio-tests (Files): Add it.
30403         (Makefile.am): Compile it for test-stdio-c++.
30404         * tests/test-stdlib-c++2.cc: New file.
30405         * modules/stdlib-tests (Files): Add it.
30406         (Makefile.am): Compile it for test-stdlib-c++.
30407         * tests/test-string-c++2.cc: New file.
30408         * modules/string-tests (Files): Add it.
30409         (Makefile.am): Compile it for test-string-c++.
30410         * tests/test-time-c++2.cc: New file.
30411         * modules/time-tests (Files): Add it.
30412         (Makefile.am): Compile it for test-time-c++.
30413         Reported by John W. Eaton <jwe@gnu.org>.
30414
30415 2010-03-13  Bruno Haible  <bruno@clisp.org>
30416
30417         * gnulib-tool (func_usage): Clarify which options are available for
30418         --create-testdir and --create-megatestdir.
30419
30420 2010-03-13  Bruno Haible  <bruno@clisp.org>
30421
30422         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
30423         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
30424         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
30425         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
30426         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
30427         when appropriate.
30428         Reported by Jim Meyering.
30429
30430 2010-03-12  Simon Josefsson  <simon@josefsson.org>
30431
30432         * gnulib-tool (func_import): Explain origin of code.
30433
30434 2010-03-12  Bruno Haible  <bruno@clisp.org>
30435
30436         Fix problem with automake's definition of CXXLINK.
30437         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
30438         Reported by Simon Josefsson and Ludovic Courtès.
30439
30440 2010-03-12  Bruno Haible  <bruno@clisp.org>
30441
30442         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
30443         stable releases.
30444
30445 2010-03-11  Bruno Haible  <bruno@clisp.org>
30446
30447         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
30448         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
30449         whether the system provides one variant or multiple variants of the
30450         function.
30451         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
30452         C++ compilers.
30453         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
30454         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
30455         Reported by Jim Meyering.
30456
30457 2010-03-09  Simon Josefsson  <simon@josefsson.org>
30458
30459         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
30460
30461 2010-03-08  Bruno Haible  <bruno@clisp.org>
30462
30463         gnulib-tool: Add support for --libtool in --create-testdir.
30464         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
30465         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
30466
30467 2010-03-08  Eric Blake  <eblake@redhat.com>
30468
30469         gnulib-tool.texi: mention possibility of git submodule
30470         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
30471         submodules.
30472         * doc/.gitignore: Ignore another generated file.
30473
30474 2010-03-08  Karl Berry  <karl@gnu.org>
30475
30476         * doc/gnulib-tool.texi (VCS Issues): Mention third option
30477         of committing gnulib files while skipping others.
30478
30479 2010-03-07  Bruno Haible  <bruno@clisp.org>
30480
30481         Tests of module 'wctype' in C++ mode.
30482         * tests/test-wctype-c++.cc: New file.
30483         * modules/wctype-tests (Files): Add it and tests/signature.h.
30484         (Depends-on): Add ansi-c++-opt.
30485         (Makefile.am): Arrange to compile and run test-wctype-c++.
30486
30487         Tests of module 'wchar' in C++ mode.
30488         * tests/test-wchar-c++.cc: New file.
30489         * modules/wchar-tests (Files): Add it and tests/signature.h.
30490         (Depends-on): Add ansi-c++-opt.
30491         (Makefile.am): Arrange to compile and run test-wchar-c++.
30492         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
30493         gl_MODULE_INDICATOR.
30494
30495         Tests of module 'unistd' in C++ mode.
30496         * tests/test-unistd-c++.cc: New file.
30497         * modules/unistd-tests (Files): Add it and tests/signature.h.
30498         (Depends-on): Add ansi-c++-opt.
30499         (Makefile.am): Arrange to compile and run test-unistd-c++.
30500         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
30501         gl_MODULE_INDICATOR.
30502
30503         Tests of module 'time' in C++ mode.
30504         * tests/test-time-c++.cc: New file.
30505         * modules/time-tests (Files): Add it and tests/signature.h.
30506         (Depends-on): Add ansi-c++-opt.
30507         (Makefile.am): Arrange to compile and run test-time-c++.
30508         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30509
30510         Tests of module 'sys_time' in C++ mode.
30511         * tests/test-sys_time-c++.cc: New file.
30512         * modules/sys_time-tests (Files): Add it and tests/signature.h.
30513         (Depends-on): Add ansi-c++-opt.
30514         (Makefile.am): Arrange to compile and run test-sys_time-c++.
30515         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
30516         gl_MODULE_INDICATOR.
30517
30518         Tests of module 'sys_stat' in C++ mode.
30519         * tests/test-sys_stat-c++.cc: New file.
30520         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
30521         (Depends-on): Add ansi-c++-opt.
30522         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
30523         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
30524         gl_MODULE_INDICATOR.
30525
30526         Tests of module 'sys_socket' in C++ mode.
30527         * tests/test-sys_socket-c++.cc: New file.
30528         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
30529         (Depends-on): Add ansi-c++-opt.
30530         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
30531         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
30532         gl_MODULE_INDICATOR.
30533
30534         Tests of module 'sys_select' in C++ mode.
30535         * tests/test-sys_select-c++.cc: New file.
30536         * modules/sys_select-tests (Files): Add it and tests/signature.h.
30537         (Depends-on): Add ansi-c++-opt.
30538         (Makefile.am): Arrange to compile and run test-sys_select-c++.
30539         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
30540         gl_MODULE_INDICATOR.
30541
30542         Tests of module 'sys_ioctl' in C++ mode.
30543         * tests/test-sys_ioctl-c++.cc: New file.
30544         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
30545         (Depends-on): Add ansi-c++-opt.
30546         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
30547         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
30548         gl_MODULE_INDICATOR.
30549
30550         Tests of module 'string' in C++ mode.
30551         * tests/test-string-c++.cc: New file.
30552         * modules/string-tests (Files): Add it and tests/signature.h.
30553         (Depends-on): Add ansi-c++-opt.
30554         (Makefile.am): Arrange to compile and run test-string-c++.
30555         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
30556         gl_MODULE_INDICATOR.
30557
30558         Tests of module 'stdlib' in C++ mode.
30559         * tests/test-stdlib-c++.cc: New file.
30560         * modules/stdlib-tests (Files): Add it and tests/signature.h.
30561         (Depends-on): Add ansi-c++-opt.
30562         (Makefile.am): Arrange to compile and run test-stdlib-c++.
30563         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
30564         gl_MODULE_INDICATOR.
30565
30566         Tests of module 'stdio' in C++ mode.
30567         * tests/test-stdio-c++.cc: New file.
30568         * modules/stdio-tests (Files): Add it and tests/signature.h.
30569         (Depends-on): Add ansi-c++-opt.
30570         (Makefile.am): Arrange to compile and run test-stdio-c++.
30571         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
30572         gl_MODULE_INDICATOR.
30573
30574         Tests of module 'spawn' in C++ mode.
30575         * tests/test-spawn-c++.cc: New file.
30576         * modules/spawn-tests (Files): Add it and tests/signature.h.
30577         (Depends-on): Add ansi-c++-opt.
30578         (Makefile.am): Arrange to compile and run test-spawn-c++.
30579         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
30580         gl_MODULE_INDICATOR.
30581
30582         Tests of module 'signal' in C++ mode.
30583         * tests/test-signal-c++.cc: New file.
30584         * modules/signal-tests (Files): Add it and tests/signature.h.
30585         (Depends-on): Add ansi-c++-opt.
30586         (Makefile.am): Arrange to compile and run test-signal-c++.
30587         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
30588         gl_MODULE_INDICATOR.
30589
30590         Tests of module 'search' in C++ mode.
30591         * tests/test-search-c++.cc: New file.
30592         * modules/search-tests (Files): Add it and tests/signature.h.
30593         (Depends-on): Add ansi-c++-opt.
30594         (Makefile.am): Arrange to compile and run test-search-c++.
30595         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
30596         gl_MODULE_INDICATOR.
30597
30598         Tests of module 'math' in C++ mode.
30599         * tests/test-math-c++.cc: New file.
30600         * modules/math-tests (Files): Add it and tests/signature.h.
30601         (Depends-on): Add ansi-c++-opt.
30602         (Makefile.am): Arrange to compile and run test-math-c++.
30603         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30604
30605         Tests of module 'locale' in C++ mode.
30606         * tests/test-locale-c++.cc: New file.
30607         * modules/locale-tests (Files): Add it and tests/signature.h.
30608         (Depends-on): Add ansi-c++-opt.
30609         (Makefile.am): Arrange to compile and run test-locale-c++.
30610         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
30611         gl_MODULE_INDICATOR.
30612
30613         Tests of module 'langinfo' in C++ mode.
30614         * tests/test-langinfo-c++.cc: New file.
30615         * modules/langinfo-tests (Files): Add it and tests/signature.h.
30616         (Depends-on): Add ansi-c++-opt.
30617         (Makefile.am): Arrange to compile and run test-langinfo-c++.
30618         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
30619         gl_MODULE_INDICATOR.
30620
30621         Tests of module 'iconv-h' in C++ mode.
30622         * tests/test-iconv-h-c++.cc: New file.
30623         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
30624         (Depends-on): Add ansi-c++-opt.
30625         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
30626
30627         Tests of module 'glob' in C++ mode.
30628         * tests/test-glob-c++.cc: New file.
30629         * modules/glob-tests (Files): Add it.
30630         (Depends-on): Add ansi-c++-opt.
30631         (Makefile.am): Arrange to compile and run test-glob-c++.
30632
30633         Tests of module 'fcntl-h' in C++ mode.
30634         * tests/test-fcntl-h-c++.cc: New file.
30635         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
30636         (Depends-on): Add ansi-c++-opt.
30637         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
30638         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
30639         gl_MODULE_INDICATOR.
30640
30641         Tests of module 'dirent' in C++ mode.
30642         * tests/test-dirent-c++.cc: New file.
30643         * modules/dirent-tests (Files): Add it and tests/signature.h.
30644         (Depends-on): Add ansi-c++-opt.
30645         (Makefile.am): Arrange to compile and run test-dirent-c++.
30646         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
30647         gl_MODULE_INDICATOR.
30648
30649         New module 'ansi-c++-opt'.
30650         * modules/ansi-c++-opt: New file.
30651         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
30652
30653         Document C++ namespace mode.
30654         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
30655
30656         wctype: Avoid #define replacements in C++ mode.
30657         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
30658         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
30659         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
30660         In C++, define a namespaced alias symbol.
30661         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
30662         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
30663         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
30664         rule.
30665
30666         wchar: Avoid #define replacements in C++ mode.
30667         * lib/wchar.in.h: Include c++defs.h.
30668         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
30669         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
30670         symbol.
30671         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
30672         * modules/wchar (Depends-on): Add c++defs.
30673         (Makefile.am): Update wchar.h rule.
30674
30675         unistd: Avoid #define replacements in C++ mode.
30676         * lib/unistd.in.h: Include c++defs.h.
30677         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
30678         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
30679         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
30680         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
30681         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
30682         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
30683         symbol.
30684         (environ): Update.
30685         * modules/unistd (Depends-on): Add c++defs.
30686         (Makefile.am): Update unistd.h rule.
30687
30688         time: Avoid #define replacements in C++ mode.
30689         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
30690         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
30691         define a namespaced alias symbol.
30692         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
30693         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
30694         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
30695         * modules/time (Depends-on): Add c++defs, warn-on-use.
30696         (Makefile.am): Update time.h rule.
30697         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30698         * modules/nanosleep (configure.ac): Likewise.
30699         * modules/strptime (configure.ac): Likewise.
30700         * modules/timegm (configure.ac): Likewise.
30701
30702         sys_time: Avoid #define replacements in C++ mode.
30703         * lib/sys_time.in.h: Include c++defs.h.
30704         (gettimeofday): In C++, define a namespaced alias symbol.
30705         * modules/sys_time (Depends-on): Add c++defs.
30706         (Makefile.am): Update sys/time.h rule.
30707
30708         sys_stat: Avoid #define replacements in C++ mode.
30709         * lib/sys_stat.in.h: Include c++defs.h.
30710         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
30711         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
30712         namespaced alias symbol.
30713         In C++, define a namespaced alias symbol.
30714         * modules/sys_stat (Depends-on): Add c++defs.
30715         (Makefile.am): Update sys/stat.h rule.
30716
30717         sys_socket: Avoid #define replacements in C++ mode.
30718         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
30719         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
30720         definitions also when the system has a <sys/socket.h>.
30721         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
30722         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
30723         In C++, define a namespaced alias symbol.
30724         * modules/sys_socket (Depends-on): Add c++defs.
30725         (Makefile.am): Update sys/socket.h rule.
30726
30727         sys_select: Avoid #define replacements in C++ mode.
30728         * lib/sys_select.in.h: Include c++defs.h. Enable the function
30729         definitions also when the system has a <sys/select.h>.
30730         (select): In C++, define a namespaced alias symbol.
30731         * modules/sys_select (Depends-on): Add c++defs.
30732         (Makefile.am): Update sys/select.h rule.
30733
30734         sys_ioctl: Avoid #define replacements in C++ mode.
30735         * lib/sys_ioctl.in.h: Include c++defs.h.
30736         (ioctl): In C++, define a namespaced alias symbol.
30737         * modules/sys_ioctl (Depends-on): Add c++defs.
30738         (Makefile.am): Update sys/ioctl.h rule.
30739
30740         string: Avoid #define replacements in C++ mode.
30741         * lib/string.in.h: Include c++defs.h.
30742         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
30743         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
30744         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
30745         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
30746         strsignal, strverscmp): In C++, define a namespaced alias symbol.
30747         * modules/string (Depends-on): Add c++defs.
30748         (Makefile.am): Update string.h rule.
30749
30750         stdlib: Avoid #define replacements in C++ mode.
30751         * lib/stdlib.in.h: Include c++defs.h.
30752         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
30753         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
30754         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
30755         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
30756         symbol.
30757         * modules/stdlib (Depends-on): Add c++defs.
30758         (Makefile.am): Update stdlib.h rule.
30759
30760         stdio: Avoid #define replacements in C++ mode.
30761         * lib/stdio.in.h: Include c++defs.h.
30762         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
30763         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
30764         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
30765         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
30766         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
30767         namespaced alias symbol.
30768         * modules/stdio (Depends-on): Add c++defs.
30769         (Makefile.am): Update stdio.h rule.
30770
30771         spawn: Avoid #define replacements in C++ mode.
30772         * lib/spawn.in.h: Include c++defs.h.
30773         (posix_spawn, posix_spawnp, posix_spawnattr_init,
30774         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
30775         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
30776         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
30777         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
30778         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
30779         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
30780         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
30781         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
30782         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
30783         In C++, define a namespaced alias symbol.
30784         * modules/spawn (Depends-on): Add c++defs.
30785         (Makefile.am): Update spawn.h rule.
30786
30787         signal: Avoid #define replacements in C++ mode.
30788         * lib/signal.in.h: Include c++defs.h.
30789         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
30790         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
30791         namespaced alias symbol.
30792         * modules/signal (Depends-on): Add c++defs.
30793         (Makefile.am): Update signal.h rule.
30794
30795         search: Avoid #define replacements in C++ mode.
30796         * lib/search.in.h: Include c++defs.h.
30797         (_gl_search_compar_fn, _gl_search_action_fn): New types.
30798         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
30799         symbol.
30800         * modules/search (Depends-on): Add c++defs.
30801         (Makefile.am): Update search.h rule.
30802
30803         math: Avoid #define replacements in C++ mode.
30804         * lib/math.in.h: Include c++defs.h.
30805         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
30806         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
30807         trunc, truncl): In C++, define a namespaced alias symbol.
30808         * modules/math (Depends-on): Add c++defs.
30809         (Makefile.am): Update math.h rule.
30810
30811         locale: Avoid #define replacements in C++ mode.
30812         * lib/locale.in.h: Include c++defs.h.
30813         (duplocale): In C++, define a namespaced alias symbol.
30814         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
30815         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
30816         * modules/locale (Depends-on): Add c++defs.
30817         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
30818
30819         langinfo: Avoid #define replacements in C++ mode.
30820         * lib/langinfo.in.h: Include c++defs.h.
30821         (nl_langinfo): In C++, define a namespaced alias symbol.
30822         * modules/langinfo (Depends-on): Add c++defs.
30823         (Makefile.am): Update langinfo.h rule.
30824
30825         iconv-h: Avoid #define replacements in C++ mode.
30826         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
30827         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
30828         symbol.
30829         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
30830         whenever iconv is present.
30831         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
30832         (Makefile.am): Update iconv.h rule.
30833
30834         glob: Avoid #define replacements in C++ mode.
30835         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
30836         (_gl_glob_errfunc_fn): New type.
30837         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
30838         symbol.
30839         * modules/glob (Depends-on): Add c++defs, warn-on-use.
30840         (Makefile.am): Update glob.h rule.
30841
30842         fcntl-h: Avoid #define replacements in C++ mode.
30843         * lib/fcntl.in.h: Include c++defs.h.
30844         (fcntl, open, openat): In C++, define a namespaced alias symbol.
30845         * modules/fcntl-h (Depends-on): Add c++defs.
30846         (Makefile.am): Update fcntl.h rule.
30847
30848         dirent: Avoid #define replacements in C++ mode.
30849         * lib/dirent.in.h: Include c++defs.h.
30850         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
30851         namespaced alias symbol.
30852         (dirfd): Update declaration.
30853         * modules/dirent (Depends-on): Add c++defs.
30854         (Makefile.am): Update dirent.h rule.
30855
30856         ctype: Make it usable in C++ code.
30857         * lib/ctype.in.h: Include c++defs.h.
30858         (isblank): Declare as extern "C".
30859         * modules/ctype (Depends-on): Add c++defs.
30860         (Makefile.am): Update ctype.h rule.
30861
30862         New module 'c++defs'.
30863         * modules/c++defs: New file.
30864         * build-aux/c++defs.h: New file.
30865         Reported by John W. Eaton <jwe@gnu.org>.
30866
30867 2010-03-07  Bruno Haible  <bruno@clisp.org>
30868
30869         logb: Provide missing declaration for Cygwin.
30870         * lib/math.in.h (logb): New declaration.
30871         * m4/logb.m4: New file.
30872         * modules/logb (Files): Add m4/logb.m4.
30873         (Depends-on): Add math.
30874         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
30875         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
30876         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
30877         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
30878         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
30879
30880 2010-03-07  Bruno Haible  <bruno@clisp.org>
30881
30882         Fix test-cond link error.
30883         * tests/test-cond.c: Include <stdio.h>.
30884
30885 2010-03-07  Bruno Haible  <bruno@clisp.org>
30886
30887         Fix test-dirent-safer link error.
30888         * modules/dirent-safer-tests (Makefile.am): Define
30889         test_dirent_safer_LDADD.
30890
30891 2010-03-07  Bruno Haible  <bruno@clisp.org>
30892
30893         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
30894         among default module list.
30895
30896 2010-03-07  Bruno Haible  <bruno@clisp.org>
30897
30898         Fix link error on platforms with GNU libiconv.
30899         * modules/unistr/u8-strcoll-tests (Makefile): Define
30900         test_u8_strcoll_LDADD.
30901         * modules/unistr/u16-strcoll-tests (Makefile): Define
30902         test_u16_strcoll_LDADD.
30903         * modules/unistr/u32-strcoll-tests (Makefile): Define
30904         test_u32_strcoll_LDADD.
30905
30906 2010-03-07  Bruno Haible  <bruno@clisp.org>
30907
30908         Use POSIX declarations for socket functions.
30909         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
30910         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
30911         rpl_sendto): Change declaration to match POSIX.
30912         * lib/connect.c (rpl_connect): Likewise.
30913         * lib/accept.c (rpl_accept): Likewise.
30914         * lib/bind.c (rpl_bind): Likewise.
30915         * lib/getpeername.c (rpl_getpeername): Likewise.
30916         * lib/getsockname.c (rpl_getsockname): Likewise.
30917         * lib/recv.c (rpl_recv): Likewise.
30918         * lib/send.c (rpl_send): Likewise.
30919         * lib/recvfrom.c (rpl_recvfrom): Likewise.
30920         * lib/sendto.c (rpl_sendto): Likewise.
30921
30922 2010-03-06  Bruno Haible  <bruno@clisp.org>
30923
30924         Clarify access, euidaccess, faccessat.
30925         * doc/posix-functions/faccessat.texi: Mention security problem under
30926         "Other problems", not "Portability problems".
30927         * doc/posix-functions/access.texi: Likewise. Mention a related security
30928         problem.
30929         * doc/glibc-functions/euidaccess.texi: Mention security problems.
30930         * lib/euidaccess.c: Add comments about platforms.
30931         * lib/unistd.in.h (access, euidaccess): Add warnings.
30932
30933 2010-03-07  Bruno Haible  <bruno@clisp.org>
30934
30935         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
30936         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
30937         (POSIX_SPAWN_SETSCHEDULER): Likewise.
30938         (POSIX_SPAWN_USEVFORK): Define in a way that works when
30939         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30940         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
30941         declare when POSIX_SPAWN_SETSCHEDULER is zero.
30942         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
30943         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
30944         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
30945         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
30946         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
30947         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
30948         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
30949         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
30950         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
30951         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
30952         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
30953         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
30954         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
30955         Likewise.
30956         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
30957         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
30958         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
30959         Likewise.
30960         * tests/test-spawn.c (main): Make it work when
30961         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30962
30963 2010-03-07  Bruno Haible  <bruno@clisp.org>
30964
30965         Fix incorrect Makefile.am generation in German locale.
30966         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30967         Execute sed command with character range in C locale.
30968
30969 2010-03-06  Bruno Haible  <bruno@clisp.org>
30970
30971         Tests for module 'iconv-h'.
30972         * modules/iconv-h-tests: New file.
30973         * tests/test-iconv-h.c: New file.
30974
30975         New module 'iconv-h'.
30976         * modules/iconv-h: New file.
30977         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
30978         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
30979         (configure.ac): Remove gl_ICONV_H.
30980         (Makefile.am): Remove rule for iconv.h.
30981
30982 2010-03-06  Bruno Haible  <bruno@clisp.org>
30983
30984         More consistent naming of *.m4 files.
30985         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
30986         * modules/wctype (Files): Update.
30987
30988         More consistent naming of *.m4 files.
30989         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
30990         * modules/wchar (Files): Update.
30991
30992 2010-03-06  Jim Meyering  <meyering@redhat.com>
30993
30994         euidaccess: relax license to LGPLv2+
30995         * modules/euidaccess (License): Relax to LGPLv2+.
30996
30997 2010-03-06  Bruno Haible  <bruno@clisp.org>
30998
30999         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
31000         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
31001         (Makefile.am): Augment lib_SOURCES instead.
31002
31003 2010-03-04  Jim Meyering  <meyering@redhat.com>
31004
31005         utime: remove obsolete module
31006         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
31007         unnecessary for years, and has been marked as obsolete for 10 months.
31008         * modules/utime: Remove file.
31009         * lib/utime.c: Remove file.
31010         * m4/utime.m4: Remove file.
31011         * m4/utimes-null.m4: Remove file.
31012         * doc/posix-functions/utime.texi (utime): Remove reference to
31013         the module.  Move the sole "fixed by gnulib" item into the
31014         "problems not fixed by Gnulib" list.
31015         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
31016
31017 2010-03-05  Simon Josefsson  <simon@josefsson.org>
31018
31019         * modules/exit (License): Relax license to LGPLv2+.
31020         (Status): Mark as obsolete.
31021         * NEWS: Mention deprecated 'exit' module.
31022         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
31023         of now obsolete 'exit'.
31024
31025 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31026
31027         fts-lgpl: remove unused module
31028         * modules/fts-lgpl: Remove.
31029         * MODULES.html.sh (func_all_modules): Adjust.
31030         * check-module (find_included_lib_files): Adjust.
31031         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
31032
31033 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
31034
31035         copy-acl: enhance Solaris ACL error handling
31036         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
31037         * lib/set-mode-acl.c (qset_acl): Likewise.
31038
31039 2010-03-02  Bruno Haible  <bruno@clisp.org>
31040
31041         spawn: Don't override the system defined values on FreeBSD 8.
31042         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
31043         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
31044         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
31045         if HAVE_POSIX_SPAWN is 1.
31046         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
31047
31048 2010-03-01  Bruno Haible  <bruno@clisp.org>
31049
31050         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
31051         regarding Automake.
31052
31053 2010-02-25  Bruno Haible  <bruno@clisp.org>
31054
31055         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
31056         * gnulib-tool: Define 'echo' as a function only before the ksh alias
31057         setting, not afterwards.
31058         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
31059
31060 2010-02-24  Eric Blake  <eblake@redhat.com>
31061
31062         bootstrap, git-version-gen: use timestamp
31063         * build-aux/git-version-gen (scriptversion): Force UTC.
31064         * build-aux/bootstrap (scriptversion): New variable.
31065
31066         bootstrap: allow older git
31067         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
31068         older than 1.6.4.  Requested by the libvirt project.
31069
31070 2010-02-23  Eric Blake  <eblake@redhat.com>
31071
31072         warn-on-use: work with old autoconf
31073         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
31074         AS_VAR semantics of autoconf 2.60.
31075         Reported by Bruno Haible.
31076
31077         bootstrap: improve some comments
31078         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
31079         clarification comments.
31080
31081         gettimeofday: provide correct function
31082         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
31083         when replacement is declared, otherwise provide gettimeofday.
31084         Reported by Michael Goffioul.
31085
31086 2010-02-23  Jim Meyering  <meyering@redhat.com>
31087
31088         lib-ignore: relax license to "unlimited", not LGPLv2+
31089         * modules/lib-ignore (License): Relax to "unlimited".
31090
31091 2010-02-23  Jim Meyering  <meyering@redhat.com>
31092
31093         lib-ignore: relax license to LGPLv2+
31094         * modules/lib-ignore (License): Relax to LGPLv2+.
31095
31096 2010-02-22  Eric Blake  <eblake@redhat.com>
31097
31098         lseek: avoid bash 3.2 broken pipe bug
31099         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
31100         warning from bash 3.2.
31101         Reported by Ben Pfaff, with analysis from Bruno Haible.
31102
31103         bootstrap: support non-FSF copyright holder
31104         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
31105         bootstrap.conf override of COPYRIGHT_HOLDER.
31106         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
31107
31108         bootstrap: interoperate with gettext 0.14.1
31109         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
31110
31111         bootstrap: allow for alternate submodule location
31112         * build-aux/bootstrap (gnulib_path): New variable; use instead of
31113         hardcoding submodule location.
31114         (gnulib_mk): Allow direct use of Makefile.am.
31115
31116         bootstrap: use GNULIB_SRCDIR to reduce disk usage
31117         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
31118         rather than reconfiguring where the submodule points.
31119
31120         gettimeofday: restore support for platforms that lack function
31121         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
31122         replacement if function is missing.
31123         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
31124         * modules/sys_time (Makefile.am): Substitute it.
31125         * lib/sys_time.in.h (gettimeofday): Check it.
31126         Reported by Michael Goffioul.
31127
31128 2010-02-21  Bruno Haible  <bruno@clisp.org>
31129
31130         * lib/stdio.in.h (obstack_printf): Fix typo.
31131
31132 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
31133
31134         vc-list-files: use bzr ls's -R option
31135         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
31136         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
31137
31138 2010-02-21  Jim Meyering  <meyering@redhat.com>
31139
31140         init.sh: fix EXEEXT shims to work also for names like test-prog
31141         * tests/init.sh: Re-exec a better shell, when needed.
31142         If the current shell lacks support for posix $(...), an init.sh-using
31143         test will now try to find a shell that supports that.  If EXEEXT is
31144         nonempty, we also require support for hyphen-in-alias-name and shell
31145         substitutions like ${var#glob}.  Failure to find such a shell results
31146         in a skipped test.
31147
31148 2010-02-21  Bruno Haible  <bruno@clisp.org>
31149
31150         Really work around around "broken pipe" error message from bash 3.2.
31151         * gnulib-tool (func_reset_sigpipe): Remove function.
31152         (echo): In bash 3.2, define to a function that uses printf.
31153         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
31154
31155 2010-02-20  Bruno Haible  <bruno@clisp.org>
31156
31157         Restore support for automake 1.9.6 with autoconf 2.61.
31158         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
31159         Reported by James Youngman <jay@gnu.org>.
31160
31161 2010-02-20  Bruno Haible  <bruno@clisp.org>
31162
31163         Improve *printf warning condition.
31164         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
31165         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
31166         and the function is overridden due to SIGPIPE emulation.
31167
31168 2010-02-20  Bruno Haible  <bruno@clisp.org>
31169
31170         * lib/stdio.in.h: Tweak comments.
31171
31172 2010-02-19  Bruno Haible  <bruno@clisp.org>
31173
31174         Make it easier to find modules. New gnulib-tool option '--find'.
31175         * gnulib-tool: New option --find.
31176         (func_usage): Document it.
31177         (func_sanitize_modulelist): New function, extracted from
31178         func_all_modules.
31179         (func_all_modules): Invoke it.
31180         * doc/gnulib-tool.texi (Which modules?): New node.
31181
31182 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
31183
31184         * lib/sys_select.in.h: Provide select replacement even if
31185         sys/select.h exists on a system, for Interix.
31186
31187 2010-02-18  Jim Meyering  <meyering@redhat.com>
31188
31189         init.sh: don't use $(...) just yet
31190         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
31191         to accommodate e.g., Solaris' /bin/sh.
31192
31193 2010-02-17  Bruno Haible  <bruno@clisp.org>
31194
31195         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
31196         Reported by Ludovic Courtès <ludo@gnu.org>.
31197
31198 2010-02-16  Simon Josefsson  <simon@josefsson.org>
31199
31200         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
31201         linking with -lintl.
31202
31203 2010-02-17  Simon Josefsson  <simon@josefsson.org>
31204
31205         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
31206         if not provided by the system's netdb.h.  Reported by
31207         ludo@gnu.org (Ludovic Courtès).
31208
31209 2010-02-15  Jim Meyering  <meyering@redhat.com>
31210
31211         init.sh: improve portability and efficiency
31212         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
31213         "dummy" in a for loop.
31214         Use '!', not '^' to select the complement of a character set used
31215         in a "case" statement.
31216         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
31217         Suggestions from Eric Blake.
31218
31219         init.sh: automatically accommodate programs with the .exe suffix
31220         Automatically arrange for an invocation of "prog" to execute the
31221         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
31222         may use the simpler "prog", yet still work when built on a system
31223         that requires specifying the added suffix.
31224         Do this by constructing a function named "prog" that invokes
31225         "prog.exe" for each .exe file in selected directories.
31226         * tests/init.sh (find_exe_basenames_): New function.
31227         (create_exe_shim_functions_): New function.
31228         (path_prepend_): Use it.
31229
31230         maint.mk: mark syntax-check sc_*.m rules as .PHONY
31231         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
31232         "make -t syntax-check" doesn't create a ton of sc_*.m files.
31233
31234 2010-02-14  Jim Meyering  <meyering@redhat.com>
31235
31236         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
31237         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
31238         (sc_prohibit_hash_pjw_without_use): New rule.
31239
31240         maint.mk: allow the default upload destination dir to be overridden
31241         * top/maint.mk (upload_dest_dir_): Define with a default that
31242         preserves the status quo.
31243         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
31244         Reported by Peter Simons.
31245
31246         maint.mk: prohibit inclusion of "hash.h" without_use
31247         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
31248
31249 2010-02-10  Jim Meyering  <meyering@redhat.com>
31250
31251         maint.mk: prohibit inclusion of "ignore-value.h" without_use
31252         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
31253
31254 2010-02-09  Eric Blake  <ebb9@byu.net>
31255         and Bruno Haible  <bruno@clisp.org>
31256
31257         obstack-printf-posix: ensure declaration
31258         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
31259         extracted from gl_FUNC_OBSTACK_PRINTF.
31260         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
31261         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
31262         Likewise.
31263         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
31264         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
31265         0.
31266
31267 2010-02-08  Bruno Haible  <bruno@clisp.org>
31268
31269         gnulib-tool: Fix typo in 2010-02-07 commit.
31270         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
31271         Reported by Eric Blake.
31272
31273 2010-02-07  Bruno Haible  <bruno@clisp.org>
31274
31275         gnulib-tool: Fix up caching patches.
31276         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
31277         option --no-cache. Use associative arrays when supported by the shell.
31278         (sed_comments): New variable.
31279         (modcache): Renamed from do_cache.
31280         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
31281         abbreviate unnecessarily.
31282         (have_associative): New variable.
31283         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
31284         way also for ksh and zsh.
31285         (func_init_sed_convert_to_cache_statements): New function, extracted
31286         from func_cache_lookup_module. Add support for associative arrays.
31287         Don't set the c_MODULE_cached variable here. Ignore all lines before
31288         the first field header. Remove only the final newline, not all trailing
31289         newlines. Support empty fields correctly. Limit the use of 'eval' to
31290         assignments.
31291         (func_get_description, func_get_status, func_get_notice,
31292         func_get_applicability, func_get_filelist, func_get_dependencies,
31293         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
31294         func_get_automake_snippet, func_get_include_directive,
31295         func_get_link_directive, func_get_license, func_get_maintainer):
31296         Update documentation. List the unoptimized code first. Add support for
31297         associative arrays. Limit the use of 'eval' to assignments.
31298         (func_get_applicability): Undo stylistic pessimisations.
31299         (func_get_automake_snippet, func_get_include_directive): Reduce code
31300         duplication.
31301         (func_modules_transitive_closure, func_modules_add_dummy,
31302         func_modules_notice, func_modules_to_filelist, func_add_file,
31303         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
31304         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
31305         func_create_testdir, func_create_megatestdir): Update documentation.
31306
31307 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31308
31309         * gnulib-tool (func_cache_lookup_module): Store the module name
31310         belonging to the cache variable; error out if two different
31311         module names map to the same cache variable name.
31312
31313 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31314
31315         gnulib-tool: Make caching optional.
31316         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
31317         Update matching short versions of --no-changelog.
31318         (func_usage): Update.
31319         (sed_extract_cache_prog): Renamed from ...
31320         (sed_extract_prog): ... this; revert to old extraction script.
31321         (func_get_description, func_get_status)
31322         (func_get_notice, func_get_applicability, func_get_filelist)
31323         (func_get_dependencies, func_get_autoconf_early_snippet)
31324         (func_get_autoconf_snippet, func_get_automake_snippet)
31325         (func_get_include_directive, func_get_link_directive)
31326         (func_get_license, func_get_maintainer): If $do_cache is false,
31327         use old, non-caching extraction scripts.
31328         Suggestion by Bruno Haible.
31329
31330 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31331
31332         gnulib-tool: cache module metainformation.
31333         * gnulib-tool (sed_extract_prog): Match newline before each
31334         header, and rewrite header to a shell variable suffix.
31335         (func_cache_var, func_cache_lookup_module): New functions,
31336         to turn a module name into a cache variable prefix, and to
31337         look up and cache module metainformation.
31338         (func_get_description, func_get_status)
31339         (func_get_notice, func_get_applicability, func_get_filelist)
31340         (func_get_dependencies, func_get_autoconf_early_snippet)
31341         (func_get_autoconf_snippet, func_get_automake_snippet)
31342         (func_get_include_directive, func_get_link_directive)
31343         (func_get_license, func_get_maintainer): Use
31344         func_cache_lookup_module.
31345
31346 2010-02-07  Bruno Haible  <bruno@clisp.org>
31347
31348         fnctl: Fix missing dependency.
31349         * modules/fcntl (Depends-on): Add getdtablesize.
31350         Reported by John W. Eaton <jwe@gnu.org>.
31351
31352 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31353
31354         Argp: fix recognition of short alias options.
31355
31356         * lib/argp-parse.c (convert_options): Fix improper use of
31357         `|' between character values.
31358         * tests/test-argp.c (group1_option): New alias option
31359         --read (-r).
31360         (group1_parser): Special handling for 'r'.
31361         (test15): New test case.
31362         (test_fun): Add test15.
31363         * tests/test-argp-2.sh: Update expected --help and --usage
31364         outputs.
31365
31366 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31367
31368         * tests/test-argp.c: Fix indentation.
31369
31370 2010-02-04  Eric Blake  <ebb9@byu.net>
31371
31372         gettimeofday: expose type of second argument
31373         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
31374         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
31375         * tests/test-gettimeofday.c: Use it to silence warning.
31376         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
31377         the issue.
31378
31379 2010-02-03  Jim Meyering  <meyering@redhat.com>
31380
31381         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
31382         * lib/regcomp.c (TYPE_SIGNED): Define.
31383         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
31384
31385         regcomp.c: avoid a new -Wshadow warning
31386         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
31387
31388 2010-02-01  Jim Meyering  <meyering@redhat.com>
31389
31390         removing useless parentheses in cpp #define directives
31391         For motivation, see commit c0221df4, "define STREQ(a,b)
31392         consistently, removing useless parentheses"
31393         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
31394         * lib/mountlist.c (MNT_IGNORE): Likewise.
31395         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
31396
31397 2010-02-01  Eric Blake  <ebb9@byu.net>
31398
31399         sys_time: use link-warning
31400         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
31401         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
31402         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
31403         * modules/sys_time (Depends-on): Add warn-on-use.
31404         (Makefile.am): Always build replacement.
31405         (configure.ac): Update substitutions.
31406         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
31407         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
31408         bother with SYS_TIME_H.
31409         * modules/gettimeofday (configure.ac): Declare indicator.
31410         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
31411         in use.
31412
31413         closein-tests: silence compiler warning
31414         * tests/test-closein.c (main): Ignore fread result.
31415         * modules/closein-tests (Depends-on): Add ignore-value.
31416
31417         tests: silence warning about system return
31418         * tests/test-areadlink-with-size.c (main): Ignore system result.
31419         * tests/test-areadlink.c (main): Likewise.
31420         * tests/test-areadlinkat-with-size.c (main): Likewise.
31421         * tests/test-areadlinkat.c (main): Likewise.
31422         * tests/test-canonicalize-lgpl.c (main): Likewise.
31423         * tests/test-canonicalize.c (main): Likewise.
31424         * tests/test-chown.c (main): Likewise.
31425         * tests/test-fchownat.c (main): Likewise.
31426         * tests/test-fdutimensat.c (main): Likewise.
31427         * tests/test-fstatat.c (main): Likewise.
31428         * tests/test-futimens.c (main): Likewise.
31429         * tests/test-lchown.c (main): Likewise.
31430         * tests/test-link.c (main): Likewise.
31431         * tests/test-linkat.c (main): Likewise.
31432         * tests/test-lstat.c (main): Likewise.
31433         * tests/test-mkdir.c (main): Likewise.
31434         * tests/test-mkdirat.c (main): Likewise.
31435         * tests/test-mkfifo.c (main): Likewise.
31436         * tests/test-mkfifoat.c (main): Likewise.
31437         * tests/test-mknod.c (main): Likewise.
31438         * tests/test-readlink.c (main): Likewise.
31439         * tests/test-remove.c (main): Likewise.
31440         * tests/test-rename.c (main): Likewise.
31441         * tests/test-renameat.c (main): Likewise.
31442         * tests/test-rmdir.c (main): Likewise.
31443         * tests/test-symlink.c (main): Likewise.
31444         * tests/test-symlinkat.c (main): Likewise.
31445         * tests/test-unlink.c (main): Likewise.
31446         * tests/test-unlinkat.c (main): Likewise.
31447         * tests/test-utimens.c (main): Likewise.
31448         * tests/test-utimensat.c (main): Likewise.
31449         * modules/areadlink-tests (Depends-on): Add ignore-value.
31450         * modules/areadlink-with-size-tests (Depends-on): Likewise.
31451         * modules/areadlinkat-tests (Depends-on): Likewise.
31452         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
31453         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31454         * modules/canonicalize-tests (Depends-on): Likewise.
31455         * modules/chown-tests (Depends-on): Likewise.
31456         * modules/fdutimensat-tests (Depends-on): Likewise.
31457         * modules/futimens-tests (Depends-on): Likewise.
31458         * modules/lchown-tests (Depends-on): Likewise.
31459         * modules/link-tests (Depends-on): Likewise.
31460         * modules/linkat-tests (Depends-on): Likewise.
31461         * modules/lstat-tests (Depends-on): Likewise.
31462         * modules/mkdir-tests (Depends-on): Likewise.
31463         * modules/mkfifo-tests (Depends-on): Likewise.
31464         * modules/mkfifoat-tests (Depends-on): Likewise.
31465         * modules/mknod-tests (Depends-on): Likewise.
31466         * modules/openat-tests (Depends-on): Likewise.
31467         * modules/readlink-tests (Depends-on): Likewise.
31468         * modules/remove-tests (Depends-on): Likewise.
31469         * modules/rename-tests (Depends-on): Likewise.
31470         * modules/renameat-tests (Depends-on): Likewise.
31471         * modules/rmdir-tests (Depends-on): Likewise.
31472         * modules/symlink-tests (Depends-on): Likewise.
31473         * modules/symlinkat-tests (Depends-on): Likewise.
31474         * modules/unlink-tests (Depends-on): Likewise.
31475         * modules/utimens-tests (Depends-on): Likewise.
31476         * modules/utimensat-tests (Depends-on): Likewise.
31477
31478 2010-01-31  Bruno Haible  <bruno@clisp.org>
31479
31480         Perform the same test for many <math.h> functions.
31481         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
31482         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
31483         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
31484         of gl_MATHFUNC.
31485         * modules/acos (configure.ac): Likewise.
31486         * modules/asin (configure.ac): Likewise.
31487         * modules/atan (configure.ac): Likewise.
31488         * modules/atan2 (configure.ac): Likewise.
31489         * modules/cbrt (configure.ac): Likewise.
31490         * modules/copysign (configure.ac): Likewise.
31491         * modules/cos (configure.ac): Likewise.
31492         * modules/cosh (configure.ac): Likewise.
31493         * modules/erf (configure.ac): Likewise.
31494         * modules/erfc (configure.ac): Likewise.
31495         * modules/exp (configure.ac): Likewise.
31496         * modules/fmod (configure.ac): Likewise.
31497         * modules/hypot (configure.ac): Likewise.
31498         * modules/j0 (configure.ac): Likewise.
31499         * modules/j1 (configure.ac): Likewise.
31500         * modules/jn (configure.ac): Likewise.
31501         * modules/lgamma (configure.ac): Likewise.
31502         * modules/log (configure.ac): Likewise.
31503         * modules/log10 (configure.ac): Likewise.
31504         * modules/log1p (configure.ac): Likewise.
31505         * modules/pow (configure.ac): Likewise.
31506         * modules/remainder (configure.ac): Likewise.
31507         * modules/sin (configure.ac): Likewise.
31508         * modules/sinh (configure.ac): Likewise.
31509         * modules/tan (configure.ac): Likewise.
31510         * modules/tanh (configure.ac): Likewise.
31511         * modules/y0 (configure.ac): Likewise.
31512         * modules/y1 (configure.ac): Likewise.
31513         * modules/yn (configure.ac): Likewise.
31514         Suggested by Paolo Bonzini.
31515
31516 2010-01-31  Bruno Haible  <bruno@clisp.org>
31517
31518         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
31519
31520 2010-01-31  Bruno Haible  <bruno@clisp.org>
31521
31522         Work around getdelim() bug on FreeBSD 8.0.
31523         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
31524         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
31525         not work.
31526         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
31527         is 1.
31528         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
31529         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
31530         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
31531         a non-zero size.
31532         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
31533
31534 2010-01-31  Bruno Haible  <bruno@clisp.org>
31535
31536         Work around getline() bug on FreeBSD 8.0.
31537         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
31538         and a non-zero size.
31539         * tests/test-getline.c (main): Likewise.
31540         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
31541         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
31542
31543 2010-01-28  Eric Blake  <ebb9@byu.net>
31544
31545         regex: fix build failure
31546         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
31547         platforms.
31548
31549 2010-01-28  Jim Meyering  <meyering@redhat.com>
31550
31551         regex: do not ignore memory allocation failure
31552         * lib/regex_internal.c (create_cd_newstate): Detect
31553         re_node_set_init_copy failure.   Extracted from glibc commit
31554         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31555
31556         regex: sync more white-space changes from libc
31557         * lib/regex_internal.c: White-space only changes.
31558         * lib/regexec.c: Likewise.
31559
31560         regex: add many uses of __attribute_warn_unused_result__
31561         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
31562         * lib/regexec.c: Likewise.
31563         Extracted from a messy glibc commit.
31564
31565         regcomp.c: spelling and merge-artifact from glibc
31566         * lib/regcomp.c: Merge remainder of glibc's
31567         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31568
31569         regcomp.c: sync white-space changes from glibc
31570         * lib/regcomp.c: Merge to accommodate white space
31571         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31572
31573         regcomp.c: do not ignore internal return values
31574         * lib/regcomp.c: Do not ignore internal return values.
31575         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
31576         but without its white-space changes and spelling fixes.
31577
31578         regex_internal.h: define __attribute_warn_unused_result__
31579         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
31580
31581         maint: add a syntax-check rule to check for vulnerable Makefile.in
31582         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
31583
31584 2010-01-27  Jim Meyering  <meyering@redhat.com>
31585
31586         ncftpput-ftp: clean up spaces
31587         * build-aux/ncftpput-ftp: Make Copyright line consistent.
31588         Remove trailing blanks.
31589
31590 2010-01-27  Simon Josefsson  <simon@josefsson.org>
31591
31592         * build-aux/git-version-gen: Fix copyright statement.
31593         * build-aux/gnupload: Likewise.
31594         * tests/test-arcfour.c: Likewise.
31595         * tests/test-arctwo.c: Likewise.
31596         * tests/test-count-one-bits.c: Likewise.
31597         * tests/test-crc.c: Likewise.
31598         * tests/test-des.c: Likewise.
31599         * tests/test-gc-arcfour.c: Likewise.
31600         * tests/test-gc-arctwo.c: Likewise.
31601         * tests/test-gc-des.c: Likewise.
31602         * tests/test-gc-hmac-md5.c: Likewise.
31603         * tests/test-gc-hmac-sha1.c: Likewise.
31604         * tests/test-gc-md2.c: Likewise.
31605         * tests/test-gc-md4.c: Likewise.
31606         * tests/test-gc-md5.c: Likewise.
31607         * tests/test-gc-pbkdf2-sha1.c: Likewise.
31608         * tests/test-gc-rijndael.c: Likewise.
31609         * tests/test-gc-sha1.c: Likewise.
31610         * tests/test-gc.c: Likewise.
31611         * tests/test-gethostname.c: Likewise.
31612         * tests/test-gettimeofday.c: Likewise.
31613         * tests/test-hash.c: Likewise.
31614         * tests/test-hmac-md5.c: Likewise.
31615         * tests/test-hmac-sha1.c: Likewise.
31616         * tests/test-md2.c: Likewise.
31617         * tests/test-md4.c: Likewise.
31618         * tests/test-md5.c: Likewise.
31619         * tests/test-memchr.c: Likewise.
31620         * tests/test-memchr2.c: Likewise.
31621         * tests/test-memcmp.c: Likewise.
31622         * tests/test-memmem.c: Likewise.
31623         * tests/test-memrchr.c: Likewise.
31624         * tests/test-rawmemchr.c: Likewise.
31625         * tests/test-read-file.c: Likewise.
31626         * tests/test-rijndael.c: Likewise.
31627         * tests/test-sockets.c: Likewise.
31628         * tests/test-strchrnul.c: Likewise.
31629         * tests/test-strstr.c: Likewise.
31630         * tests/test-strtod.c: Likewise.
31631         * build-aux/ncftpput-ftp: Likewise.
31632
31633 2010-01-26  Eric Blake  <ebb9@byu.net>
31634
31635         ignore-value: update recommended header name
31636         * modules/ignore-value (Include): Only use <> for headers that
31637         exist in glibc.
31638
31639 2010-01-26  Jim Meyering  <meyering@redhat.com>
31640
31641         test-userspec.c: avoid compiler warnings
31642         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
31643         and "initialization discards qualifiers..." warnings.
31644         Put the first "uid" in its own scope, and make char* members "const".
31645
31646 2010-01-25  Bruno Haible  <bruno@clisp.org>
31647
31648         gnulib-tool: Make warning diagnostics consistent.
31649         * gnulib-tool (func_warning): New function.
31650         Use it everywhere where gnulib-tool produces output to stderr and it is
31651         not a fatal error.
31652
31653 2010-01-25  Bruno Haible  <bruno@clisp.org>
31654
31655         Fix test dependencies.
31656         * modules/xstrtol-tests (Depends-on): Add inttypes.
31657         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
31658
31659 2010-01-25 Pádraig Brady <P@draigBrady.com>
31660
31661         syntax-check: detect incorrect boolean macro values in config.h
31662         * modules/maintainer-makefile (configure.ac): Parameterize the location
31663         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
31664         The logic is from Eric Blake and the location indicated by Jim Meyering.
31665         Note the more natural CONFIG_HEADER name is prohibited by automake
31666         for backwards compatibility reasons.
31667         * top/maint.mk (sc_Wundef_boolean): New rule.
31668
31669 2010-01-25  Jim Meyering  <meyering@redhat.com>
31670
31671         bootstrap: detect MacOS 10.6's shasum, too
31672         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
31673         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
31674
31675 2010-01-23  Jim Meyering  <meyering@redhat.com>
31676
31677         xstrtoll: new module
31678         * modules/xstrtoll: New file.
31679         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
31680         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
31681         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
31682         ./configure fails if you use this module and lack "long long".
31683         * modules/xstrtoll-tests: New module.
31684         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
31685         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
31686         new init.sh-based test framework.
31687
31688 2010-01-24  Bruno Haible  <bruno@clisp.org>
31689
31690         Tests for module 'yn'.
31691         * modules/yn-tests: New file.
31692         * tests/test-yn.c: New file.
31693
31694         Tests for module 'y1'.
31695         * modules/y1-tests: New file.
31696         * tests/test-y1.c: New file.
31697
31698         Tests for module 'y0'.
31699         * modules/y0-tests: New file.
31700         * tests/test-y0.c: New file.
31701
31702         Tests for module 'tanh'.
31703         * modules/tanh-tests: New file.
31704         * tests/test-tanh.c: New file.
31705
31706         Tests for module 'tan'.
31707         * modules/tan-tests: New file.
31708         * tests/test-tan.c: New file.
31709
31710         Tests for module 'sqrt'.
31711         * modules/sqrt-tests: New file.
31712         * tests/test-sqrt.c: New file.
31713
31714         Tests for module 'sinh'.
31715         * modules/sinh-tests: New file.
31716         * tests/test-sinh.c: New file.
31717
31718         Tests for module 'sin'.
31719         * modules/sin-tests: New file.
31720         * tests/test-sin.c: New file.
31721
31722         Tests for module 'rint'.
31723         * modules/rint-tests: New file.
31724         * tests/test-rint.c: New file.
31725
31726         Tests for module 'remainder'.
31727         * modules/remainder-tests: New file.
31728         * tests/test-remainder.c: New file.
31729
31730         Tests for module 'pow'.
31731         * modules/pow-tests: New file.
31732         * tests/test-pow.c: New file.
31733
31734         Tests for module 'nextafter'.
31735         * modules/nextafter-tests: New file.
31736         * tests/test-nextafter.c: New file.
31737
31738         Tests for module 'modf'.
31739         * modules/modf-tests: New file.
31740         * tests/test-modf.c: New file.
31741
31742         Tests for module 'logb'.
31743         * modules/logb-tests: New file.
31744         * tests/test-logb.c: New file.
31745
31746         Tests for module 'log1p'.
31747         * modules/log1p-tests: New file.
31748         * tests/test-log1p.c: New file.
31749
31750         Tests for module 'log10'.
31751         * modules/log10-tests: New file.
31752         * tests/test-log10.c: New file.
31753
31754         Tests for module 'log'.
31755         * modules/log-tests: New file.
31756         * tests/test-log.c: New file.
31757
31758         Tests for module 'lgamma'.
31759         * modules/lgamma-tests: New file.
31760         * tests/test-lgamma.c: New file.
31761
31762         Tests for module 'ldexp'.
31763         * modules/ldexp-tests: New file.
31764         * tests/test-ldexp.c: New file.
31765
31766         Tests for module 'jn'.
31767         * modules/jn-tests: New file.
31768         * tests/test-jn.c: New file.
31769
31770         Tests for module 'j1'.
31771         * modules/j1-tests: New file.
31772         * tests/test-j1.c: New file.
31773
31774         Tests for module 'j0'.
31775         * modules/j0-tests: New file.
31776         * tests/test-j0.c: New file.
31777
31778         Tests for module 'hypot'.
31779         * modules/hypot-tests: New file.
31780         * tests/test-hypot.c: New file.
31781
31782         Tests for module 'fmod'.
31783         * modules/fmod-tests: New file.
31784         * tests/test-fmod.c: New file.
31785
31786         Tests for module 'fabs'.
31787         * modules/fabs-tests: New file.
31788         * tests/test-fabs.c: New file.
31789
31790         Tests for module 'exp'.
31791         * modules/exp-tests: New file.
31792         * tests/test-exp.c: New file.
31793
31794         Tests for module 'erfc'.
31795         * modules/erfc-tests: New file.
31796         * tests/test-erfc.c: New file.
31797
31798         Tests for module 'erf'.
31799         * modules/erf-tests: New file.
31800         * tests/test-erf.c: New file.
31801
31802         Tests for module 'cosh'.
31803         * modules/cosh-tests: New file.
31804         * tests/test-cosh.c: New file.
31805
31806         Tests for module 'cos'.
31807         * modules/cos-tests: New file.
31808         * tests/test-cos.c: New file.
31809
31810         Tests for module 'copysign'.
31811         * modules/copysign-tests: New file.
31812         * tests/test-copysign.c: New file.
31813
31814         Tests for module 'cbrt'.
31815         * modules/cbrt-tests: New file.
31816         * tests/test-cbrt.c: New file.
31817
31818         Tests for module 'atan2'.
31819         * modules/atan2-tests: New file.
31820         * tests/test-atan2.c: New file.
31821
31822         Tests for module 'atan'.
31823         * modules/atan-tests: New file.
31824         * tests/test-atan.c: New file.
31825
31826         Tests for module 'asin'.
31827         * modules/asin-tests: New file.
31828         * tests/test-asin.c: New file.
31829
31830         Tests for module 'acos'.
31831         * modules/acos-tests: New file.
31832         * tests/test-acos.c: New file.
31833
31834 2010-01-24  Bruno Haible  <bruno@clisp.org>
31835
31836         Fix tests for common <math.h> functions.
31837         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
31838         code snippet that references the function pointer, rather than merely
31839         calling the function. Substitute the FUNC_LIBM variable.
31840         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
31841         * modules/acos (configure.ac): Likewise.
31842         * modules/asin (configure.ac): Likewise.
31843         * modules/atan (configure.ac): Likewise.
31844         * modules/atan2 (configure.ac): Likewise.
31845         * modules/cbrt (configure.ac): Likewise.
31846         * modules/copysign (configure.ac): Likewise.
31847         * modules/cos (configure.ac): Likewise.
31848         * modules/cosh (configure.ac): Likewise.
31849         * modules/erf (configure.ac): Likewise.
31850         * modules/erfc (configure.ac): Likewise.
31851         * modules/exp (configure.ac): Likewise.
31852         * modules/fabs (configure.ac): Likewise.
31853         * modules/fmod (configure.ac): Likewise.
31854         * modules/hypot (configure.ac): Likewise.
31855         * modules/j0 (configure.ac): Likewise.
31856         * modules/j1 (configure.ac): Likewise.
31857         * modules/jn (configure.ac): Likewise.
31858         * modules/ldexp (configure.ac): Likewise.
31859         * modules/lgamma (configure.ac): Likewise.
31860         * modules/log (configure.ac): Likewise.
31861         * modules/log10 (configure.ac): Likewise.
31862         * modules/log1p (configure.ac): Likewise.
31863         * modules/logb (configure.ac): Likewise.
31864         * modules/modf (configure.ac): Likewise.
31865         * modules/nextafter (configure.ac): Likewise.
31866         * modules/pow (configure.ac): Likewise.
31867         * modules/remainder (configure.ac): Likewise.
31868         * modules/rint (configure.ac): Likewise.
31869         * modules/sin (configure.ac): Likewise.
31870         * modules/sinh (configure.ac): Likewise.
31871         * modules/tan (configure.ac): Likewise.
31872         * modules/tanh (configure.ac): Likewise.
31873         * modules/y0 (configure.ac): Likewise.
31874         * modules/y1 (configure.ac): Likewise.
31875         * modules/yn (configure.ac): Likewise.
31876
31877 2010-01-24  Bruno Haible  <bruno@clisp.org>
31878
31879         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
31880         * tests/test-acosl.c (x): New variable.
31881         (main): Store argument in x and fetch it from x.
31882         * tests/test-asinl.c (x): New variable.
31883         (main): Store argument in x and fetch it from x.
31884         * tests/test-atanl.c (x): New variable.
31885         (main): Store argument in x and fetch it from x.
31886         * tests/test-cosl.c (x): New variable.
31887         (main): Store argument in x and fetch it from x.
31888         * tests/test-expl.c (x): New variable.
31889         (main): Store argument in x and fetch it from x.
31890         * tests/test-logl.c (x): New variable.
31891         (main): Store argument in x and fetch it from x.
31892         * tests/test-sinl.c (x): New variable.
31893         (main): Store argument in x and fetch it from x.
31894         * tests/test-sqrtl.c (x): New variable.
31895         (main): Store argument in x and fetch it from x.
31896         * tests/test-tanl.c (x): New variable.
31897         (main): Store argument in x and fetch it from x.
31898
31899 2010-01-24  Bruno Haible  <bruno@clisp.org>
31900
31901         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
31902         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
31903         assignments to the initial TESTS_ENVIRONMENT.
31904         * doc/gnulib.texi (Unit test modules): Document it.
31905         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
31906         TESTS_ENVIRONMENT.
31907         * modules/btowc-tests (Makefile.am): Likewise.
31908         * modules/c-stack-tests (Makefile.am): Likewise.
31909         * modules/c-strcase-tests (Makefile.am): Likewise.
31910         * modules/copy-file-tests (Makefile.am): Likewise.
31911         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
31912         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
31913         * modules/mbrtowc-tests (Makefile.am): Likewise.
31914         * modules/mbscasecmp-tests (Makefile.am): Likewise.
31915         * modules/mbscasestr-tests (Makefile.am): Likewise.
31916         * modules/mbschr-tests (Makefile.am): Likewise.
31917         * modules/mbscspn-tests (Makefile.am): Likewise.
31918         * modules/mbsinit-tests (Makefile.am): Likewise.
31919         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
31920         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
31921         * modules/mbspbrk-tests (Makefile.am): Likewise.
31922         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
31923         * modules/mbsrchr-tests (Makefile.am): Likewise.
31924         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
31925         * modules/mbsspn-tests (Makefile.am): Likewise.
31926         * modules/mbsstr-tests (Makefile.am): Likewise.
31927         * modules/nl_langinfo-tests (Makefile.am): Likewise.
31928         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
31929         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
31930         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
31931         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
31932         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
31933         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
31934         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
31935         * modules/wcrtomb-tests (Makefile.am): Likewise.
31936         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
31937         * modules/wcsrtombs-tests (Makefile.am): Likewise.
31938         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
31939         assignments from TESTS_ENVIRONMENT.
31940         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
31941         augmentation.
31942         * modules/argp-version-etc-tests (Makefile.am): Likewise.
31943         * modules/atexit-tests (Makefile.am): Likewise.
31944         * modules/binary-io-tests (Makefile.am): Likewise.
31945         * modules/closein-tests (Makefile.am): Likewise.
31946         * modules/dprintf-posix-tests (Makefile.am): Likewise.
31947         * modules/exclude-tests (Makefile.am): Likewise.
31948         * modules/fflush-tests (Makefile.am): Likewise.
31949         * modules/fpending-tests (Makefile.am): Likewise.
31950         * modules/fprintf-posix-tests (Makefile.am): Likewise.
31951         * modules/freadahead-tests (Makefile.am): Likewise.
31952         * modules/freadptr-tests (Makefile.am): Likewise.
31953         * modules/freadseek-tests (Makefile.am): Likewise.
31954         * modules/fseek-tests (Makefile.am): Likewise.
31955         * modules/fseeko-tests (Makefile.am): Likewise.
31956         * modules/ftell-tests (Makefile.am): Likewise.
31957         * modules/ftello-tests (Makefile.am): Likewise.
31958         * modules/idpriv-drop-tests (Makefile.am): Likewise.
31959         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
31960         * modules/lseek-tests (Makefile.am): Likewise.
31961         * modules/parse-duration-tests (Makefile.am): Likewise.
31962         * modules/perror-tests (Makefile.am): Likewise.
31963         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
31964         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
31965         * modules/pipe-tests (Makefile.am): Likewise.
31966         * modules/pread-tests (Makefile.am): Likewise.
31967         * modules/printf-posix-tests (Makefile.am): Likewise.
31968         * modules/select-tests (Makefile.am): Likewise.
31969         * modules/sigpipe-tests (Makefile.am): Likewise.
31970         * modules/tsearch-tests (Makefile.am): Likewise.
31971         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
31972         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
31973         * modules/uniname/uniname-tests (Makefile.am): Likewise.
31974         * modules/uniwidth/width-tests (Makefile.am): Likewise.
31975         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
31976         * modules/version-etc-tests (Makefile.am): Likewise.
31977         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
31978         * modules/vprintf-posix-tests (Makefile.am): Likewise.
31979         * modules/xalloc-die-tests (Makefile.am): Likewise.
31980         * modules/xprintf-posix-tests (Makefile.am): Likewise.
31981         * modules/xstrtoimax-tests (Makefile.am): Likewise.
31982         * modules/xstrtol-tests (Makefile.am): Likewise.
31983         * modules/xstrtoumax-tests (Makefile.am): Likewise.
31984         * modules/yesno-tests (Makefile.am): Likewise.
31985         Suggested by Jim Meyering.
31986
31987 2010-01-24  Bruno Haible  <bruno@clisp.org>
31988
31989         More documentation.
31990         * doc/gnulib.texi (Writing modules): New chapter.
31991         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
31992         the new chapter.
31993
31994 2010-01-24  Jim Meyering  <meyering@redhat.com>
31995
31996         maint.mk: do not prepend "./" after filtering
31997         * top/maint.mk (_prepend_srcdir_prefix): New variable
31998         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
31999         "./" when $(srcdir) is ".".
32000
32001         define STREQ(a,b) consistently, removing useless parentheses
32002         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
32003         since the only risk is that "a" or "b" contains an unparenthesized
32004         comma, but if either did that, STREQ would have 3 or more arguments.
32005         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
32006         * lib/fts.c (STREQ): Remove unnecessary parentheses.
32007         * lib/hash-triple.c (STREQ): Likewise.
32008         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
32009         * lib/getugroups.c (STREQ): Likewise.
32010
32011 2010-01-23  Jim Meyering  <meyering@redhat.com>
32012
32013         maint.mk: fix syntax-check in a non-srcdir build directory
32014         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
32015         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
32016
32017 2010-01-22  Jim Meyering  <meyering@redhat.com>
32018
32019         userspec: add unit tests
32020         * tests/test-userspec.c: New file.
32021         * modules/userspec-tests: Likewise.
32022
32023 2010-01-21  Jim Meyering  <meyering@redhat.com>
32024
32025         maint.mk: handle source file names containing "." robustly
32026         * top/maint.mk (_dot_escaped_srcdir): Define.
32027         (VC_LIST): Use it in LHS of sed substitution.
32028
32029 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
32030
32031         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
32032         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
32033         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
32034         from a non-srcdir build.
32035
32036 2010-01-20  Eric Blake  <ebb9@byu.net>
32037
32038         warn-on-use: use instead of link-warning
32039         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
32040         * modules/unistd (Depends-on, Makefile.am): Likewise.
32041         * modules/arpa_inet (Depends-on): Replace link-warning with
32042         warn-on-use.
32043         (Makefile.am): Update rules accordingly.
32044         * modules/ctype (Depends-on, Makefile.am): Likewise.
32045         * modules/dirent (Depends-on, Makefile.am): Likewise.
32046         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
32047         * modules/inttypes (Depends-on, Makefile.am): Likewise.
32048         * modules/langinfo (Depends-on, Makefile.am): Likewise.
32049         * modules/locale (Depends-on, Makefile.am): Likewise.
32050         * modules/math (Depends-on, Makefile.am): Likewise.
32051         * modules/search (Depends-on, Makefile.am): Likewise.
32052         * modules/signal (Depends-on, Makefile.am): Likewise.
32053         * modules/spawn (Depends-on, Makefile.am): Likewise.
32054         * modules/stdlib (Depends-on, Makefile.am): Likewise.
32055         * modules/string (Depends-on, Makefile.am): Likewise.
32056         * modules/strings (Depends-on, Makefile.am): Likewise.
32057         * modules/sys_file (Depends-on, Makefile.am): Likewise.
32058         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
32059         * modules/sys_select (Depends-on, Makefile.am): Likewise.
32060         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
32061         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
32062         * modules/sys_times (Depends-on, Makefile.am): Likewise.
32063         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
32064         * modules/wchar (Depends-on, Makefile.am): Likewise.
32065         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
32066         should be poisoned.
32067         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
32068         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
32069         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
32070         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32071         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32072         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
32073         * m4/math_h.m4 (gl_MATH_H): Likewise.
32074         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
32075         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
32076         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32077         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
32078         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
32079         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
32080         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
32081         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
32082         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
32083         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32084         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
32085         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
32086         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32087         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32088         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32089         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32090         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
32091         GL_LINK_WARNING.
32092         * lib/ctype.in.h: Likewise.
32093         * lib/dirent.in.h: Likewise.
32094         * lib/fcntl.in.h: Likewise.
32095         * lib/inttypes.in.h: Likewise.
32096         * lib/langinfo.in.h: Likewise.
32097         * lib/locale.in.h: Likewise.
32098         * lib/math.in.h: Likewise.
32099         * lib/search.in.h: Likewise.
32100         * lib/signal.in.h: Likewise.
32101         * lib/spawn.in.h: Likewise.
32102         * lib/stdio.in.h: Likewise.
32103         * lib/stdlib.in.h: Likewise.
32104         * lib/string.in.h: Likewise.
32105         * lib/strings.in.h: Likewise.
32106         * lib/sys_file.in.h: Likewise.
32107         * lib/sys_ioctl.in.h: Likewise.
32108         * lib/sys_select.in.h: Likewise.
32109         * lib/sys_socket.in.h: Likewise.
32110         * lib/sys_stat.in.h: Likewise.
32111         * lib/sys_times.in.h: Likewise.
32112         * lib/sys_utsname.in.h: Likewise.
32113         * lib/unistd.in.h: Likewise.
32114         * lib/wchar.in.h: Likewise.
32115
32116 2010-01-20  Bruno Haible  <bruno@clisp.org>
32117
32118         Avoid duplicate -lm.
32119         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
32120         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
32121         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
32122         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
32123         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
32124         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
32125         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
32126         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
32127         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
32128         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
32129         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
32130         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
32131         Reported by Paolo Bonzini.
32132
32133 2010-01-19  Bruno Haible  <bruno@clisp.org>
32134
32135         langinfo, nl_langinfo: Relicense under LGPLv2+.
32136         * modules/langinfo (License): Change to LGPLv2+.
32137         * modules/nl_langinfo (License): Likewise.
32138         Patch by David Lutterkort <lutter@redhat.com>.
32139
32140 2010-01-19  Bruno Haible  <bruno@clisp.org>
32141
32142         Avoid compilation error with cc on OSF/1 5.1.
32143         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
32144         statement, not before.
32145         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32146
32147 2010-01-18  Bruno Haible  <bruno@clisp.org>
32148
32149         Avoid a link error due to the __printf__ symbol.
32150         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
32151         and 2.6.x.
32152         (__format__, __printf__): Remove definitions.
32153         * lib/argp-fmtstream.h: Likewise.
32154         * lib/argp.h: Likewise.
32155         * lib/error.h: Likewise.
32156         * lib/vasnprintf.h: Likewise.
32157         * lib/xprintf.h: Likewise.
32158         * lib/xvasprintf.h: Likewise.
32159         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32160
32161 2010-01-18  Bruno Haible  <bruno@clisp.org>
32162
32163         Tests for module 'tanl'.
32164         * modules/tanl-tests: New file.
32165         * tests/test-tanl.c: New file.
32166
32167         Tests for module 'sqrtl'.
32168         * modules/sqrtl-tests: New file.
32169         * tests/test-sqrtl.c: New file.
32170
32171         Tests for module 'sinl'.
32172         * modules/sinl-tests: New file.
32173         * tests/test-sinl.c: New file.
32174
32175         Tests for module 'logl'.
32176         * modules/logl-tests: New file.
32177         * tests/test-logl.c: New file.
32178
32179         Tests for module 'expl'.
32180         * modules/expl-tests: New file.
32181         * tests/test-expl.c: New file.
32182
32183         Tests for module 'cosl'.
32184         * modules/cosl-tests: New file.
32185         * tests/test-cosl.c: New file.
32186
32187         Tests for module 'atanl'.
32188         * modules/atanl-tests: New file.
32189         * tests/test-atanl.c: New file.
32190
32191         Tests for module 'asinl'.
32192         * modules/asinl-tests: New file.
32193         * tests/test-asinl.c: New file.
32194
32195         Tests for module 'acosl'.
32196         * modules/acosl-tests: New file.
32197         * tests/test-acosl.c: New file.
32198
32199         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32200         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
32201         tanl): Use the standard gnulib idiom.
32202         * lib/cosl.c: Don't include trigl.c and sincosl.c.
32203         * lib/sinl.c: Likewise.
32204         * lib/tanl.c: Don't include trigl.c.
32205         (kernel_tanl): Make static.
32206         * lib/sincosl.c: Include trigl.h first.
32207         * lib/trigl.c: Likewise.
32208         * m4/acosl.m4: New file.
32209         * m4/asinl.m4: New file.
32210         * m4/atanl.m4: New file.
32211         * m4/cosl.m4: New file.
32212         * m4/expl.m4: New file.
32213         * m4/logl.m4: New file.
32214         * m4/sinl.m4: New file.
32215         * m4/sqrtl.m4: New file.
32216         * m4/tanl.m4: New file.
32217         * m4/mathl.m4: Remove file.
32218         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
32219         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32220         Don't initialize GNULIB_MATHL.
32221         * modules/acosl: New file.
32222         * modules/asinl: New file.
32223         * modules/atanl: New file.
32224         * modules/cosl: New file.
32225         * modules/expl: New file.
32226         * modules/logl: New file.
32227         * modules/sinl: New file.
32228         * modules/sqrtl: New file.
32229         * modules/tanl: New file.
32230         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
32231         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
32232         substitute GNULIB_MATHL.
32233         * modules/mathl: Rewritten.
32234         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
32235         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
32236         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
32237         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
32238         * doc/posix-functions/expl.texi: Mention the 'expl' module.
32239         * doc/posix-functions/logl.texi: Mention the 'logl' module.
32240         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
32241         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
32242         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
32243
32244 2010-01-18  Bruno Haible  <bruno@clisp.org>
32245
32246         sqrt: Make gl_FUNC_SQRT requirable.
32247         * m4/sqrt.m4: New file.
32248         * modules/sqrt (Files): Add it.
32249         (configure.ac): Invoke gl_FUNC_SQRT.
32250
32251 2010-01-18  Bruno Haible  <bruno@clisp.org>
32252
32253         New modules for common <math.h> functions.
32254         * m4/mathfunc.m4: New file.
32255         * modules/acos: New file.
32256         * modules/asin: New file.
32257         * modules/atan: New file.
32258         * modules/atan2: New file.
32259         * modules/cbrt: New file.
32260         * modules/copysign: New file.
32261         * modules/cos: New file.
32262         * modules/cosh: New file.
32263         * modules/erf: New file.
32264         * modules/erfc: New file.
32265         * modules/exp: New file.
32266         * modules/fabs: New file.
32267         * modules/fmod: New file.
32268         * modules/hypot: New file.
32269         * modules/j0: New file.
32270         * modules/j1: New file.
32271         * modules/jn: New file.
32272         * modules/ldexp: New file.
32273         * modules/lgamma: New file.
32274         * modules/log: New file.
32275         * modules/log10: New file.
32276         * modules/log1p: New file.
32277         * modules/logb: New file.
32278         * modules/modf: New file.
32279         * modules/nextafter: New file.
32280         * modules/pow: New file.
32281         * modules/remainder: New file.
32282         * modules/rint: New file.
32283         * modules/sin: New file.
32284         * modules/sinh: New file.
32285         * modules/sqrt: New file.
32286         * modules/tan: New file.
32287         * modules/tanh: New file.
32288         * modules/y0: New file.
32289         * modules/y1: New file.
32290         * modules/yn: New file.
32291         * doc/posix-functions/acos.texi: Mention the 'acos' module.
32292         * doc/posix-functions/asin.texi: Mention the 'asin' module.
32293         * doc/posix-functions/atan.texi: Mention the 'atan' module.
32294         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
32295         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
32296         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
32297         * doc/posix-functions/cos.texi: Mention the 'cos' module.
32298         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
32299         * doc/posix-functions/erf.texi: Mention the 'erf' module.
32300         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
32301         * doc/posix-functions/exp.texi: Mention the 'exp' module.
32302         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
32303         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
32304         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
32305         * doc/posix-functions/j0.texi: Mention the 'j0' module.
32306         * doc/posix-functions/j1.texi: Mention the 'j1' module.
32307         * doc/posix-functions/jn.texi: Mention the 'jn' module.
32308         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
32309         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
32310         * doc/posix-functions/log.texi: Mention the 'log' module.
32311         * doc/posix-functions/log10.texi: Mention the 'log10' module.
32312         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
32313         * doc/posix-functions/logb.texi: Mention the 'logb' module.
32314         * doc/posix-functions/modf.texi: Mention the 'modf' module.
32315         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
32316         * doc/posix-functions/pow.texi: Mention the 'pow' module.
32317         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
32318         * doc/posix-functions/rint.texi: Mention the 'rint' module.
32319         * doc/posix-functions/sin.texi: Mention the 'sin' module.
32320         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
32321         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
32322         * doc/posix-functions/tan.texi: Mention the 'tan' module.
32323         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
32324         * doc/posix-functions/y0.texi: Mention the 'y0' module.
32325         * doc/posix-functions/y1.texi: Mention the 'y1' module.
32326         * doc/posix-functions/yn.texi: Mention the 'yn' module.
32327
32328 2010-01-18  Jim Meyering  <meyering@redhat.com>
32329
32330         ignore-value: relax license to LGPLv2+
32331         * modules/ignore-value (License): Relax to LGPLv2+.
32332
32333         getdate: don't leak when TZ contains two or more '"'s
32334         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
32335         double quote in TZ after the first one.
32336
32337         readtokens: do not leak internal token_lengths buffer
32338         * lib/readtokens.c (readtokens): Free the local, lengths,
32339         when the supplied "token_lengths" parameter is NULL.
32340
32341 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32342
32343         Fix a couple of missing LIBTHREAD link failures on AIX.
32344         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
32345         $(LIBTHREAD).
32346         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
32347
32348         Link test-poll against INET_PTON_LIB.
32349         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
32350         for inet_pton on Solaris 10.
32351
32352 2010-01-17  Bruno Haible  <bruno@clisp.org>
32353
32354         unistdio/*-sprintf: Fix typo in module description.
32355         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
32356         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
32357         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
32358         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
32359         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
32360         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
32361         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
32362         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32363
32364 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32365
32366         gnulib-tool: fix filelist for AIX, HP-UX ksh.
32367         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
32368         variables in shell case patterns, for AIX and HP-UX ksh.
32369
32370         Split large sed scripts, for HP-UX sed.
32371         * modules/stdio: Split sed scripts around 50 sed commands,
32372         to avoid HP-UX limit of 99 commands, in the near future.
32373         * modules/string: Likewise.
32374         * modules/unistd: Likewise.
32375
32376         gnulib-tool: avoid writing in the current directory.
32377         * gnulib-tool (func_emit_lib_Makefile_am)
32378         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
32379         not in the current directory, so concurrent gnulib-tool
32380         instances do not interfere.
32381
32382 2010-01-16  Jim Meyering  <meyering@redhat.com>
32383
32384         doc: update users.txt
32385         * users.txt: Add grep.
32386         (diffutils, gzip): Update URLs.
32387
32388 2010-01-12  Bruno Haible  <bruno@clisp.org>
32389
32390         posix_spawn: Avoid test failure on Cygwin.
32391         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
32392         characters.
32393         Reported by Simon Josefsson.
32394
32395 2010-01-12  Bruno Haible  <bruno@clisp.org>
32396
32397         * tests/test-cond.c (main): When skipping the test, show the reason.
32398
32399 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32400
32401         * lib/striconv.c (str_cd_iconv): Avoid if before free.
32402
32403 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32404
32405         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
32406         VC_LIST_ALWAYS_EXCLUDE_REGEX.
32407
32408 2010-01-12  Eric Blake  <ebb9@byu.net>
32409
32410         build: guarantee AS_VAR_IF
32411         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
32412         (gl_AS_VAR_IF): Move...
32413         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
32414         Reported by Simon Josefsson.
32415
32416 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32417
32418         * lib/stdio.in.h: Fix typo.
32419
32420 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32421
32422         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
32423         libgpg-error.
32424
32425 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32426
32427         * tests/test-xalloc-die.sh: Use $EXEEXT.
32428
32429 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32430             Bruno Haible  <bruno@clisp.org>
32431
32432         getlogin, getlogin_r: Avoid test failure.
32433         * tests/test-getlogin.c: Include <stdio.h>.
32434         (main): Skip the test when the function fails because stdin is not a
32435         tty.
32436         * tests/test-getlogin_r.c: Include <stdio.h>.
32437         (main): Skip the test when the function fails because stdin is not a
32438         tty.
32439
32440 2010-01-11  Eric Blake  <ebb9@byu.net>
32441
32442         tests: avoid more large file warnings
32443         * tests/test-fflush.c: Avoid warning about ftell use.
32444         * tests/test-fseek.c: Avoid warning about fseek use.
32445
32446 2010-01-10  Bruno Haible  <bruno@clisp.org>
32447
32448         nproc: Work better on Linux when /proc and /sys are not mounted.
32449         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
32450         as lower bound when, on glibc/Linux systems,
32451         sysconf (_SC_NPROCESSORS_CONF) returns 1.
32452         Suggested by Pádraig Brady <P@draigbrady.com>.
32453         Reported by Dmitry V. Levin <ldv@altlinux.org>.
32454
32455         nproc: Refactor.
32456         * lib/nproc.c (num_processors_via_affinity_mask): New function,
32457         extracted from num_processors.
32458         (num_processors): Call it.
32459
32460 2010-01-11  Jim Meyering  <meyering@redhat.com>
32461
32462         utimecmp: avoid new warning from upcoming gcc-4.5.0
32463         * lib/utimecmp.c (BILLION): Define using #define rather than an
32464         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
32465
32466 2010-01-11  Eric Blake  <ebb9@byu.net>
32467
32468         math: add portability warnings for classification macros
32469         * modules/math (Depends-on): Add warn-on-use.
32470         (Makefile.am): Provide new substitutions.
32471         * m4/math_h.m4 (gl_MATH_H): Require inline.
32472         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
32473         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
32474         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
32475         implement warnings.
32476
32477         unistd: warn on use of environ without module
32478         * modules/unistd (Depends-on): Add warn-on-use.
32479         (Makefile.am): Provide new substitutions.
32480         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
32481         * lib/unistd.in.h (environ): Wrap with a warning helper function.
32482
32483         stdio: warn on suspicious uses
32484         * modules/stdio (Depends-on): Add warn-on-use.
32485         (Makefile.am): Provide new substitutions.
32486         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
32487         fseeko.
32488         * lib/stdio.in.h (gets): Always warn on use.
32489         (fseek, ftell): Adjust when warnings are issued, and honor
32490         _GL_NO_LARGE_FILES as a way to silence the warning.
32491         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
32492         any warning about large file offsets.
32493         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
32494         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
32495         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
32496         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
32497         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
32498         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
32499         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
32500         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
32501
32502         warn-on-use: new module
32503         * modules/warn-on-use: New file.
32504         * build-aux/warn-on-use.h: Likewise.
32505         * m4/warn-on-use.m4: Likewise.
32506         * MODULES.html.sh (Support for building): Mention it.
32507
32508 2010-01-10  Bruno Haible  <bruno@clisp.org>
32509
32510         Tests for module 'unistr/u32-strdup'.
32511         * modules/unistr/u32-strdup-tests: New file.
32512         * tests/unistr/test-u32-strdup.c: New file.
32513
32514         Tests for module 'unistr/u16-strdup'.
32515         * modules/unistr/u16-strdup-tests: New file.
32516         * tests/unistr/test-u16-strdup.c: New file.
32517
32518         Tests for module 'unistr/u8-strdup'.
32519         * modules/unistr/u8-strdup-tests: New file.
32520         * tests/unistr/test-u8-strdup.c: New file.
32521         * tests/unistr/test-strdup.h: New file.
32522
32523         Tests for module 'unistr/u32-strncmp'.
32524         * modules/unistr/u32-strncmp-tests: New file.
32525         * tests/unistr/test-u32-strncmp.c: New file.
32526
32527         Tests for module 'unistr/u16-strncmp'.
32528         * modules/unistr/u16-strncmp-tests: New file.
32529         * tests/unistr/test-u16-strncmp.c: New file.
32530
32531         Tests for module 'unistr/u8-strncmp'.
32532         * modules/unistr/u8-strncmp-tests: New file.
32533         * tests/unistr/test-u8-strncmp.c: New file.
32534         * tests/unistr/test-strncmp.h: New file.
32535
32536         Tests for module 'unistr/u32-strcoll'.
32537         * modules/unistr/u32-strcoll-tests: New file.
32538         * tests/unistr/test-u32-strcoll.c: New file.
32539
32540         Tests for module 'unistr/u16-strcoll'.
32541         * modules/unistr/u16-strcoll-tests: New file.
32542         * tests/unistr/test-u16-strcoll.c: New file.
32543
32544         Tests for module 'unistr/u8-strcoll'.
32545         * modules/unistr/u8-strcoll-tests: New file.
32546         * tests/unistr/test-u8-strcoll.c: New file.
32547
32548         Tests for module 'unistr/u32-strcmp'.
32549         * modules/unistr/u32-strcmp-tests: New file.
32550         * tests/unistr/test-u32-strcmp.c: New file.
32551         * tests/unistr/test-u32-strcmp.h: New file.
32552
32553         Tests for module 'unistr/u16-strcmp'.
32554         * modules/unistr/u16-strcmp-tests: New file.
32555         * tests/unistr/test-u16-strcmp.c: New file.
32556         * tests/unistr/test-u16-strcmp.h: New file.
32557
32558         Tests for module 'unistr/u8-strcmp'.
32559         * modules/unistr/u8-strcmp-tests: New file.
32560         * tests/unistr/test-u8-strcmp.c: New file.
32561         * tests/unistr/test-u8-strcmp.h: New file.
32562         * tests/unistr/test-strcmp.h: New file.
32563
32564         Tests for module 'unistr/u32-strncat'.
32565         * modules/unistr/u32-strncat-tests: New file.
32566         * tests/unistr/test-u32-strncat.c: New file.
32567
32568         Tests for module 'unistr/u16-strncat'.
32569         * modules/unistr/u16-strncat-tests: New file.
32570         * tests/unistr/test-u16-strncat.c: New file.
32571
32572         Tests for module 'unistr/u8-strncat'.
32573         * modules/unistr/u8-strncat-tests: New file.
32574         * tests/unistr/test-u8-strncat.c: New file.
32575         * tests/unistr/test-strncat.h: New file.
32576
32577         Tests for module 'unistr/u32-strcat'.
32578         * modules/unistr/u32-strcat-tests: New file.
32579         * tests/unistr/test-u32-strcat.c: New file.
32580
32581         Tests for module 'unistr/u16-strcat'.
32582         * modules/unistr/u16-strcat-tests: New file.
32583         * tests/unistr/test-u16-strcat.c: New file.
32584
32585         Tests for module 'unistr/u8-strcat'.
32586         * modules/unistr/u8-strcat-tests: New file.
32587         * tests/unistr/test-u8-strcat.c: New file.
32588         * tests/unistr/test-strcat.h: New file.
32589
32590         Tests for module 'unistr/u32-stpncpy'.
32591         * modules/unistr/u32-stpncpy-tests: New file.
32592         * tests/unistr/test-u32-stpncpy.c: New file.
32593
32594         Tests for module 'unistr/u16-stpncpy'.
32595         * modules/unistr/u16-stpncpy-tests: New file.
32596         * tests/unistr/test-u16-stpncpy.c: New file.
32597
32598         Tests for module 'unistr/u8-stpncpy'.
32599         * modules/unistr/u8-stpncpy-tests: New file.
32600         * tests/unistr/test-u8-stpncpy.c: New file.
32601         * tests/unistr/test-stpncpy.h: New file.
32602
32603         Tests for module 'unistr/u32-strncpy'.
32604         * modules/unistr/u32-strncpy-tests: New file.
32605         * tests/unistr/test-u32-strncpy.c: New file.
32606
32607         Tests for module 'unistr/u16-strncpy'.
32608         * modules/unistr/u16-strncpy-tests: New file.
32609         * tests/unistr/test-u16-strncpy.c: New file.
32610
32611         Tests for module 'unistr/u8-strncpy'.
32612         * modules/unistr/u8-strncpy-tests: New file.
32613         * tests/unistr/test-u8-strncpy.c: New file.
32614         * tests/unistr/test-strncpy.h: New file.
32615
32616         Tests for module 'unistr/u32-stpcpy'.
32617         * modules/unistr/u32-stpcpy-tests: New file.
32618         * tests/unistr/test-u32-stpcpy.c: New file.
32619
32620         Tests for module 'unistr/u16-stpcpy'.
32621         * modules/unistr/u16-stpcpy-tests: New file.
32622         * tests/unistr/test-u16-stpcpy.c: New file.
32623
32624         Tests for module 'unistr/u8-stpcpy'.
32625         * modules/unistr/u8-stpcpy-tests: New file.
32626         * tests/unistr/test-u8-stpcpy.c: New file.
32627         * tests/unistr/test-stpcpy.h: New file.
32628
32629         Tests for module 'unistr/u32-strcpy'.
32630         * modules/unistr/u32-strcpy-tests: New file.
32631         * tests/unistr/test-u32-strcpy.c: New file.
32632
32633         Tests for module 'unistr/u16-strcpy'.
32634         * modules/unistr/u16-strcpy-tests: New file.
32635         * tests/unistr/test-u16-strcpy.c: New file.
32636
32637         Tests for module 'unistr/u8-strcpy'.
32638         * modules/unistr/u8-strcpy-tests: New file.
32639         * tests/unistr/test-u8-strcpy.c: New file.
32640         * tests/unistr/test-strcpy.h: New file.
32641
32642         Tests for module 'unistr/u32-strnlen'.
32643         * modules/unistr/u32-strnlen-tests: New file.
32644         * tests/unistr/test-u32-strnlen.c: New file.
32645
32646         Tests for module 'unistr/u16-strnlen'.
32647         * modules/unistr/u16-strnlen-tests: New file.
32648         * tests/unistr/test-u16-strnlen.c: New file.
32649
32650         Tests for module 'unistr/u8-strnlen'.
32651         * modules/unistr/u8-strnlen-tests: New file.
32652         * tests/unistr/test-u8-strnlen.c: New file.
32653         * tests/unistr/test-strnlen.h: New file.
32654
32655         Tests for module 'unistr/u32-strlen'.
32656         * modules/unistr/u32-strlen-tests: New file.
32657         * tests/unistr/test-u32-strlen.c: New file.
32658
32659         Tests for module 'unistr/u16-strlen'.
32660         * modules/unistr/u16-strlen-tests: New file.
32661         * tests/unistr/test-u16-strlen.c: New file.
32662
32663         Tests for module 'unistr/u8-strlen'.
32664         * modules/unistr/u8-strlen-tests: New file.
32665         * tests/unistr/test-u8-strlen.c: New file.
32666
32667         Tests for module 'unistr/u32-prev'.
32668         * modules/unistr/u32-prev-tests: New file.
32669         * tests/unistr/test-u32-prev.c: New file.
32670
32671         Tests for module 'unistr/u16-prev'.
32672         * modules/unistr/u16-prev-tests: New file.
32673         * tests/unistr/test-u16-prev.c: New file.
32674
32675         Tests for module 'unistr/u8-prev'.
32676         * modules/unistr/u8-prev-tests: New file.
32677         * tests/unistr/test-u8-prev.c: New file.
32678
32679         Tests for module 'unistr/u32-next'.
32680         * modules/unistr/u32-next-tests: New file.
32681         * tests/unistr/test-u32-next.c: New file.
32682
32683         Tests for module 'unistr/u16-next'.
32684         * modules/unistr/u16-next-tests: New file.
32685         * tests/unistr/test-u16-next.c: New file.
32686
32687         Tests for module 'unistr/u8-next'.
32688         * modules/unistr/u8-next-tests: New file.
32689         * tests/unistr/test-u8-next.c: New file.
32690
32691         Tests for module 'unistr/u32-strmbtouc'.
32692         * modules/unistr/u32-strmbtouc-tests: New file.
32693         * tests/unistr/test-u32-strmbtouc.c: New file.
32694
32695         Tests for module 'unistr/u16-strmbtouc'.
32696         * modules/unistr/u16-strmbtouc-tests: New file.
32697         * tests/unistr/test-u16-strmbtouc.c: New file.
32698
32699         Tests for module 'unistr/u8-strmbtouc'.
32700         * modules/unistr/u8-strmbtouc-tests: New file.
32701         * tests/unistr/test-u8-strmbtouc.c: New file.
32702
32703         Tests for module 'unistr/u32-strmblen'.
32704         * modules/unistr/u32-strmblen-tests: New file.
32705         * tests/unistr/test-u32-strmblen.c: New file.
32706
32707         Tests for module 'unistr/u16-strmblen'.
32708         * modules/unistr/u16-strmblen-tests: New file.
32709         * tests/unistr/test-u16-strmblen.c: New file.
32710
32711         Tests for module 'unistr/u8-strmblen'.
32712         * modules/unistr/u8-strmblen-tests: New file.
32713         * tests/unistr/test-u8-strmblen.c: New file.
32714
32715         Tests for module 'unistr/u32-cpy-alloc'.
32716         * modules/unistr/u32-cpy-alloc-tests: New file.
32717         * tests/unistr/test-u32-cpy-alloc.c: New file.
32718
32719         Tests for module 'unistr/u16-cpy-alloc'.
32720         * modules/unistr/u16-cpy-alloc-tests: New file.
32721         * tests/unistr/test-u16-cpy-alloc.c: New file.
32722
32723         Tests for module 'unistr/u8-cpy-alloc'.
32724         * modules/unistr/u8-cpy-alloc-tests: New file.
32725         * tests/unistr/test-u8-cpy-alloc.c: New file.
32726         * tests/unistr/test-cpy-alloc.h: New file.
32727
32728         Tests for module 'unistr/u32-mbsnlen'.
32729         * modules/unistr/u32-mbsnlen-tests: New file.
32730         * tests/unistr/test-u32-mbsnlen.c: New file.
32731
32732         Tests for module 'unistr/u16-mbsnlen'.
32733         * modules/unistr/u16-mbsnlen-tests: New file.
32734         * tests/unistr/test-u16-mbsnlen.c: New file.
32735
32736         Tests for module 'unistr/u8-mbsnlen'.
32737         * modules/unistr/u8-mbsnlen-tests: New file.
32738         * tests/unistr/test-u8-mbsnlen.c: New file.
32739
32740         Tests for module 'unistr/u32-chr'.
32741         * modules/unistr/u32-chr-tests: New file.
32742         * tests/unistr/test-u32-chr.c: New file.
32743
32744         Tests for module 'unistr/u16-chr'.
32745         * modules/unistr/u16-chr-tests: New file.
32746         * tests/unistr/test-u16-chr.c: New file.
32747
32748         Tests for module 'unistr/u8-chr'.
32749         * modules/unistr/u8-chr-tests: New file.
32750         * tests/unistr/test-u8-chr.c: New file.
32751         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
32752
32753         Tests for module 'unistr/u32-cmp2'.
32754         * modules/unistr/u32-cmp2-tests: New file.
32755         * tests/unistr/test-u32-cmp2.c: New file.
32756
32757         Tests for module 'unistr/u16-cmp2'.
32758         * modules/unistr/u16-cmp2-tests: New file.
32759         * tests/unistr/test-u16-cmp2.c: New file.
32760
32761         Tests for module 'unistr/u8-cmp2'.
32762         * modules/unistr/u8-cmp2-tests: New file.
32763         * tests/unistr/test-u8-cmp2.c: New file.
32764         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
32765
32766         Tests for module 'unistr/u32-cmp'.
32767         * modules/unistr/u32-cmp-tests: New file.
32768         * tests/unistr/test-u32-cmp.c: New file.
32769
32770         Tests for module 'unistr/u16-cmp'.
32771         * modules/unistr/u16-cmp-tests: New file.
32772         * tests/unistr/test-u16-cmp.c: New file.
32773
32774         Tests for module 'unistr/u8-cmp'.
32775         * modules/unistr/u8-cmp-tests: New file.
32776         * tests/unistr/test-u8-cmp.c: New file.
32777         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
32778
32779         Tests for module 'unistr/u32-set'.
32780         * modules/unistr/u32-set-tests: New file.
32781         * tests/unistr/test-u32-set.c: New file.
32782
32783         Tests for module 'unistr/u16-set'.
32784         * modules/unistr/u16-set-tests: New file.
32785         * tests/unistr/test-u16-set.c: New file.
32786
32787         Tests for module 'unistr/u8-set'.
32788         * modules/unistr/u8-set-tests: New file.
32789         * tests/unistr/test-u8-set.c: New file.
32790         * tests/unistr/test-set.h: New file.
32791
32792         Tests for module 'unistr/u32-move'.
32793         * modules/unistr/u32-move-tests: New file.
32794         * tests/unistr/test-u32-move.c: New file.
32795
32796         Tests for module 'unistr/u16-move'.
32797         * modules/unistr/u16-move-tests: New file.
32798         * tests/unistr/test-u16-move.c: New file.
32799
32800         Tests for module 'unistr/u8-move'.
32801         * modules/unistr/u8-move-tests: New file.
32802         * tests/unistr/test-u8-move.c: New file.
32803         * tests/unistr/test-move.h: New file.
32804
32805         Tests for module 'unistr/u32-cpy'.
32806         * modules/unistr/u32-cpy-tests: New file.
32807         * tests/unistr/test-u32-cpy.c: New file.
32808
32809         Tests for module 'unistr/u16-cpy'.
32810         * modules/unistr/u16-cpy-tests: New file.
32811         * tests/unistr/test-u16-cpy.c: New file.
32812
32813         Tests for module 'unistr/u8-cpy'.
32814         * modules/unistr/u8-cpy-tests: New file.
32815         * tests/unistr/test-u8-cpy.c: New file.
32816         * tests/unistr/test-cpy.h: New file.
32817
32818 2010-01-09  Bruno Haible  <bruno@clisp.org>
32819
32820         Tests for module 'unistr/u32-uctomb'.
32821         * modules/unistr/u32-uctomb-tests: New file.
32822         * tests/unistr/test-u32-uctomb.c: New file.
32823
32824         Tests for module 'unistr/u16-uctomb'.
32825         * modules/unistr/u16-uctomb-tests: New file.
32826         * tests/unistr/test-u16-uctomb.c: New file.
32827
32828         Tests for module 'unistr/u8-uctomb'.
32829         * modules/unistr/u8-uctomb-tests: New file.
32830         * tests/unistr/test-u8-uctomb.c: New file.
32831
32832         Tests for module 'unistr/u32-mbtoucr'.
32833         * modules/unistr/u32-mbtoucr-tests: New file.
32834         * tests/unistr/test-u32-mbtoucr.c: New file.
32835
32836         Tests for module 'unistr/u16-mbtoucr'.
32837         * modules/unistr/u16-mbtoucr-tests: New file.
32838         * tests/unistr/test-u16-mbtoucr.c: New file.
32839
32840         Tests for module 'unistr/u8-mbtoucr'.
32841         * modules/unistr/u8-mbtoucr-tests: New file.
32842         * tests/unistr/test-u8-mbtoucr.c: New file.
32843
32844         Tests for module 'unistr/u32-mbtouc'.
32845         * modules/unistr/u32-mbtouc-tests: New file.
32846         * tests/unistr/test-u32-mbtouc.c: New file.
32847
32848         Tests for module 'unistr/u16-mbtouc'.
32849         * modules/unistr/u16-mbtouc-tests: New file.
32850         * tests/unistr/test-u16-mbtouc.c: New file.
32851
32852         Tests for module 'unistr/u8-mbtouc'.
32853         * modules/unistr/u8-mbtouc-tests: New file.
32854         * tests/unistr/test-u8-mbtouc.c: New file.
32855
32856         Tests for module 'unistr/u32-mbtouc-unsafe'.
32857         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
32858         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
32859         * tests/unistr/test-u32-mbtouc.h: New file.
32860
32861         Tests for module 'unistr/u16-mbtouc-unsafe'.
32862         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
32863         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
32864         * tests/unistr/test-u16-mbtouc.h: New file.
32865
32866         Tests for module 'unistr/u8-mbtouc-unsafe'.
32867         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
32868         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
32869         * tests/unistr/test-u8-mbtouc.h: New file.
32870
32871         Tests for module 'unistr/u32-mblen'.
32872         * modules/unistr/u32-mblen-tests: New file.
32873         * tests/unistr/test-u32-mblen.c: New file.
32874
32875         Tests for module 'unistr/u16-mblen'.
32876         * modules/unistr/u16-mblen-tests: New file.
32877         * tests/unistr/test-u16-mblen.c: New file.
32878
32879         Tests for module 'unistr/u8-mblen'.
32880         * modules/unistr/u8-mblen-tests: New file.
32881         * tests/unistr/test-u8-mblen.c: New file.
32882
32883         Tests for module 'unistr/u32-to-u16'.
32884         * modules/unistr/u32-to-u16-tests: New file.
32885         * tests/unistr/test-u32-to-u16.c: New file.
32886
32887         Tests for module 'unistr/u32-to-u8'.
32888         * modules/unistr/u32-to-u8-tests: New file.
32889         * tests/unistr/test-u32-to-u8.c: New file.
32890
32891         Tests for module 'unistr/u16-to-u32'.
32892         * modules/unistr/u16-to-u32-tests: New file.
32893         * tests/unistr/test-u16-to-u32.c: New file.
32894
32895         Tests for module 'unistr/u16-to-u8'.
32896         * modules/unistr/u16-to-u8-tests: New file.
32897         * tests/unistr/test-u16-to-u8.c: New file.
32898
32899         Tests for module 'unistr/u8-to-u32'.
32900         * modules/unistr/u8-to-u32-tests: New file.
32901         * tests/unistr/test-u8-to-u32.c: New file.
32902
32903         Tests for module 'unistr/u8-to-u16'.
32904         * modules/unistr/u8-to-u16-tests: New file.
32905         * tests/unistr/test-u8-to-u16.c: New file.
32906
32907         Tests for module 'unistr/u32-check'.
32908         * modules/unistr/u32-check-tests: New file.
32909         * tests/unistr/test-u32-check.c: New file.
32910
32911         Tests for module 'unistr/u16-check'.
32912         * modules/unistr/u16-check-tests: New file.
32913         * tests/unistr/test-u16-check.c: New file.
32914
32915         Tests for module 'unistr/u8-check'.
32916         * modules/unistr/u8-check-tests: New file.
32917         * tests/unistr/test-u8-check.c: New file.
32918
32919         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
32920         (category_equals): New function.
32921         (main): Add more tests.
32922         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
32923
32924         * tests/unictype/test-bidi_byname.c (main): Add more tests.
32925
32926 2010-01-10  Bruno Haible  <bruno@clisp.org>
32927
32928         unistr/u*-strcoll: Try harder to distinguish different strings.
32929         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
32930         compare s1 and s2 to see if they are different.
32931
32932 2010-01-10  Bruno Haible  <bruno@clisp.org>
32933
32934         unistr/u*-stpncpy: Fix the return value.
32935         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
32936         description of the return value consistent with stpncpy in glibc.
32937         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
32938         written non-NUL unit.
32939
32940 2010-01-10  Bruno Haible  <bruno@clisp.org>
32941
32942         unistr/u*-next: Add missing dependencies.
32943         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
32944         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
32945         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
32946
32947 2010-01-10  Bruno Haible  <bruno@clisp.org>
32948
32949         unistr/u8-mbsnlen: Fix return value for incomplete character.
32950         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
32951         u8_mblen.
32952         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
32953         Remove unistr/u8-mblen.
32954         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
32955         u16_mblen.
32956         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
32957         Remove unistr/u16-mblen.
32958
32959 2010-01-10  Bruno Haible  <bruno@clisp.org>
32960
32961         wchar: Fix compilation error when <wchar.h> is used from coreutils.
32962         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
32963         Reported by Brian Gough <bjg@gnu.org> and
32964         Chris Clayton <chris2553@googlemail.com> via
32965         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
32966
32967 2010-01-09  Bruno Haible  <bruno@clisp.org>
32968
32969         unistr/u16-to-u32: Reject invalid input.
32970         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
32971         u16_mbtouc.
32972         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
32973         Remove unistr/u16-mbtouc.
32974
32975         unistr/u16-to-u8: Reject invalid input.
32976         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
32977         u16_mbtouc.
32978         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
32979         Remove unistr/u16-mbtouc.
32980
32981         unistr/u8-to-u32: Reject invalid input.
32982         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
32983         u8_mbtouc.
32984         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
32985         Remove unistr/u8-mbtouc.
32986
32987         unistr/u8-to-u16: Reject invalid input.
32988         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
32989         u8_mbtouc.
32990         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
32991         Remove unistr/u8-mbtouc.
32992
32993 2010-01-09  Bruno Haible  <bruno@clisp.org>
32994
32995         Tests for module 'getlogin'.
32996         * modules/getlogin-tests: New file.
32997         * tests/test-getlogin.c: New file.
32998
32999         New module 'getlogin'.
33000         * lib/unistd.in.h (getlogin): New declaration.
33001         * lib/getlogin.c: New file.
33002         * m4/getlogin.m4: New file.
33003         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
33004         HAVE_GETLOGIN.
33005         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
33006         HAVE_GETLOGIN.
33007         * modules/getlogin: New file.
33008         * doc/posix-functions/getlogin.texi: Mention the new module.
33009         Reported by John W. Eaton <jwe@gnu.org>.
33010
33011 2010-01-09  Bruno Haible  <bruno@clisp.org>
33012
33013         getlogin_r: Support for native Windows.
33014         * lib/getlogin_r.c: Include <windows.h>
33015         (getlogin_r): Implement for native Windows.
33016         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
33017         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
33018         via John W. Eaton <jwe@gnu.org>.
33019
33020 2010-01-09  Bruno Haible  <bruno@clisp.org>
33021
33022         getlogin_r: Small fixes.
33023         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
33024         succeeds.
33025         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
33026         before testing whether getlogin_r is declared. No need to set
33027         HAVE_DECL_GETLOGIN_R to 1.
33028         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
33029
33030 2010-01-09  Bruno Haible  <bruno@clisp.org>
33031
33032         * lib/unistd.in.h (getlogin_r): Add comment.
33033
33034 2010-01-09  Bruno Haible  <bruno@clisp.org>
33035
33036         Tests for module 'getlogin_r'.
33037         * modules/getlogin_r-tests: New file.
33038         * tests/test-getlogin_r.c: New file.
33039
33040 2010-01-09  Jim Meyering  <meyering@redhat.com>
33041
33042         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
33043         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
33044         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
33045
33046 2010-01-08  Simon Josefsson  <simon@josefsson.org>
33047
33048         * lib/dup2.c (rpl_dup2): Improve comment.
33049
33050 2010-01-08  Eric Blake  <ebb9@byu.net>
33051
33052         maint.mk: allow packages to add makefile @@ exceptions
33053         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
33054         (sc_makefile_check): Rename...
33055         (sc_makefile_at_at_check): ...to this, and use hook.
33056
33057         dup2: work around mingw bug
33058         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
33059         Reported by Simon Josefsson.
33060
33061 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
33062
33063         glob: Fix C++ compilation.
33064         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
33065         C++.
33066
33067 2010-01-07  Bruno Haible  <bruno@clisp.org>
33068
33069         Fix indentation of wctype.in.h, broken since 2007-01-06.
33070         * lib/wctype.in.h: Fix indentation of preprocessor directives.
33071
33072 2010-01-07  Bruno Haible  <bruno@clisp.org>
33073
33074         mbslen: Avoid collision with system function.
33075         * lib/string.in.h [MirBSD]: Include <wchar.h>.
33076         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
33077         * m4/mbslen.m4: New file.
33078         * modules/mbslen (Files): Add it.
33079         (configure.ac): Invoke gl_MBSLEN.
33080         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
33081         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
33082         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
33083         via Ian Beckwith <ianb@erislabs.net>.
33084
33085 2010-01-07  Bruno Haible  <bruno@clisp.org>
33086
33087         dirent: Document the last fix.
33088         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
33089
33090 2010-01-07  Bruno Haible  <bruno@clisp.org>
33091
33092         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
33093         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
33094         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
33095         va_list are defined.
33096         * doc/posix-headers/stdio.texi: Document the bug of missing types.
33097         Reported by Eric Blake.
33098
33099 2010-01-07  Bruno Haible  <bruno@clisp.org>
33100
33101         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
33102         * modules/xlist (Depends-on): Add 'list',
33103         * modules/xoset (Depends-on): Add 'oset'.
33104         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33105
33106 2010-01-07  Bruno Haible  <bruno@clisp.org>
33107
33108         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
33109         * doc/posix-functions/strncasecmp.texi: Likewise.
33110
33111 2010-01-07  Bruno Haible  <bruno@clisp.org>
33112
33113         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
33114
33115 2010-01-07  John W. Eaton  <jwe@octave.org>
33116
33117         wctype: allow C++ use
33118         * lib/wctype.in.h: Add extern "C" block for C++.
33119
33120 2010-01-06  Eric Blake  <ebb9@byu.net>
33121
33122         maint.mk: detect incorrect GFDL usage
33123         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
33124
33125 2010-01-06  Jim Meyering  <meyering@redhat.com>
33126         and Eric Blake  <ebb9@byu.net>
33127
33128         maint.mk: ignore multi-line copyright in NEWS
33129         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
33130
33131 2010-01-06  Eric Blake  <ebb9@byu.net>
33132
33133         select: add missing dependency
33134         * modules/select-tests (Depends-on): Move sockets dependency...
33135         * modules/select (Depends-on): ...here.
33136         Reported by Ian Beckwith.
33137
33138         doc: regenerate INSTALL
33139         * doc/INSTALL: Reflect recent autoconf update.
33140         * doc/INSTALL.ISO: Likewise.
33141         * doc/INSTALL.UTF-8: Likewise.
33142
33143         pread: fix compilation on glibc
33144         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
33145         Reported by Ralf Wildenhues.
33146
33147         dirent: fix test failure
33148         * lib/dirent.in.h (includes): Guarantee ino_t.
33149         Reported by Ralf Wildenhues.
33150
33151 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
33152
33153         linkat, renameat: avoid bad free
33154         * lib/at-func2.c (at_func2): Fix typo.
33155         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
33156
33157 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33158
33159         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
33160         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
33161         to avoid failure of symlink test later.
33162
33163 2010-01-06  Eric Blake  <ebb9@byu.net>
33164
33165         stdio, unistd: guarantee ssize_t
33166         * lib/unistd.in.h (includes): Ensure that types required by POSIX
33167         2008 are exposed when needed.
33168         * lib/stdio.in.h (includes): Likewise.
33169         Reported by Ralf Wildenhues.
33170
33171 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
33172
33173         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
33174         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
33175         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
33176
33177 2010-01-06  Jim Meyering  <meyering@redhat.com>
33178
33179         readtokens: this module *does* require xalloc.h
33180         It uses only functions that were omitted by the old syntax-check rule.
33181         * lib/readtokens.c: Include "xalloc.h" once again.
33182         * modules/readtokens (Depends-on): Add xalloc.
33183         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
33184
33185 2010-01-05  Eric Blake  <ebb9@byu.net>
33186
33187         maint: support 'make announcement' from a VPATH build
33188         * top/maint.mk (announcement): Look for correct NEWS file.
33189
33190 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
33191
33192         utimens (fdutimens): ignore a negative FD, per contract
33193         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
33194         when we have a valid file descriptor.  Otherwise, using a brand
33195         new glibc (with just-patched futimens that now fails with EBADF)
33196         would cause this function to fail with ENOSYS.
33197         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
33198         See also http://bugzilla.redhat.com/552320.
33199
33200 2010-01-05  Eric Blake  <ebb9@byu.net>
33201
33202         strcase: document what it provides
33203         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
33204         gnulib module.
33205         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
33206         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
33207
33208 2010-01-05  Jim Meyering  <meyering@redhat.com>
33209
33210         maint: remove useless inclusions of "xalloc.h"
33211         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
33212         * lib/readtokens.c: Likewise.
33213         * lib/same.c: Likewise.
33214         * modules/getloadavg (Depends-on): Remove xalloc.
33215         * modules/readtokens: Likewise.
33216         * modules/same: Likewise.
33217
33218         maint.mk: include 4 more function names in alloca.h-checking regexp
33219         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
33220         regexp.  Before, we would give a false-positive (saying alloca.h
33221         is included unnecessarily) when the only uses involved omitted symbols.
33222
33223         xalloc.h: use consistent formatting
33224         * lib/xalloc.h: Move declarations to start in the first column.
33225
33226 2010-01-05  Eric Blake  <ebb9@byu.net>
33227
33228         mkdir: avoid xalloc
33229         * lib/mkdir.c (includes): Drop unused header.
33230         Reported by John W. Eaton.
33231
33232 2010-01-04  Jim Meyering  <meyering@redhat.com>
33233
33234         nl_langinfo: avoid configure-time syntax error
33235         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
33236         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
33237         the empty string.  Don't let that provoke a shell syntax error.
33238
33239         regcomp, regexec, fnmatch: avoid array bounds read error
33240         * lib/regcomp.c (build_equiv_class): From glibc:
33241         Use only the low 24 bits of a findidx return value as an index
33242         into the weights array.  Patch by Ulrich Drepper:
33243         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
33244         * lib/regexec.c (check_node_accept_bytes): Likewise.
33245         * lib/fnmatch_loop.c (FCT): Likewise.
33246
33247         regcomp: skip collseq lookup when there are no rules
33248         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
33249         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
33250
33251         regcomp: recognize ill-formed { } expressions
33252         * lib/regcomp.c (parse_dup_op): From glibc:
33253         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
33254
33255         regcomp: fix typo in comment
33256         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
33257         s/satisfy/satisfies/.
33258
33259         regcomp: sync from glibc: remove dead store
33260         * lib/regcomp.c (duplicate_node_closure): Remove useless
33261         search_duplicated_node call and dead store.
33262
33263         regcomp: sync from glibc; always use nl_langinfo
33264         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
33265         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
33266         * modules/regex (Depends-on): Add nl_langinfo.
33267
33268 2010-01-04  Eric Blake  <ebb9@byu.net>
33269
33270         fdopendir: fix configure test
33271         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
33272
33273 2010-01-01  Bruno Haible  <bruno@clisp.org>
33274
33275         wchar: Remove unused configure check.
33276         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
33277
33278 2010-01-01  Eric Blake  <ebb9@byu.net>
33279
33280         headers: make check of system header explicit
33281         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
33282         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
33283         ourselves.
33284         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33285         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33286         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
33287         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
33288         internals.
33289         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
33290         missing.
33291         Suggested by Bruno Haible.
33292
33293 2010-01-01  Jim Meyering  <meyering@redhat.com>
33294
33295         ChangeLog: tweak to eliminate unnecessary copyright line
33296         * ChangeLog: Remove a copyright line that was mistakenly updated
33297         by today's update-copyright run.  Reported by Eric Blake.
33298
33299         test-update-copyright: don't let envvar setting cause test failure
33300         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33301
33302 2010-01-01  Bruno Haible  <bruno@clisp.org>
33303
33304         localename: Avoid gcc warning.
33305         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
33306         function if it is not used.
33307
33308 2010-01-01  Jim Meyering  <meyering@redhat.com>
33309
33310         update nearly all FSF copyright year lists to include 2010
33311         Use the same procedure as for 2009, outlined in
33312         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
33313
33314         version-etc: set COPYRIGHT_YEAR to 2010
33315         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
33316
33317 2009-12-31  Eric Blake  <ebb9@byu.net>
33318
33319         doc: correct availability of cygwin 1.5.x getopt
33320         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
33321         variables.
33322         * doc/posix-functions/opterr.texi (opterr): Likewise.
33323         * doc/posix-functions/optind.texi (optind): Likewise.
33324         * doc/posix-functions/optopt.texi (optopt): Likewise.
33325         * doc/posix-functions/tzname.texi (tzname): Likewise.
33326
33327         openat: update maintainer
33328         * modules/openat (Maintainer): Add myself.
33329
33330         utimens: avoid shadowing warning
33331         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
33332         buffers into one, to avoid shadowing, as well as avoiding a
33333         redundant stat.
33334         Reported by Jim Meyering.
33335
33336         test-dup2: avoid compiler warning
33337         * tests/test-dup2.c (is_inheritable): Only define if used.
33338
33339 2010-01-01  Bruno Haible  <bruno@clisp.org>
33340
33341         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
33342         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
33343         defined, use wctomb instead of wcrtomb.
33344
33345 2010-01-01  Bruno Haible  <bruno@clisp.org>
33346
33347         iconv: Reject native Solaris iconv.
33348         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
33349         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
33350
33351 2009-12-31  Bruno Haible  <bruno@clisp.org>
33352
33353         * tests/test-signal.c (main): Remove test of 'SIG'.
33354
33355 2009-12-31  Bruno Haible  <bruno@clisp.org>
33356
33357         spawn: Fix incomplete fix.
33358         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33359         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33360         warnings for GNULIB_POSIXCHECK again.
33361         Reported by Eric Blake.
33362
33363 2009-12-31  Bruno Haible  <bruno@clisp.org>
33364
33365         Avoid namespace pollution on glibc systems.
33366         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
33367         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
33368         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
33369         glibc systems.
33370
33371 2009-12-31  Bruno Haible  <bruno@clisp.org>
33372
33373         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
33374         (gl_REPLACE_WCHAR_H): Turn into a no-op.
33375         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
33376         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
33377         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
33378         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
33379         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
33380
33381 2009-12-31  Bruno Haible  <bruno@clisp.org>
33382
33383         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33384         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
33385         afterwards.
33386
33387 2009-12-31  Bruno Haible  <bruno@clisp.org>
33388
33389         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
33390         SYS_UTSNAME_H.
33391
33392 2009-12-31  Bruno Haible  <bruno@clisp.org>
33393
33394         spawn: Fix misapplied patch.
33395         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33396         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33397         warnings for GNULIB_POSIXCHECK.
33398
33399 2009-12-31  Bruno Haible  <bruno@clisp.org>
33400
33401         times: Update after sys_times changed.
33402         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
33403         * modules/times (Files): Add it.
33404         (configure.ac): Invoke gl_FUNC_TIMES.
33405
33406 2009-12-31  Bruno Haible  <bruno@clisp.org>
33407
33408         Use AC_C_INLINE where necessary.
33409         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
33410         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
33411         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
33412         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
33413         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33414         * m4/mbiter.m4 (gl_MBITER): Likewise.
33415         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33416         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
33417         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
33418         * modules/u64 (configure.ac): Likewise.
33419
33420 2009-12-31  Bruno Haible  <bruno@clisp.org>
33421
33422         Use AC_C_INLINE instead of module 'inline' where possible.
33423         * modules/inline (Description): Clarify purpose.
33424         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
33425         * modules/count-one-bits (Depends-on): Remove inline.
33426         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
33427         * modules/openat (Depends-on): Remove inline.
33428         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
33429         instead of depending on module 'inline'.
33430         * modules/filevercmp (Depends-on, configure.ac): Likewise.
33431         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
33432         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
33433         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
33434         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
33435         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
33436         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
33437         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
33438         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
33439         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
33440         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
33441         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
33442         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
33443         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
33444         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
33445         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
33446         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
33447         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
33448         Likewise.
33449         * modules/unictype/property-ascii-hex-digit (Depends-on,
33450         configure.ac): Likewise.
33451         * modules/unictype/property-bidi-arabic-digit (Depends-on,
33452         configure.ac): Likewise.
33453         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
33454         configure.ac): Likewise.
33455         * modules/unictype/property-bidi-block-separator (Depends-on,
33456         configure.ac): Likewise.
33457         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
33458         configure.ac): Likewise.
33459         * modules/unictype/property-bidi-common-separator (Depends-on,
33460         configure.ac): Likewise.
33461         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
33462         Likewise.
33463         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
33464         configure.ac): Likewise.
33465         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
33466         configure.ac): Likewise.
33467         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
33468         configure.ac): Likewise.
33469         * modules/unictype/property-bidi-european-digit (Depends-on,
33470         configure.ac): Likewise.
33471         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
33472         configure.ac): Likewise.
33473         * modules/unictype/property-bidi-left-to-right (Depends-on,
33474         configure.ac): Likewise.
33475         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
33476         configure.ac): Likewise.
33477         * modules/unictype/property-bidi-other-neutral (Depends-on,
33478         configure.ac): Likewise.
33479         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
33480         Likewise.
33481         * modules/unictype/property-bidi-segment-separator (Depends-on,
33482         configure.ac): Likewise.
33483         * modules/unictype/property-bidi-whitespace (Depends-on,
33484         configure.ac): Likewise.
33485         * modules/unictype/property-combining (Depends-on, configure.ac):
33486         Likewise.
33487         * modules/unictype/property-composite (Depends-on, configure.ac):
33488         Likewise.
33489         * modules/unictype/property-currency-symbol (Depends-on,
33490         configure.ac): Likewise.
33491         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
33492         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
33493         Likewise.
33494         * modules/unictype/property-default-ignorable-code-point (Depends-on,
33495         configure.ac): Likewise.
33496         * modules/unictype/property-deprecated (Depends-on, configure.ac):
33497         Likewise.
33498         * modules/unictype/property-diacritic (Depends-on, configure.ac):
33499         Likewise.
33500         * modules/unictype/property-extender (Depends-on, configure.ac):
33501         Likewise.
33502         * modules/unictype/property-format-control (Depends-on, configure.ac):
33503         Likewise.
33504         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
33505         Likewise.
33506         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
33507         Likewise.
33508         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
33509         Likewise.
33510         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
33511         Likewise.
33512         * modules/unictype/property-hyphen (Depends-on, configure.ac):
33513         Likewise.
33514         * modules/unictype/property-id-continue (Depends-on, configure.ac):
33515         Likewise.
33516         * modules/unictype/property-id-start (Depends-on, configure.ac):
33517         Likewise.
33518         * modules/unictype/property-ideographic (Depends-on, configure.ac):
33519         Likewise.
33520         * modules/unictype/property-ids-binary-operator (Depends-on,
33521         configure.ac): Likewise.
33522         * modules/unictype/property-ids-trinary-operator (Depends-on,
33523         configure.ac): Likewise.
33524         * modules/unictype/property-ignorable-control (Depends-on,
33525         configure.ac): Likewise.
33526         * modules/unictype/property-iso-control (Depends-on, configure.ac):
33527         Likewise.
33528         * modules/unictype/property-join-control (Depends-on, configure.ac):
33529         Likewise.
33530         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
33531         Likewise.
33532         * modules/unictype/property-line-separator (Depends-on, configure.ac):
33533         Likewise.
33534         * modules/unictype/property-logical-order-exception (Depends-on,
33535         configure.ac): Likewise.
33536         * modules/unictype/property-lowercase (Depends-on, configure.ac):
33537         Likewise.
33538         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
33539         * modules/unictype/property-non-break (Depends-on, configure.ac):
33540         Likewise.
33541         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
33542         Likewise.
33543         * modules/unictype/property-numeric (Depends-on, configure.ac):
33544         Likewise.
33545         * modules/unictype/property-other-alphabetic (Depends-on,
33546         configure.ac): Likewise.
33547         * modules/unictype/property-other-default-ignorable-code-point
33548         (Depends-on, configure.ac): Likewise.
33549         * modules/unictype/property-other-grapheme-extend (Depends-on,
33550         configure.ac): Likewise.
33551         * modules/unictype/property-other-id-continue (Depends-on,
33552         configure.ac): Likewise.
33553         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
33554         Likewise.
33555         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
33556         Likewise.
33557         * modules/unictype/property-other-math (Depends-on, configure.ac):
33558         Likewise.
33559         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
33560         Likewise.
33561         * modules/unictype/property-paired-punctuation (Depends-on,
33562         configure.ac): Likewise.
33563         * modules/unictype/property-paragraph-separator (Depends-on,
33564         configure.ac): Likewise.
33565         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
33566         Likewise.
33567         * modules/unictype/property-pattern-white-space (Depends-on,
33568         configure.ac): Likewise.
33569         * modules/unictype/property-private-use (Depends-on, configure.ac):
33570         Likewise.
33571         * modules/unictype/property-punctuation (Depends-on, configure.ac):
33572         Likewise.
33573         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
33574         Likewise.
33575         * modules/unictype/property-radical (Depends-on, configure.ac):
33576         Likewise.
33577         * modules/unictype/property-sentence-terminal (Depends-on,
33578         configure.ac): Likewise.
33579         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
33580         Likewise.
33581         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
33582         * modules/unictype/property-terminal-punctuation (Depends-on,
33583         configure.ac): Likewise.
33584         * modules/unictype/property-titlecase (Depends-on, configure.ac):
33585         Likewise.
33586         * modules/unictype/property-unassigned-code-value (Depends-on,
33587         configure.ac): Likewise.
33588         * modules/unictype/property-unified-ideograph (Depends-on,
33589         configure.ac): Likewise.
33590         * modules/unictype/property-uppercase (Depends-on, configure.ac):
33591         Likewise.
33592         * modules/unictype/property-variation-selector (Depends-on,
33593         configure.ac): Likewise.
33594         * modules/unictype/property-white-space (Depends-on, configure.ac):
33595         Likewise.
33596         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
33597         Likewise.
33598         * modules/unictype/property-xid-start (Depends-on, configure.ac):
33599         Likewise.
33600         * modules/unictype/property-zero-width (Depends-on, configure.ac):
33601         Likewise.
33602         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
33603         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
33604         Likewise.
33605
33606 2009-12-31  Bruno Haible  <bruno@clisp.org>
33607
33608         Remove unnecessary AC_C_INLINE invocation.
33609         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
33610         since 2009-08-21.
33611
33612 2009-12-31  Jim Meyering  <meyering@redhat.com>
33613
33614         maint.mk: don't require explicit gpg_key_ID in cfg.mk
33615         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
33616         With this change, we can all remove the gpg_key_ID = ... definition
33617         from our respective cfg.mk files.
33618
33619         maint.mk: create announcement template in ~/, not in /tmp
33620         * top/maint.mk (emit_upload_commands): Adjust.
33621         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
33622         Remove temporary file, .ci-msg.
33623
33624 2009-12-31  Eric Blake  <ebb9@byu.net>
33625
33626         link-warning: always build headers with link warnings
33627         * modules/arpa_inet (Makefile.am): Always build replacement
33628         header.
33629         * modules/ctype (Makefile.am): Likewise.
33630         * modules/dirent (Makefile.am): Likewise.
33631         * modules/inttypes (Makefile.am): Likewise.
33632         * modules/langinfo (Makefile.am): Likewise.
33633         * modules/locale (Makefile.am): Likewise.
33634         * modules/spawn (Makefile.am): Likewise.
33635         * modules/sys_file (Makefile.am): Likewise.
33636         * modules/sys_ioctl (Makefile.am): Likewise.
33637         * modules/sys_select (Makefile.am): Likewise.
33638         * modules/sys_socket (Makefile.am): Likewise.
33639         * modules/sys_times (Makefile.am): Likewise.
33640         * modules/sys_utsname (Makefile.am): Likewise.
33641         * modules/sys_wait (Makefile.am): Likewise.
33642         * modules/wchar (Makefile.am): Likewise.
33643         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
33644         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
33645         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
33646         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
33647         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
33648         Likewise.
33649         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33650         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33651         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
33652         Likewise.
33653         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
33654         Likewise.
33655         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
33656         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
33657         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
33658         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33659         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33660         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33661         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33662         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
33663         (gl_WCHAR_H_DEFAULTS): Likewise.
33664
33665 2009-12-31  Eric Blake  <ebb9@byu.net>
33666
33667         signal, spawn: use link warnings
33668         * lib/signal.in.h (sigset_t): Make unconditional.
33669         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
33670         (sigpending, sigprocmask, sigaction): Add link warnings.
33671         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
33672         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
33673         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
33674         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
33675         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
33676         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
33677         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
33678         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
33679         (posix_spawn_file_actions_destroy)
33680         (posix_spawn_file_actions_addopen)
33681         (posix_spawn_file_actions_addclose)
33682         (posix_spawn_file_actions_adddup2): Likewise.
33683         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
33684         * tests/test-signal.c (main): Enhance test.
33685
33686         spawn: improve wrapper support
33687         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
33688         (gl_SPAWN_H_DEFAULTS): New defaults.
33689         * modules/spawn (Makefile.am): Substitute them.
33690         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
33691         Only declare if missing or broken.
33692
33693         sys_times, sys_utsname: use include_next
33694         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
33695         header.
33696         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
33697         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33698         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33699         * modules/sys_times (Depends-on): Add include_next.
33700         (Makefile.am): Substitute additional values.
33701         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33702         * lib/sys_times.in.h (includes): Include native header, if
33703         available.
33704         * lib/sys_utsname.in.h (includes): Likewise.
33705         * tests/test-sys_times.c (main): Enhance test.
33706
33707         fdutimensat: revert prior patch
33708         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
33709         utimens.h.
33710         Reported by Bruno Haible.
33711
33712 2009-12-30  Eric Blake  <ebb9@byu.net>
33713
33714         sys_wait: drop link-warning dependency
33715         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
33716         link-warning efforts.
33717         * lib/sys_wait.in.h: Likewise.
33718
33719         fdutimensat: remove bogus dependency
33720         * modules/fdutimensat (Depends-on): Drop inline.
33721
33722         unistd: fix typo
33723         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
33724
33725 2009-12-30  Bruno Haible  <bruno@clisp.org>
33726
33727         Fix compilation error with Solaris cc.
33728         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
33729         * lib/unicase/u16-is-invariant.c: Likewise.
33730         * lib/unicase/u32-is-invariant.c: Likewise.
33731         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33732
33733 2009-12-30  Bruno Haible  <bruno@clisp.org>
33734
33735         Fix test crash.
33736         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
33737         locales.
33738         Reported by Simon Josefsson <simon@josefsson.org>.
33739
33740 2009-12-30  Bruno Haible  <bruno@clisp.org>
33741
33742         Fix compilation error on most platforms.
33743         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
33744         Reported by Simon Josefsson <simon@josefsson.org>
33745         and Nelson H. F. Beebe <beebe@math.utah.edu>.
33746
33747 2009-12-30  Eric Blake  <ebb9@byu.net>
33748
33749         futimens, utimensat: work around ntfs-3g bug
33750         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
33751         a ctime bug is present, and expand workaround to cover ntfs-3g.
33752         * lib/utimens.c (fdutimens, lutimens): Likewise.
33753         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
33754         (validate_timespec): Adjust return value.
33755         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
33756         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33757         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
33758
33759 2009-12-29  Eric Blake  <ebb9@byu.net>
33760
33761         link-warning: make usage consistent
33762         * modules/ctype (Depends-on): Add link-warning.
33763         (Makefile.am): Update rules accordingly.
33764         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33765         * modules/locale (Depends-on, Makefile.am): Likewise.
33766         * modules/sys_file (Makefile.am): Likewise.
33767         * modules/getopt-posix (Makefile.am): Delete unused link warning
33768         efforts.
33769         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
33770         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
33771         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
33772         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
33773
33774         stdio: remove unused variables
33775         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
33776         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
33777         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
33778
33779         tests: test more substitute headers
33780         * modules/ctype-tests: New file.
33781         * modules/dirent-tests: Likewise.
33782         * modules/spawn-tests: Likewise.
33783         * modules/sys_file-tests: Likewise.
33784         * modules/sys_ioctl-tests: Likewise.
33785         * modules/sys_wait-tests: Likewise.
33786         * tests/test-ctype.c: Likewise.
33787         * tests/test-dirent.c: Likewise.
33788         * tests/test-spawn.c: Likewise.
33789         * tests/test-sys_file.c: Likewise.
33790         * tests/test-sys_ioctl.c: Likewise.
33791         * tests/test-sys_wait.c: Likewise.
33792         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
33793         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
33794         whether or not flock is in use.
33795
33796         tests: remove License section from module
33797         * modules/arpa_inet-tests: Remove unneeded section.
33798         * modules/byteswap-tests: Likewise.
33799         * modules/ceilf-tests: Likewise.
33800         * modules/ceill-tests: Likewise.
33801         * modules/crypto/des-tests: Likewise.
33802         * modules/crypto/gc-arcfour-tests: Likewise.
33803         * modules/crypto/gc-arctwo-tests: Likewise.
33804         * modules/crypto/gc-des-tests: Likewise.
33805         * modules/crypto/gc-hmac-md5-tests: Likewise.
33806         * modules/crypto/gc-hmac-sha1-tests: Likewise.
33807         * modules/crypto/gc-md2-tests: Likewise.
33808         * modules/crypto/gc-md4-tests: Likewise.
33809         * modules/crypto/gc-md5-tests: Likewise.
33810         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
33811         * modules/crypto/gc-rijndael-tests: Likewise.
33812         * modules/crypto/gc-sha1-tests: Likewise.
33813         * modules/crypto/gc-tests: Likewise.
33814         * modules/crypto/md2-tests: Likewise.
33815         * modules/crypto/md4-tests: Likewise.
33816         * modules/fcntl-h-tests: Likewise.
33817         * modules/floorf-tests: Likewise.
33818         * modules/floorl-tests: Likewise.
33819         * modules/frexp-nolibm-tests: Likewise.
33820         * modules/frexp-tests: Likewise.
33821         * modules/frexpl-nolibm-tests: Likewise.
33822         * modules/frexpl-tests: Likewise.
33823         * modules/getaddrinfo-tests: Likewise.
33824         * modules/inttypes-tests: Likewise.
33825         * modules/isfinite-tests: Likewise.
33826         * modules/isinf-tests: Likewise.
33827         * modules/ldexpl-tests: Likewise.
33828         * modules/locale-tests: Likewise.
33829         * modules/math-tests: Likewise.
33830         * modules/netdb-tests: Likewise.
33831         * modules/netinet_in-tests: Likewise.
33832         * modules/printf-frexp-tests: Likewise.
33833         * modules/printf-frexpl-tests: Likewise.
33834         * modules/priv-set-tests: Likewise.
33835         * modules/random_r-tests: Likewise.
33836         * modules/round-tests: Likewise.
33837         * modules/roundf-tests: Likewise.
33838         * modules/roundl-tests: Likewise.
33839         * modules/search-tests: Likewise.
33840         * modules/select-tests: Likewise.
33841         * modules/signal-tests: Likewise.
33842         * modules/stdbool-tests: Likewise.
33843         * modules/stddef-tests: Likewise.
33844         * modules/stdint-tests: Likewise.
33845         * modules/stdio-tests: Likewise.
33846         * modules/stdlib-tests: Likewise.
33847         * modules/string-tests: Likewise.
33848         * modules/strings-tests: Likewise.
33849         * modules/sys_select-tests: Likewise.
33850         * modules/sys_socket-tests: Likewise.
33851         * modules/sys_stat-tests: Likewise.
33852         * modules/sys_time-tests: Likewise.
33853         * modules/sys_utsname-tests: Likewise.
33854         * modules/sysexits-tests: Likewise.
33855         * modules/time-tests: Likewise.
33856         * modules/trunc-tests: Likewise.
33857         * modules/truncf-tests: Likewise.
33858         * modules/truncl-tests: Likewise.
33859         * modules/tsearch-tests: Likewise.
33860         * modules/unistd-tests: Likewise.
33861         * modules/wchar-tests: Likewise.
33862         * modules/wctype-tests: Likewise.
33863
33864         tests: fix license on several tests
33865         * tests/test-des.c: Update to GPLv3+.
33866         * tests/test-flock.c: Likewise.
33867         * tests/test-fsync.c: Likewise.
33868         * tests/test-futimens.h: Likewise.
33869         * tests/test-gc-arcfour.c: Likewise.
33870         * tests/test-gc-arctwo.c: Likewise.
33871         * tests/test-gc-des.c: Likewise.
33872         * tests/test-gc-hmac-md5.c: Likewise.
33873         * tests/test-gc-hmac-sha1.c: Likewise.
33874         * tests/test-gc-md2.c: Likewise.
33875         * tests/test-gc-md4.c: Likewise.
33876         * tests/test-gc-md5.c: Likewise.
33877         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33878         * tests/test-gc-rijndael.c: Likewise.
33879         * tests/test-gc-sha1.c: Likewise.
33880         * tests/test-gc.c: Likewise.
33881         * tests/test-getcwd.c: Likewise.
33882         * tests/test-link.c: Likewise.
33883         * tests/test-link.h: Likewise.
33884         * tests/test-lutimens.h: Likewise.
33885         * tests/test-md2.c: Likewise.
33886         * tests/test-md4.c: Likewise.
33887         * tests/test-mkdir.h: Likewise.
33888         * tests/test-rename.c: Likewise.
33889         * tests/test-rename.h: Likewise.
33890         * tests/test-safe-alloc.c: Likewise.
33891         * tests/test-utimens-common.h: Likewise.
33892         * tests/test-utimens.h: Likewise.
33893
33894         maint: sync license texts
33895         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
33896         * doc/gpl-3.0.texi: Revert copyright year update.
33897         * doc/lgpl-3.0.texi: Likewise.
33898
33899 2009-12-29  Jim Meyering  <meyering@redhat.com>
33900
33901         update nearly all FSF copyright year lists to include 2009
33902         The files named by the following are exempted:
33903             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
33904               test -f "$dst" && { echo "$dst"; continue; }
33905               test -d "$dst" || continue
33906               echo "$dst"/$(basename "$src")
33907             done > exempt
33908             git ls-files tests/unictype >> exempt
33909         In the remaining files, convert to all-interval notation if
33910         - there is already at least one year interval like 2000-2003
33911         - the file is maintained by me
33912         - the file is in lib/uni*/, where that style already prevails
33913         Otherwise, use update-copyright's default.
33914
33915 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33916         and Eric Blake  <ebb9@byu.net>
33917
33918         tests: don't require debug system() to pass
33919         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
33920         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33921         * tests/test-unlink.h (test_unlink_func): Likewise.
33922         * tests/test-fstatat.c (main): ...into callers.
33923         * tests/test-lstat.c (main): Likewise.
33924         * tests/test-rmdir.c (main): Likewise.
33925         * tests/test-unlink.c (main): Likewise.
33926         * tests/test-unlinkat.c (main): Likewise.
33927         * tests/test-areadlink-with-size.c (main): Don't require a
33928         debug-only system call to pass, aiding cross-testing to mingw.
33929         * tests/test-areadlink.c (main): Likewise.
33930         * tests/test-areadlinkat-with-size.c (main): Likewise.
33931         * tests/test-areadlinkat.c (main): Likewise.
33932         * tests/test-canonicalize-lgpl.c (main): Likewise.
33933         * tests/test-canonicalize.c (main): Likewise.
33934         * tests/test-chown.c (main): Likewise.
33935         * tests/test-fchownat.c (main): Likewise.
33936         * tests/test-lchown.c (main): Likewise.
33937         * tests/test-fdutimensat.c (main): Likewise.
33938         * tests/test-futimens.c (main): Likewise.
33939         * tests/test-link.c (main): Likewise.
33940         * tests/test-linkat.c (main): Likewise.
33941         * tests/test-mkdir.c (main): Likewise.
33942         * tests/test-mkdirat.c (main): Likewise.
33943         * tests/test-mkfifo.c (main): Likewise.
33944         * tests/test-mkfifoat.c (main): Likewise.
33945         * tests/test-mknod.c (main): Likewise.
33946         * tests/test-readlink.c (main): Likewise.
33947         * tests/test-remove.c (main): Likewise.
33948         * tests/test-rename.c (main): Likewise.
33949         * tests/test-renameat.c (main): Likewise.
33950         * tests/test-symlink.c (main): Likewise.
33951         * tests/test-symlinkat.c (main): Likewise.
33952         * tests/test-utimens.c (main): Likewise.
33953         * tests/test-utimensat.c (main): Likewise.
33954
33955 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33956
33957         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
33958         on $(UNUSED_PARAMETER_H) to avoid build failure.
33959
33960 2009-12-28  Jim Meyering  <meyering@redhat.com>
33961
33962         update-copyright: you may specify a max. line length other than 72
33963         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33964
33965         maint: use consistent FSF copyright line syntax
33966         * lib/posixtm.c: Add missing comma in FSF copyright line.
33967         * lib/posixtm.h: Likewise.
33968         * lib/getugroups.c: Add missing ", Inc.".
33969
33970         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
33971         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
33972         FSF copyright line.  Remove trailing blanks.
33973
33974 2009-12-28  Eric Blake  <ebb9@byu.net>
33975
33976         test-dup2: reduce dependencies
33977         * modules/cloexec (Configure.ac): Set witness.
33978         * modules/dup2-tests (Depends-on): Drop cloexec.
33979         * tests/test-dup2.c (main): Skip portion of test if cloexec module
33980         not present.
33981         Suggested by Bruno Haible.
33982
33983 2009-12-26  Bruno Haible  <bruno@clisp.org>
33984
33985         Remove an unneeded dependency.
33986         * modules/fseterr (Depends-on): Remove dup2.
33987
33988 2009-12-26  Eric Blake  <ebb9@byu.net>
33989
33990         tests: use macros.h in more places
33991         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
33992         (ASSERT_STREAM): Provide default of stderr.
33993         * tests/test-dirent-safer.c: Include macros.h, using alternate
33994         stream for assertions.
33995         * tests/test-dup-safer.c: Likewise.
33996         * tests/test-freopen-safer.c: Likewise.
33997         * tests/test-getopt.c: Likewise.
33998         * tests/test-openat-safer.c: Likewise.
33999         * tests/test-pipe.c: Likewise.
34000         * tests/test-popen-safer.c: Likewise.
34001         * modules/dirent-safer-tests (Files): Include macros.h.
34002         * modules/unistd-safer-tests (Files): Likewise.
34003         * modules/freopen-safer-tests (Files): Likewise.
34004         * modules/getopt-posix-tests (Files): Likewise.
34005         * modules/openat-safer-tests (Files): Likewise.
34006         * modules/pipe-tests (Files): Likewise.
34007
34008 2009-12-26  Bruno Haible  <bruno@clisp.org>
34009
34010         javacomp: Portability fix.
34011         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
34012         that it also works on Solaris.
34013
34014 2009-12-26  Bruno Haible  <bruno@clisp.org>
34015
34016         localename: Fix storage allocation of gl_locale_name_thread's result.
34017         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
34018         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
34019         all platforms that have 'uselocale'.
34020         (gl_locale_name_thread_unsafe): New function, extracted from
34021         gl_locale_name_thread.
34022         (gl_locale_name_thread): Call struniq on all platforms that have
34023         'uselocale'.
34024         * tests/test-localename.c (test_locale_name_thread): Check that the
34025         resulting strings are permanently allocated.
34026         * modules/localename-tests (Depends-on): Add strdup.
34027
34028 2009-12-26  Bruno Haible  <bruno@clisp.org>
34029
34030         * tests/test-localename.c (categories): Fill in the strings.
34031
34032 2009-12-26  Jim Meyering  <meyering@redhat.com>
34033
34034         isdir: complete the removal of m4/isdir.m4
34035         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
34036
34037         isdir: clean up, since at least grep still uses it
34038         * lib/isdir.c: Include "isdir.h".
34039         (S_ISDIR): Remove now-unneeded definition.
34040         * modules/isdir (Files): Add lib/isdir.h.
34041         * lib/isdir.h: New file, with declaration.
34042         * m4/isdir.m4: Remove file -- unneeded.
34043
34044 2009-12-25  Bruno Haible  <bruno@clisp.org>
34045
34046         selinux-h: Make generated .h files standalone.
34047         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
34048         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
34049         * lib/se-selinux.in.h: Likewise.
34050         * modules/selinux-h (Depends-on): Add unused-parameter.
34051         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
34052         selinux/selinux.h and selinux/context.h.
34053         Suggested by Eric Blake.
34054
34055 2009-12-25  Bruno Haible  <bruno@clisp.org>
34056
34057         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
34058         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
34059         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
34060         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
34061         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
34062
34063 2009-12-24  Bruno Haible  <bruno@clisp.org>
34064
34065         openat: Fix warning.
34066         * lib/openat-proc.c: Include <unistd.h>.
34067
34068 2009-12-24  Bruno Haible  <bruno@clisp.org>
34069
34070         New module 'unused-parameter'.
34071         * build-aux/unused-parameter.h: New file, extracted from earlier
34072         gnulib-common.m4.
34073         * modules/unused-parameter: New file.
34074         * lib/unistr.h: Include unused-parameter.h.
34075         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
34076         _GL_UNUSED.
34077         * modules/unistr/base (Depends-on): Add unused-parameter.
34078
34079 2009-12-24  Bruno Haible  <bruno@clisp.org>
34080
34081         Add missing dependencies to 'extensions' module.
34082         * m4/extensions.m4: Add comment.
34083         * modules/accept4 (Depends-on): Add extensions.
34084         * modules/dup3 (Depends-on): Likewise.
34085         * modules/fcntl (Depends-on): Likewise.
34086         * modules/futimens (Depends-on): Likewise.
34087         * modules/mknod (Depends-on): Likewise.
34088         * modules/pipe2 (Depends-on): Likewise.
34089         * modules/stat-time (Depends-on): Likewise.
34090         * modules/strcasestr-simple (Depends-on): Likewise.
34091         * modules/strsignal (Depends-on): Likewise.
34092         * modules/utimensat (Depends-on): Likewise.
34093         * modules/localcharset (Depends-on): Likewise. Needed because of
34094         gl_FCNTL_O_FLAGS.
34095         * modules/wcrtomb (Depends-on): Likewise. Needed because of
34096         AC_TYPE_MBSTATE_T.
34097         * modules/wcsnrtombs (Depends-on): Likewise.
34098         * modules/wcsrtombs (Depends-on): Likewise.
34099
34100 2009-12-24  Bruno Haible  <bruno@clisp.org>
34101
34102         binary-io: Avoid gcc warning due to SET_BINARY.
34103         * lib/binary-io.h (SET_BINARY): Cast the result to void.
34104         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
34105
34106 2009-12-24  Bruno Haible  <bruno@clisp.org>
34107
34108         Avoid future namespace pollution on glibc systems.
34109         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
34110         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
34111         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
34112         glibc systems.
34113
34114 2009-12-24  Bruno Haible  <bruno@clisp.org>
34115
34116         Refactor common macros used in tests.
34117         * tests/macros.h: New file.
34118         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
34119         and/or <stdlib.h>, if appropriate.
34120         (ASSERT, SIZEOF): Remove macros.
34121         * tests/test-areadlink-with-size.c: Likewise.
34122         * tests/test-areadlinkat.c: Likewise.
34123         * tests/test-areadlinkat-with-size.c: Likewise.
34124         * tests/test-argmatch.c: Likewise.
34125         * tests/test-argv-iter.c: Likewise.
34126         * tests/test-array-mergesort.c: Likewise.
34127         * tests/test-array_list.c: Likewise.
34128         * tests/test-array_oset.c: Likewise.
34129         * tests/test-avltree_list.c: Likewise.
34130         * tests/test-avltree_oset.c: Likewise.
34131         * tests/test-avltreehash_list.c: Likewise.
34132         * tests/test-base64.c: Likewise.
34133         * tests/test-binary-io.c: Likewise.
34134         * tests/test-bitrotate.c: Likewise.
34135         * tests/test-btowc.c: Likewise.
34136         * tests/test-byteswap.c: Likewise.
34137         * tests/test-c-ctype.c: Likewise.
34138         * tests/test-c-stack.c: Likewise.
34139         * tests/test-c-strcasecmp.c: Likewise.
34140         * tests/test-c-strcasestr.c: Likewise.
34141         * tests/test-c-strncasecmp.c: Likewise.
34142         * tests/test-c-strstr.c: Likewise.
34143         * tests/test-canonicalize-lgpl.c: Likewise.
34144         * tests/test-canonicalize.c: Likewise.
34145         * tests/test-carray_list.c: Likewise.
34146         * tests/test-ceilf1.c: Likewise.
34147         * tests/test-ceilf2.c: Likewise.
34148         * tests/test-ceill.c: Likewise.
34149         * tests/test-chown.c: Likewise.
34150         * tests/test-cloexec.c: Likewise.
34151         * tests/test-copy-acl.c: Likewise.
34152         * tests/test-copy-file.c: Likewise.
34153         * tests/test-count-one-bits.c: Likewise.
34154         * tests/test-dprintf-posix.c: Likewise.
34155         * tests/test-dup2.c: Likewise.
34156         * tests/test-dup3.c: Likewise.
34157         * tests/test-duplocale.c: Likewise.
34158         * tests/test-fbufmode.c: Likewise.
34159         * tests/test-fchdir.c: Likewise.
34160         * tests/test-fchownat.c: Likewise.
34161         * tests/test-fcntl-safer.c: Likewise.
34162         * tests/test-fcntl.c: Likewise.
34163         * tests/test-fdopendir.c: Likewise.
34164         * tests/test-fdutimensat.c: Likewise.
34165         * tests/test-fflush2.c: Likewise.
34166         * tests/test-file-has-acl.c: Likewise.
34167         * tests/test-filevercmp.c: Likewise.
34168         * tests/test-flock.c: Likewise.
34169         * tests/test-floorf1.c: Likewise.
34170         * tests/test-floorf2.c: Likewise.
34171         * tests/test-floorl.c: Likewise.
34172         * tests/test-fnmatch.c: Likewise.
34173         * tests/test-fopen.h: Likewise.
34174         * tests/test-fpending.c: Likewise.
34175         * tests/test-fprintf-posix.c: Likewise.
34176         * tests/test-fpurge.c: Likewise.
34177         * tests/test-freadable.c: Likewise.
34178         * tests/test-freadahead.c: Likewise.
34179         * tests/test-freading.c: Likewise.
34180         * tests/test-freadptr.c: Likewise.
34181         * tests/test-freadptr2.c: Likewise.
34182         * tests/test-freadseek.c: Likewise.
34183         * tests/test-freopen.c: Likewise.
34184         * tests/test-frexp.c: Likewise.
34185         * tests/test-frexpl.c: Likewise.
34186         * tests/test-fseek.c: Likewise.
34187         * tests/test-fseeko.c: Likewise.
34188         * tests/test-fstatat.c: Likewise.
34189         * tests/test-fstrcmp.c: Likewise.
34190         * tests/test-fsync.c: Likewise.
34191         * tests/test-ftell.c: Likewise.
34192         * tests/test-ftello.c: Likewise.
34193         * tests/test-func.c: Likewise.
34194         * tests/test-futimens.c: Likewise.
34195         * tests/test-fwritable.c: Likewise.
34196         * tests/test-fwriting.c: Likewise.
34197         * tests/test-getcwd.c: Likewise.
34198         * tests/test-getdate.c: Likewise.
34199         * tests/test-getdelim.c: Likewise.
34200         * tests/test-getdtablesize.c: Likewise.
34201         * tests/test-getgroups.c: Likewise.
34202         * tests/test-getline.c: Likewise.
34203         * tests/test-getndelim2.c: Likewise.
34204         * tests/test-glob.c: Likewise.
34205         * tests/test-hash.c: Likewise.
34206         * tests/test-i-ring.c: Likewise.
34207         * tests/test-iconv-utf.c: Likewise.
34208         * tests/test-iconv.c: Likewise.
34209         * tests/test-idpriv-drop.c: Likewise.
34210         * tests/test-idpriv-droptemp.c: Likewise.
34211         * tests/test-inet_ntop.c: Likewise.
34212         * tests/test-inet_pton.c: Likewise.
34213         * tests/test-isblank.c: Likewise.
34214         * tests/test-isfinite.c: Likewise.
34215         * tests/test-isinf.c: Likewise.
34216         * tests/test-isnan.c: Likewise.
34217         * tests/test-isnand.h: Likewise.
34218         * tests/test-isnanf.h: Likewise.
34219         * tests/test-isnanl.h: Likewise.
34220         * tests/test-lchown.c: Likewise.
34221         * tests/test-ldexpl.c: Likewise.
34222         * tests/test-link.c: Likewise.
34223         * tests/test-linkat.c: Likewise.
34224         * tests/test-linked_list.c: Likewise.
34225         * tests/test-linkedhash_list.c: Likewise.
34226         * tests/test-localename.c: Likewise.
34227         * tests/test-lseek.c: Likewise.
34228         * tests/test-lstat.c: Likewise.
34229         * tests/test-mbmemcasecmp.c: Likewise.
34230         * tests/test-mbmemcasecoll.c: Likewise.
34231         * tests/test-mbrtowc.c: Likewise.
34232         * tests/test-mbscasecmp.c: Likewise.
34233         * tests/test-mbscasestr1.c: Likewise.
34234         * tests/test-mbscasestr2.c: Likewise.
34235         * tests/test-mbscasestr3.c: Likewise.
34236         * tests/test-mbscasestr4.c: Likewise.
34237         * tests/test-mbschr.c: Likewise.
34238         * tests/test-mbscspn.c: Likewise.
34239         * tests/test-mbsinit.c: Likewise.
34240         * tests/test-mbsncasecmp.c: Likewise.
34241         * tests/test-mbsnrtowcs.c: Likewise.
34242         * tests/test-mbspbrk.c: Likewise.
34243         * tests/test-mbspcasecmp.c: Likewise.
34244         * tests/test-mbsrchr.c: Likewise.
34245         * tests/test-mbsrtowcs.c: Likewise.
34246         * tests/test-mbsspn.c: Likewise.
34247         * tests/test-mbsstr1.c: Likewise.
34248         * tests/test-mbsstr2.c: Likewise.
34249         * tests/test-mbsstr3.c: Likewise.
34250         * tests/test-memchr.c: Likewise.
34251         * tests/test-memchr2.c: Likewise.
34252         * tests/test-memcmp.c: Likewise.
34253         * tests/test-memmem.c: Likewise.
34254         * tests/test-memrchr.c: Likewise.
34255         * tests/test-mkdir.c: Likewise.
34256         * tests/test-mkdirat.c: Likewise.
34257         * tests/test-mkfifo.c: Likewise.
34258         * tests/test-mkfifoat.c: Likewise.
34259         * tests/test-mknod.c: Likewise.
34260         * tests/test-nanosleep.c: Likewise.
34261         * tests/test-nl_langinfo.c: Likewise.
34262         * tests/test-obstack-printf.c: Likewise.
34263         * tests/test-open.c: Likewise.
34264         * tests/test-openat.c: Likewise.
34265         * tests/test-pipe-filter-gi1.c: Likewise.
34266         * tests/test-pipe-filter-gi2-main.c: Likewise.
34267         * tests/test-pipe-filter-ii1.c: Likewise.
34268         * tests/test-pipe-filter-ii2-main.c: Likewise.
34269         * tests/test-pipe2.c: Likewise.
34270         * tests/test-popen.h: Likewise.
34271         * tests/test-posixtm.c: Likewise.
34272         * tests/test-pread.c: Likewise.
34273         * tests/test-printf-frexp.c: Likewise.
34274         * tests/test-printf-frexpl.c: Likewise.
34275         * tests/test-printf-posix.c: Likewise.
34276         * tests/test-priv-set.c: Likewise.
34277         * tests/test-quotearg.c: Likewise.
34278         * tests/test-random_r.c: Likewise.
34279         * tests/test-rawmemchr.c: Likewise.
34280         * tests/test-rbtree_list.c: Likewise.
34281         * tests/test-rbtree_oset.c: Likewise.
34282         * tests/test-rbtreehash_list.c: Likewise.
34283         * tests/test-readlink.c: Likewise.
34284         * tests/test-remove.c: Likewise.
34285         * tests/test-rename.c: Likewise.
34286         * tests/test-renameat.c: Likewise.
34287         * tests/test-rmdir.c: Likewise.
34288         * tests/test-round1.c: Likewise.
34289         * tests/test-roundf1.c: Likewise.
34290         * tests/test-roundl.c: Likewise.
34291         * tests/test-safe-alloc.c: Likewise.
34292         * tests/test-sameacls.c: Likewise.
34293         * tests/test-set-mode-acl.c: Likewise.
34294         * tests/test-setenv.c: Likewise.
34295         * tests/test-sigaction.c: Likewise.
34296         * tests/test-signbit.c: Likewise.
34297         * tests/test-sleep.c: Likewise.
34298         * tests/test-snprintf-posix.c: Likewise.
34299         * tests/test-snprintf.c: Likewise.
34300         * tests/test-sprintf-posix.c: Likewise.
34301         * tests/test-stat-time.c: Likewise.
34302         * tests/test-stat.c: Likewise.
34303         * tests/test-strcasestr.c: Likewise.
34304         * tests/test-strchrnul.c: Likewise.
34305         * tests/test-strerror.c: Likewise.
34306         * tests/test-striconv.c: Likewise.
34307         * tests/test-striconveh.c: Likewise.
34308         * tests/test-striconveha.c: Likewise.
34309         * tests/test-strsignal.c: Likewise.
34310         * tests/test-strstr.c: Likewise.
34311         * tests/test-strtod.c: Likewise.
34312         * tests/test-strverscmp.c: Likewise.
34313         * tests/test-symlink.c: Likewise.
34314         * tests/test-symlinkat.c: Likewise.
34315         * tests/test-trunc1.c: Likewise.
34316         * tests/test-trunc2.c: Likewise.
34317         * tests/test-truncf1.c: Likewise.
34318         * tests/test-truncf2.c: Likewise.
34319         * tests/test-truncl.c: Likewise.
34320         * tests/test-uname.c: Likewise.
34321         * tests/test-unlink.c: Likewise.
34322         * tests/test-unlinkat.c: Likewise.
34323         * tests/test-unsetenv.c: Likewise.
34324         * tests/test-usleep.c: Likewise.
34325         * tests/test-utimens.c: Likewise.
34326         * tests/test-utimensat.c: Likewise.
34327         * tests/test-vasnprintf-posix.c: Likewise.
34328         * tests/test-vasnprintf-posix2.c: Likewise.
34329         * tests/test-vasnprintf.c: Likewise.
34330         * tests/test-vasprintf-posix.c: Likewise.
34331         * tests/test-vasprintf.c: Likewise.
34332         * tests/test-vdprintf-posix.c: Likewise.
34333         * tests/test-vfprintf-posix.c: Likewise.
34334         * tests/test-vprintf-posix.c: Likewise.
34335         * tests/test-vsnprintf-posix.c: Likewise.
34336         * tests/test-vsnprintf.c: Likewise.
34337         * tests/test-vsprintf-posix.c: Likewise.
34338         * tests/test-wcrtomb.c: Likewise.
34339         * tests/test-wcsnrtombs.c: Likewise.
34340         * tests/test-wcsrtombs.c: Likewise.
34341         * tests/test-wctype.c: Likewise.
34342         * tests/test-wcwidth.c: Likewise.
34343         * tests/test-xfprintf-posix.c: Likewise.
34344         * tests/test-xmemdup0.c: Likewise.
34345         * tests/test-xprintf-posix.c: Likewise.
34346         * tests/test-xvasprintf.c: Likewise.
34347         * tests/unicase/test-locale-language.c: Likewise.
34348         * tests/unicase/test-mapping-part1.h: Likewise.
34349         * tests/unicase/test-predicate-part1.h: Likewise.
34350         * tests/unicase/test-u8-casecmp.c: Likewise.
34351         * tests/unicase/test-u8-casecoll.c: Likewise.
34352         * tests/unicase/test-u8-casefold.c: Likewise.
34353         * tests/unicase/test-u8-is-cased.c: Likewise.
34354         * tests/unicase/test-u8-is-casefolded.c: Likewise.
34355         * tests/unicase/test-u8-is-lowercase.c: Likewise.
34356         * tests/unicase/test-u8-is-titlecase.c: Likewise.
34357         * tests/unicase/test-u8-is-uppercase.c: Likewise.
34358         * tests/unicase/test-u8-tolower.c: Likewise.
34359         * tests/unicase/test-u8-totitle.c: Likewise.
34360         * tests/unicase/test-u8-toupper.c: Likewise.
34361         * tests/unicase/test-u16-casecmp.c: Likewise.
34362         * tests/unicase/test-u16-casecoll.c: Likewise.
34363         * tests/unicase/test-u16-casefold.c: Likewise.
34364         * tests/unicase/test-u16-is-cased.c: Likewise.
34365         * tests/unicase/test-u16-is-casefolded.c: Likewise.
34366         * tests/unicase/test-u16-is-lowercase.c: Likewise.
34367         * tests/unicase/test-u16-is-titlecase.c: Likewise.
34368         * tests/unicase/test-u16-is-uppercase.c: Likewise.
34369         * tests/unicase/test-u16-tolower.c: Likewise.
34370         * tests/unicase/test-u16-totitle.c: Likewise.
34371         * tests/unicase/test-u16-toupper.c: Likewise.
34372         * tests/unicase/test-u32-casecmp.c: Likewise.
34373         * tests/unicase/test-u32-casecoll.c: Likewise.
34374         * tests/unicase/test-u32-casefold.c: Likewise.
34375         * tests/unicase/test-u32-is-cased.c: Likewise.
34376         * tests/unicase/test-u32-is-casefolded.c: Likewise.
34377         * tests/unicase/test-u32-is-lowercase.c: Likewise.
34378         * tests/unicase/test-u32-is-titlecase.c: Likewise.
34379         * tests/unicase/test-u32-is-uppercase.c: Likewise.
34380         * tests/unicase/test-u32-tolower.c: Likewise.
34381         * tests/unicase/test-u32-totitle.c: Likewise.
34382         * tests/unicase/test-u32-toupper.c: Likewise.
34383         * tests/unicase/test-ulc-casecmp.c: Likewise.
34384         * tests/unicase/test-ulc-casecoll.c: Likewise.
34385         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34386         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
34387         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34388         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34389         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
34390         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
34391         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34392         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34393         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34394         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
34395         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34396         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34397         * tests/unictype/test-bidi_byname.c: Likewise.
34398         * tests/unictype/test-bidi_name.c: Likewise.
34399         * tests/unictype/test-bidi_of.c: Likewise.
34400         * tests/unictype/test-bidi_test.c: Likewise.
34401         * tests/unictype/test-block_list.c: Likewise.
34402         * tests/unictype/test-block_of.c: Likewise.
34403         * tests/unictype/test-block_test.c: Likewise.
34404         * tests/unictype/test-categ_and.c: Likewise.
34405         * tests/unictype/test-categ_and_not.c: Likewise.
34406         * tests/unictype/test-categ_byname.c: Likewise.
34407         * tests/unictype/test-categ_name.c: Likewise.
34408         * tests/unictype/test-categ_none.c: Likewise.
34409         * tests/unictype/test-categ_of.c: Likewise.
34410         * tests/unictype/test-categ_or.c: Likewise.
34411         * tests/unictype/test-categ_test_withtable.c: Likewise.
34412         * tests/unictype/test-combining.c: Likewise.
34413         * tests/unictype/test-decdigit.c: Likewise.
34414         * tests/unictype/test-digit.c: Likewise.
34415         * tests/unictype/test-mirror.c: Likewise.
34416         * tests/unictype/test-numeric.c: Likewise.
34417         * tests/unictype/test-pr_byname.c: Likewise.
34418         * tests/unictype/test-pr_test.c: Likewise.
34419         * tests/unictype/test-predicate-part1.h: Likewise.
34420         * tests/unictype/test-scripts.c: Likewise.
34421         * tests/unictype/test-sy_c_ident.c: Likewise.
34422         * tests/unictype/test-sy_java_ident.c: Likewise.
34423         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
34424         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
34425         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
34426         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
34427         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
34428         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
34429         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
34430         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
34431         * tests/uninorm/test-canonical-decomposition.c: Likewise.
34432         * tests/uninorm/test-compat-decomposition.c: Likewise.
34433         * tests/uninorm/test-composition.c: Likewise.
34434         * tests/uninorm/test-decomposing-form.c: Likewise.
34435         * tests/uninorm/test-decomposition.c: Likewise.
34436         * tests/uninorm/test-u8-nfc.c: Likewise.
34437         * tests/uninorm/test-u8-nfd.c: Likewise.
34438         * tests/uninorm/test-u8-nfkc.c: Likewise.
34439         * tests/uninorm/test-u8-nfkd.c: Likewise.
34440         * tests/uninorm/test-u8-normcmp.c: Likewise.
34441         * tests/uninorm/test-u8-normcoll.c: Likewise.
34442         * tests/uninorm/test-u16-nfc.c: Likewise.
34443         * tests/uninorm/test-u16-nfd.c: Likewise.
34444         * tests/uninorm/test-u16-nfkc.c: Likewise.
34445         * tests/uninorm/test-u16-nfkd.c: Likewise.
34446         * tests/uninorm/test-u16-normcmp.c: Likewise.
34447         * tests/uninorm/test-u16-normcoll.c: Likewise.
34448         * tests/uninorm/test-u32-nfc.c: Likewise.
34449         * tests/uninorm/test-u32-nfd.c: Likewise.
34450         * tests/uninorm/test-u32-nfkc.c: Likewise.
34451         * tests/uninorm/test-u32-nfkd.c: Likewise.
34452         * tests/uninorm/test-u32-normalize-big.c: Likewise.
34453         * tests/uninorm/test-u32-normcmp.c: Likewise.
34454         * tests/uninorm/test-u32-normcoll.c: Likewise.
34455         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
34456         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
34457         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
34458         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
34459         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
34460         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
34461         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
34462         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
34463         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
34464         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
34465         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
34466         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
34467         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
34468         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
34469         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
34470         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
34471         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
34472         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
34473         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
34474         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
34475         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
34476         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
34477         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
34478         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
34479         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
34480         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
34481         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
34482         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
34483         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
34484         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
34485         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
34486         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
34487         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
34488         * tests/uniwidth/test-u8-strwidth.c: Likewise.
34489         * tests/uniwidth/test-u8-width.c: Likewise.
34490         * tests/uniwidth/test-u16-strwidth.c: Likewise.
34491         * tests/uniwidth/test-u16-width.c: Likewise.
34492         * tests/uniwidth/test-u32-strwidth.c: Likewise.
34493         * tests/uniwidth/test-u32-width.c: Likewise.
34494         * tests/uniwidth/test-uc_width.c: Likewise.
34495         * tests/uniwidth/test-uc_width2.c: Likewise.
34496         * modules/acl-tests (Files): Add tests/macros.h.
34497         * modules/areadlink-tests (Files): Likewise.
34498         * modules/areadlink-with-size-tests (Files): Likewise.
34499         * modules/areadlinkat-tests (Files): Likewise.
34500         * modules/areadlinkat-with-size-tests (Files): Likewise.
34501         * modules/argmatch-tests (Files): Likewise.
34502         * modules/argv-iter-tests (Files): Likewise.
34503         * modules/array-list-tests (Files): Likewise.
34504         * modules/array-mergesort-tests (Files): Likewise.
34505         * modules/array-oset-tests (Files): Likewise.
34506         * modules/avltree-list-tests (Files): Likewise.
34507         * modules/avltree-oset-tests (Files): Likewise.
34508         * modules/avltreehash-list-tests (Files): Likewise.
34509         * modules/base64-tests (Files): Likewise.
34510         * modules/binary-io-tests (Files): Likewise.
34511         * modules/bitrotate-tests (Files): Likewise.
34512         * modules/btowc-tests (Files): Likewise.
34513         * modules/byteswap-tests (Files): Likewise.
34514         * modules/c-ctype-tests (Files): Likewise.
34515         * modules/c-stack-tests (Files): Likewise.
34516         * modules/c-strcase-tests (Files): Likewise.
34517         * modules/c-strcasestr-tests (Files): Likewise.
34518         * modules/c-strstr-tests (Files): Likewise.
34519         * modules/canonicalize-lgpl-tests (Files): Likewise.
34520         * modules/canonicalize-tests (Files): Likewise.
34521         * modules/carray-list-tests (Files): Likewise.
34522         * modules/ceilf-tests (Files): Likewise.
34523         * modules/ceill-tests (Files): Likewise.
34524         * modules/chown-tests (Files): Likewise.
34525         * modules/cloexec-tests (Files): Likewise.
34526         * modules/copy-file-tests (Files): Likewise.
34527         * modules/count-one-bits-tests (Files): Likewise.
34528         * modules/dprintf-posix-tests (Files): Likewise.
34529         * modules/dup2-tests (Files): Likewise.
34530         * modules/dup3-tests (Files): Likewise.
34531         * modules/duplocale-tests (Files): Likewise.
34532         * modules/fbufmode-tests (Files): Likewise.
34533         * modules/fchdir-tests (Files): Likewise.
34534         * modules/fcntl-safer-tests (Files): Likewise.
34535         * modules/fcntl-tests (Files): Likewise.
34536         * modules/fdopendir-tests (Files): Likewise.
34537         * modules/fdutimensat-tests (Files): Likewise.
34538         * modules/fflush-tests (Files): Likewise.
34539         * modules/filevercmp-tests (Files): Likewise.
34540         * modules/flock-tests (Files): Likewise.
34541         * modules/floorf-tests (Files): Likewise.
34542         * modules/floorl-tests (Files): Likewise.
34543         * modules/fnmatch-tests (Files): Likewise.
34544         * modules/fopen-safer-tests (Files): Likewise.
34545         * modules/fopen-tests (Files): Likewise.
34546         * modules/fpending-tests (Files): Likewise.
34547         * modules/fprintf-posix-tests (Files): Likewise.
34548         * modules/fpurge-tests (Files): Likewise.
34549         * modules/freadable-tests (Files): Likewise.
34550         * modules/freadahead-tests (Files): Likewise.
34551         * modules/freading-tests (Files): Likewise.
34552         * modules/freadptr-tests (Files): Likewise.
34553         * modules/freadseek-tests (Files): Likewise.
34554         * modules/freopen-tests (Files): Likewise.
34555         * modules/frexp-nolibm-tests (Files): Likewise.
34556         * modules/frexp-tests (Files): Likewise.
34557         * modules/frexpl-nolibm-tests (Files): Likewise.
34558         * modules/frexpl-tests (Files): Likewise.
34559         * modules/fseek-tests (Files): Likewise.
34560         * modules/fseeko-tests (Files): Likewise.
34561         * modules/fstrcmp-tests (Files): Likewise.
34562         * modules/fsync-tests (Files): Likewise.
34563         * modules/ftell-tests (Files): Likewise.
34564         * modules/ftello-tests (Files): Likewise.
34565         * modules/func-tests (Files): Likewise.
34566         * modules/futimens-tests (Files): Likewise.
34567         * modules/fwritable-tests (Files): Likewise.
34568         * modules/fwriting-tests (Files): Likewise.
34569         * modules/getcwd-tests (Files): Likewise.
34570         * modules/getdate-tests (Files): Likewise.
34571         * modules/getdelim-tests (Files): Likewise.
34572         * modules/getdtablesize-tests (Files): Likewise.
34573         * modules/getgroups-tests (Files): Likewise.
34574         * modules/getline-tests (Files): Likewise.
34575         * modules/getndelim2-tests (Files): Likewise.
34576         * modules/glob-tests (Files): Likewise.
34577         * modules/hash-tests (Files): Likewise.
34578         * modules/i-ring-tests (Files): Likewise.
34579         * modules/iconv-tests (Files): Likewise.
34580         * modules/iconv_open-utf-tests (Files): Likewise.
34581         * modules/idpriv-drop-tests (Files): Likewise.
34582         * modules/idpriv-droptemp-tests (Files): Likewise.
34583         * modules/inet_ntop-tests (Files): Likewise.
34584         * modules/inet_pton-tests (Files): Likewise.
34585         * modules/isblank-tests (Files): Likewise.
34586         * modules/isfinite-tests (Files): Likewise.
34587         * modules/isinf-tests (Files): Likewise.
34588         * modules/isnan-tests (Files): Likewise.
34589         * modules/isnand-nolibm-tests (Files): Likewise.
34590         * modules/isnand-tests (Files): Likewise.
34591         * modules/isnanf-nolibm-tests (Files): Likewise.
34592         * modules/isnanf-tests (Files): Likewise.
34593         * modules/isnanl-nolibm-tests (Files): Likewise.
34594         * modules/isnanl-tests (Files): Likewise.
34595         * modules/lchown-tests (Files): Likewise.
34596         * modules/ldexpl-tests (Files): Likewise.
34597         * modules/link-tests (Files): Likewise.
34598         * modules/linkat-tests (Files): Likewise.
34599         * modules/linked-list-tests (Files): Likewise.
34600         * modules/linkedhash-list-tests (Files): Likewise.
34601         * modules/localename-tests (Files): Likewise.
34602         * modules/lseek-tests (Files): Likewise.
34603         * modules/lstat-tests (Files): Likewise.
34604         * modules/mbmemcasecmp-tests (Files): Likewise.
34605         * modules/mbmemcasecoll-tests (Files): Likewise.
34606         * modules/mbrtowc-tests (Files): Likewise.
34607         * modules/mbscasecmp-tests (Files): Likewise.
34608         * modules/mbscasestr-tests (Files): Likewise.
34609         * modules/mbschr-tests (Files): Likewise.
34610         * modules/mbscspn-tests (Files): Likewise.
34611         * modules/mbsinit-tests (Files): Likewise.
34612         * modules/mbsncasecmp-tests (Files): Likewise.
34613         * modules/mbsnrtowcs-tests (Files): Likewise.
34614         * modules/mbspbrk-tests (Files): Likewise.
34615         * modules/mbspcasecmp-tests (Files): Likewise.
34616         * modules/mbsrchr-tests (Files): Likewise.
34617         * modules/mbsrtowcs-tests (Files): Likewise.
34618         * modules/mbsspn-tests (Files): Likewise.
34619         * modules/mbsstr-tests (Files): Likewise.
34620         * modules/memchr-tests (Files): Likewise.
34621         * modules/memchr2-tests (Files): Likewise.
34622         * modules/memcmp-tests (Files): Likewise.
34623         * modules/memmem-tests (Files): Likewise.
34624         * modules/memrchr-tests (Files): Likewise.
34625         * modules/mkdir-tests (Files): Likewise.
34626         * modules/mkfifo-tests (Files): Likewise.
34627         * modules/mkfifoat-tests (Files): Likewise.
34628         * modules/mknod-tests (Files): Likewise.
34629         * modules/nanosleep-tests (Files): Likewise.
34630         * modules/nl_langinfo-tests (Files): Likewise.
34631         * modules/obstack-printf-tests (Files): Likewise.
34632         * modules/open-tests (Files): Likewise.
34633         * modules/openat-tests (Files): Likewise.
34634         * modules/pipe-filter-gi-tests (Files): Likewise.
34635         * modules/pipe-filter-ii-tests (Files): Likewise.
34636         * modules/pipe2-tests (Files): Likewise.
34637         * modules/popen-safer-tests (Files): Likewise.
34638         * modules/popen-tests (Files): Likewise.
34639         * modules/posixtm-tests (Files): Likewise.
34640         * modules/pread-tests (Files): Likewise.
34641         * modules/printf-frexp-tests (Files): Likewise.
34642         * modules/printf-frexpl-tests (Files): Likewise.
34643         * modules/printf-posix-tests (Files): Likewise.
34644         * modules/priv-set-tests (Files): Likewise.
34645         * modules/quotearg-tests (Files): Likewise.
34646         * modules/random_r-tests (Files): Likewise.
34647         * modules/rawmemchr-tests (Files): Likewise.
34648         * modules/rbtree-list-tests (Files): Likewise.
34649         * modules/rbtree-oset-tests (Files): Likewise.
34650         * modules/rbtreehash-list-tests (Files): Likewise.
34651         * modules/readlink-tests (Files): Likewise.
34652         * modules/remove-tests (Files): Likewise.
34653         * modules/rename-tests (Files): Likewise.
34654         * modules/renameat-tests (Files): Likewise.
34655         * modules/rmdir-tests (Files): Likewise.
34656         * modules/round-tests (Files): Likewise.
34657         * modules/roundf-tests (Files): Likewise.
34658         * modules/roundl-tests (Files): Likewise.
34659         * modules/safe-alloc-tests (Files): Likewise.
34660         * modules/setenv-tests (Files): Likewise.
34661         * modules/sigaction-tests (Files): Likewise.
34662         * modules/signbit-tests (Files): Likewise.
34663         * modules/sleep-tests (Files): Likewise.
34664         * modules/snprintf-posix-tests (Files): Likewise.
34665         * modules/snprintf-tests (Files): Likewise.
34666         * modules/sprintf-posix-tests (Files): Likewise.
34667         * modules/stat-tests (Files): Likewise.
34668         * modules/stat-time-tests (Files): Likewise.
34669         * modules/strcasestr-tests (Files): Likewise.
34670         * modules/strchrnul-tests (Files): Likewise.
34671         * modules/strerror-tests (Files): Likewise.
34672         * modules/striconv-tests (Files): Likewise.
34673         * modules/striconveh-tests (Files): Likewise.
34674         * modules/striconveha-tests (Files): Likewise.
34675         * modules/strsignal-tests (Files): Likewise.
34676         * modules/strstr-tests (Files): Likewise.
34677         * modules/strtod-tests (Files): Likewise.
34678         * modules/strverscmp-tests (Files): Likewise.
34679         * modules/symlink-tests (Files): Likewise.
34680         * modules/symlinkat-tests (Files): Likewise.
34681         * modules/trunc-tests (Files): Likewise.
34682         * modules/truncf-tests (Files): Likewise.
34683         * modules/truncl-tests (Files): Likewise.
34684         * modules/uname-tests (Files): Likewise.
34685         * modules/unicase/cased-tests (Files): Likewise.
34686         * modules/unicase/ignorable-tests (Files): Likewise.
34687         * modules/unicase/locale-language-tests (Files): Likewise.
34688         * modules/unicase/tolower-tests (Files): Likewise.
34689         * modules/unicase/totitle-tests (Files): Likewise.
34690         * modules/unicase/toupper-tests (Files): Likewise.
34691         * modules/unicase/u8-casecmp-tests (Files): Likewise.
34692         * modules/unicase/u8-casecoll-tests (Files): Likewise.
34693         * modules/unicase/u8-casefold-tests (Files): Likewise.
34694         * modules/unicase/u8-is-cased-tests (Files): Likewise.
34695         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
34696         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
34697         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
34698         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
34699         * modules/unicase/u8-tolower-tests (Files): Likewise.
34700         * modules/unicase/u8-totitle-tests (Files): Likewise.
34701         * modules/unicase/u8-toupper-tests (Files): Likewise.
34702         * modules/unicase/u16-casecmp-tests (Files): Likewise.
34703         * modules/unicase/u16-casecoll-tests (Files): Likewise.
34704         * modules/unicase/u16-casefold-tests (Files): Likewise.
34705         * modules/unicase/u16-is-cased-tests (Files): Likewise.
34706         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
34707         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
34708         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
34709         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
34710         * modules/unicase/u16-tolower-tests (Files): Likewise.
34711         * modules/unicase/u16-totitle-tests (Files): Likewise.
34712         * modules/unicase/u16-toupper-tests (Files): Likewise.
34713         * modules/unicase/u32-casecmp-tests (Files): Likewise.
34714         * modules/unicase/u32-casecoll-tests (Files): Likewise.
34715         * modules/unicase/u32-casefold-tests (Files): Likewise.
34716         * modules/unicase/u32-is-cased-tests (Files): Likewise.
34717         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
34718         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
34719         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
34720         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
34721         * modules/unicase/u32-tolower-tests (Files): Likewise.
34722         * modules/unicase/u32-totitle-tests (Files): Likewise.
34723         * modules/unicase/u32-toupper-tests (Files): Likewise.
34724         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
34725         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
34726         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
34727         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
34728         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
34729         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
34730         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
34731         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
34732         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
34733         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
34734         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
34735         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
34736         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
34737         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
34738         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
34739         * modules/unictype/bidicategory-name-tests (Files): Likewise.
34740         * modules/unictype/bidicategory-of-tests (Files): Likewise.
34741         * modules/unictype/bidicategory-test-tests (Files): Likewise.
34742         * modules/unictype/block-list-tests (Files): Likewise.
34743         * modules/unictype/block-of-tests (Files): Likewise.
34744         * modules/unictype/block-test-tests (Files): Likewise.
34745         * modules/unictype/category-C-tests (Files): Likewise.
34746         * modules/unictype/category-Cc-tests (Files): Likewise.
34747         * modules/unictype/category-Cf-tests (Files): Likewise.
34748         * modules/unictype/category-Cn-tests (Files): Likewise.
34749         * modules/unictype/category-Co-tests (Files): Likewise.
34750         * modules/unictype/category-Cs-tests (Files): Likewise.
34751         * modules/unictype/category-L-tests (Files): Likewise.
34752         * modules/unictype/category-Ll-tests (Files): Likewise.
34753         * modules/unictype/category-Lm-tests (Files): Likewise.
34754         * modules/unictype/category-Lo-tests (Files): Likewise.
34755         * modules/unictype/category-Lt-tests (Files): Likewise.
34756         * modules/unictype/category-Lu-tests (Files): Likewise.
34757         * modules/unictype/category-M-tests (Files): Likewise.
34758         * modules/unictype/category-Mc-tests (Files): Likewise.
34759         * modules/unictype/category-Me-tests (Files): Likewise.
34760         * modules/unictype/category-Mn-tests (Files): Likewise.
34761         * modules/unictype/category-N-tests (Files): Likewise.
34762         * modules/unictype/category-Nd-tests (Files): Likewise.
34763         * modules/unictype/category-Nl-tests (Files): Likewise.
34764         * modules/unictype/category-No-tests (Files): Likewise.
34765         * modules/unictype/category-P-tests (Files): Likewise.
34766         * modules/unictype/category-Pc-tests (Files): Likewise.
34767         * modules/unictype/category-Pd-tests (Files): Likewise.
34768         * modules/unictype/category-Pe-tests (Files): Likewise.
34769         * modules/unictype/category-Pf-tests (Files): Likewise.
34770         * modules/unictype/category-Pi-tests (Files): Likewise.
34771         * modules/unictype/category-Po-tests (Files): Likewise.
34772         * modules/unictype/category-Ps-tests (Files): Likewise.
34773         * modules/unictype/category-S-tests (Files): Likewise.
34774         * modules/unictype/category-Sc-tests (Files): Likewise.
34775         * modules/unictype/category-Sk-tests (Files): Likewise.
34776         * modules/unictype/category-Sm-tests (Files): Likewise.
34777         * modules/unictype/category-So-tests (Files): Likewise.
34778         * modules/unictype/category-Z-tests (Files): Likewise.
34779         * modules/unictype/category-Zl-tests (Files): Likewise.
34780         * modules/unictype/category-Zp-tests (Files): Likewise.
34781         * modules/unictype/category-Zs-tests (Files): Likewise.
34782         * modules/unictype/category-and-not-tests (Files): Likewise.
34783         * modules/unictype/category-and-tests (Files): Likewise.
34784         * modules/unictype/category-byname-tests (Files): Likewise.
34785         * modules/unictype/category-name-tests (Files): Likewise.
34786         * modules/unictype/category-none-tests (Files): Likewise.
34787         * modules/unictype/category-of-tests (Files): Likewise.
34788         * modules/unictype/category-or-tests (Files): Likewise.
34789         * modules/unictype/category-test-withtable-tests (Files): Likewise.
34790         * modules/unictype/combining-class-tests (Files): Likewise.
34791         * modules/unictype/ctype-alnum-tests (Files): Likewise.
34792         * modules/unictype/ctype-alpha-tests (Files): Likewise.
34793         * modules/unictype/ctype-blank-tests (Files): Likewise.
34794         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
34795         * modules/unictype/ctype-digit-tests (Files): Likewise.
34796         * modules/unictype/ctype-graph-tests (Files): Likewise.
34797         * modules/unictype/ctype-lower-tests (Files): Likewise.
34798         * modules/unictype/ctype-print-tests (Files): Likewise.
34799         * modules/unictype/ctype-punct-tests (Files): Likewise.
34800         * modules/unictype/ctype-space-tests (Files): Likewise.
34801         * modules/unictype/ctype-upper-tests (Files): Likewise.
34802         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
34803         * modules/unictype/decimal-digit-tests (Files): Likewise.
34804         * modules/unictype/digit-tests (Files): Likewise.
34805         * modules/unictype/mirror-tests (Files): Likewise.
34806         * modules/unictype/numeric-tests (Files): Likewise.
34807         * modules/unictype/property-alphabetic-tests (Files): Likewise.
34808         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
34809         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
34810         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
34811         Likewise.
34812         * modules/unictype/property-bidi-block-separator-tests (Files):
34813         Likewise.
34814         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
34815         Likewise.
34816         * modules/unictype/property-bidi-common-separator-tests (Files):
34817         Likewise.
34818         * modules/unictype/property-bidi-control-tests (Files): Likewise.
34819         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
34820         Likewise.
34821         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
34822         Likewise.
34823         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
34824         Likewise.
34825         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
34826         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
34827         Likewise.
34828         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
34829         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
34830         Likewise.
34831         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
34832         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
34833         * modules/unictype/property-bidi-segment-separator-tests (Files):
34834         Likewise.
34835         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
34836         * modules/unictype/property-byname-tests (Files): Likewise.
34837         * modules/unictype/property-combining-tests (Files): Likewise.
34838         * modules/unictype/property-composite-tests (Files): Likewise.
34839         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
34840         * modules/unictype/property-dash-tests (Files): Likewise.
34841         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
34842         * modules/unictype/property-default-ignorable-code-point-tests (Files):
34843         Likewise.
34844         * modules/unictype/property-deprecated-tests (Files): Likewise.
34845         * modules/unictype/property-diacritic-tests (Files): Likewise.
34846         * modules/unictype/property-extender-tests (Files): Likewise.
34847         * modules/unictype/property-format-control-tests (Files): Likewise.
34848         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
34849         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
34850         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
34851         * modules/unictype/property-hex-digit-tests (Files): Likewise.
34852         * modules/unictype/property-hyphen-tests (Files): Likewise.
34853         * modules/unictype/property-id-continue-tests (Files): Likewise.
34854         * modules/unictype/property-id-start-tests (Files): Likewise.
34855         * modules/unictype/property-ideographic-tests (Files): Likewise.
34856         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
34857         * modules/unictype/property-ids-trinary-operator-tests (Files):
34858         Likewise.
34859         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
34860         * modules/unictype/property-iso-control-tests (Files): Likewise.
34861         * modules/unictype/property-join-control-tests (Files): Likewise.
34862         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
34863         * modules/unictype/property-line-separator-tests (Files): Likewise.
34864         * modules/unictype/property-logical-order-exception-tests (Files):
34865         Likewise.
34866         * modules/unictype/property-lowercase-tests (Files): Likewise.
34867         * modules/unictype/property-math-tests (Files): Likewise.
34868         * modules/unictype/property-non-break-tests (Files): Likewise.
34869         * modules/unictype/property-not-a-character-tests (Files): Likewise.
34870         * modules/unictype/property-numeric-tests (Files): Likewise.
34871         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
34872         * modules/unictype/property-other-default-ignorable-code-point-tests
34873         (Files): Likewise.
34874         * modules/unictype/property-other-grapheme-extend-tests (Files):
34875         Likewise.
34876         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
34877         * modules/unictype/property-other-id-start-tests (Files): Likewise.
34878         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
34879         * modules/unictype/property-other-math-tests (Files): Likewise.
34880         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
34881         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
34882         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
34883         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
34884         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
34885         * modules/unictype/property-private-use-tests (Files): Likewise.
34886         * modules/unictype/property-punctuation-tests (Files): Likewise.
34887         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
34888         * modules/unictype/property-radical-tests (Files): Likewise.
34889         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
34890         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
34891         * modules/unictype/property-space-tests (Files): Likewise.
34892         * modules/unictype/property-terminal-punctuation-tests (Files):
34893         Likewise.
34894         * modules/unictype/property-test-tests (Files): Likewise.
34895         * modules/unictype/property-titlecase-tests (Files): Likewise.
34896         * modules/unictype/property-unassigned-code-value-tests (Files):
34897         Likewise.
34898         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
34899         * modules/unictype/property-uppercase-tests (Files): Likewise.
34900         * modules/unictype/property-variation-selector-tests (Files): Likewise.
34901         * modules/unictype/property-white-space-tests (Files): Likewise.
34902         * modules/unictype/property-xid-continue-tests (Files): Likewise.
34903         * modules/unictype/property-xid-start-tests (Files): Likewise.
34904         * modules/unictype/property-zero-width-tests (Files): Likewise.
34905         * modules/unictype/scripts-tests (Files): Likewise.
34906         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
34907         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
34908         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
34909         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
34910         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
34911         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
34912         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
34913         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
34914         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
34915         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
34916         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
34917         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
34918         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
34919         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
34920         * modules/uninorm/composition-tests (Files): Likewise.
34921         * modules/uninorm/decomposing-form-tests (Files): Likewise.
34922         * modules/uninorm/decomposition-tests (Files): Likewise.
34923         * modules/uninorm/filter-tests (Files): Likewise.
34924         * modules/uninorm/nfc-tests (Files): Likewise.
34925         * modules/uninorm/nfd-tests (Files): Likewise.
34926         * modules/uninorm/nfkc-tests (Files): Likewise.
34927         * modules/uninorm/nfkd-tests (Files): Likewise.
34928         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
34929         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
34930         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
34931         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
34932         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
34933         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
34934         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
34935         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
34936         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
34937         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
34938         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
34939         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
34940         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
34941         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
34942         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
34943         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
34944         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
34945         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
34946         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
34947         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
34948         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
34949         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
34950         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
34951         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
34952         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
34953         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
34954         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
34955         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
34956         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
34957         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
34958         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
34959         * modules/uniwidth/u8-width-tests (Files): Likewise.
34960         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
34961         * modules/uniwidth/u16-width-tests (Files): Likewise.
34962         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
34963         * modules/uniwidth/u32-width-tests (Files): Likewise.
34964         * modules/uniwidth/width-tests (Files): Likewise.
34965         * modules/unlink-tests (Files): Likewise.
34966         * modules/unsetenv-tests (Files): Likewise.
34967         * modules/usleep-tests (Files): Likewise.
34968         * modules/utimens-tests (Files): Likewise.
34969         * modules/utimensat-tests (Files): Likewise.
34970         * modules/vasnprintf-posix-tests (Files): Likewise.
34971         * modules/vasnprintf-tests (Files): Likewise.
34972         * modules/vasprintf-posix-tests (Files): Likewise.
34973         * modules/vasprintf-tests (Files): Likewise.
34974         * modules/vdprintf-posix-tests (Files): Likewise.
34975         * modules/vfprintf-posix-tests (Files): Likewise.
34976         * modules/vprintf-posix-tests (Files): Likewise.
34977         * modules/vsnprintf-posix-tests (Files): Likewise.
34978         * modules/vsnprintf-tests (Files): Likewise.
34979         * modules/vsprintf-posix-tests (Files): Likewise.
34980         * modules/wcrtomb-tests (Files): Likewise.
34981         * modules/wcsnrtombs-tests (Files): Likewise.
34982         * modules/wcsrtombs-tests (Files): Likewise.
34983         * modules/wctype-tests (Files): Likewise.
34984         * modules/wcwidth-tests (Files): Likewise.
34985         * modules/xmemdup0-tests (Files): Likewise.
34986         * modules/xprintf-posix-tests (Files): Likewise.
34987         * modules/xvasprintf-tests (Files): Likewise.
34988
34989 2009-12-24  Eric Blake  <ebb9@byu.net>
34990
34991         test-nanosleep: fix typo
34992         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
34993         patch.
34994         Reported by Bruno Haible.
34995
34996 2009-12-24  Bruno Haible  <bruno@clisp.org>
34997
34998         Reduce namespace pollution on glibc systems.
34999         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
35000         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
35001         systems.
35002         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
35003         <getopt.h> on glibc systems.
35004         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
35005         systems.
35006         * lib/fcntl.c: Include <unistd.h> here instead.
35007
35008 2009-12-24  Bruno Haible  <bruno@clisp.org>
35009
35010         * lib/stdlib.in.h (includes): Fix typo in today's commit.
35011
35012 2009-12-24  Eric Blake  <ebb9@byu.net>
35013
35014         tests: add signature checks
35015         * tests/signature.h (SIGNATURE_CHECK): New file.
35016         * modules/atexit-tests (Files): Use it.
35017         * modules/btowc-tests (Files): Likewise.
35018         * modules/canonicalize-lgpl-tests (Files): Likewise.
35019         * modules/ceilf-tests (Files): Likewise.
35020         * modules/ceill-tests (Files): Likewise.
35021         * modules/chown-tests (Files): Likewise.
35022         * modules/dprintf-posix-tests (Files): Likewise.
35023         * modules/dup2-tests (Files): Likewise.
35024         * modules/dup3-tests (Files): Likewise.
35025         * modules/duplocale-tests (Files): Likewise.
35026         * modules/fchdir-tests (Files): Likewise.
35027         * modules/fcntl-tests (Files): Likewise.
35028         * modules/fdopendir-tests (Files): Likewise.
35029         * modules/fflush-tests (Files): Likewise.
35030         * modules/flock-tests (Files): Likewise.
35031         * modules/floorf-tests (Files): Likewise.
35032         * modules/floorl-tests (Files): Likewise.
35033         * modules/fnmatch-tests (Files): Likewise.
35034         * modules/fopen-tests (Files): Likewise.
35035         * modules/fprintf-posix-tests (Files): Likewise.
35036         * modules/freopen-tests (Files): Likewise.
35037         * modules/frexp-nolibm-tests (Files): Likewise.
35038         * modules/frexp-tests (Files): Likewise.
35039         * modules/frexpl-nolibm-tests (Files): Likewise.
35040         * modules/frexpl-tests (Files): Likewise.
35041         * modules/fseek-tests (Files): Likewise.
35042         * modules/fseeko-tests (Files): Likewise.
35043         * modules/fsync-tests (Files): Likewise.
35044         * modules/ftell-tests (Files): Likewise.
35045         * modules/ftello-tests (Files): Likewise.
35046         * modules/futimens-tests (Files): Likewise.
35047         * modules/getaddrinfo-tests (Files): Likewise.
35048         * modules/getcwd-tests (Files): Likewise.
35049         * modules/getdelim-tests (Files): Likewise.
35050         * modules/getdtablesize-tests (Files): Likewise.
35051         * modules/getgroups-tests (Files): Likewise.
35052         * modules/gethostname-tests (Files): Likewise.
35053         * modules/getline-tests (Files): Likewise.
35054         * modules/getopt-posix-tests (Files): Likewise.
35055         * modules/gettimeofday-tests (Files): Likewise.
35056         * modules/glob-tests (Files): Likewise.
35057         * modules/iconv-tests (Files): Likewise.
35058         * modules/inet_ntop-tests (Files): Likewise.
35059         * modules/inet_pton-tests (Files): Likewise.
35060         * modules/isblank-tests (Files): Likewise.
35061         * modules/lchown-tests (Files): Likewise.
35062         * modules/ldexpl-tests (Files): Likewise.
35063         * modules/link-tests (Files): Likewise.
35064         * modules/linkat-tests (Files): Likewise.
35065         * modules/lseek-tests (Files): Likewise.
35066         * modules/lstat-tests (Files): Likewise.
35067         * modules/mbrtowc-tests (Files): Likewise.
35068         * modules/mbsinit-tests (Files): Likewise.
35069         * modules/mbsnrtowcs-tests (Files): Likewise.
35070         * modules/mbsrtowcs-tests (Files): Likewise.
35071         * modules/memchr-tests (Files): Likewise.
35072         * modules/memcmp-tests (Files): Likewise.
35073         * modules/memmem-tests (Files): Likewise.
35074         * modules/memrchr-tests (Files): Likewise.
35075         * modules/mkdir-tests (Files): Likewise.
35076         * modules/mkfifo-tests (Files): Likewise.
35077         * modules/mkfifoat-tests (Files): Likewise.
35078         * modules/mknod-tests (Files): Likewise.
35079         * modules/nanosleep-tests (Files): Likewise.
35080         * modules/nl_langinfo-tests (Files): Likewise.
35081         * modules/obstack-printf-tests (Files): Likewise.
35082         * modules/open-tests (Files): Likewise.
35083         * modules/openat-tests (Files): Likewise.
35084         * modules/perror-tests (Files): Likewise.
35085         * modules/pipe2-tests (Files): Likewise.
35086         * modules/poll-tests (Files): Likewise.
35087         * modules/popen-tests (Files): Likewise.
35088         * modules/posix_spawn-tests (Files): Likewise.
35089         * modules/posix_spawnp-tests (Files): Likewise.
35090         * modules/pread-tests (Files): Likewise.
35091         * modules/printf-posix-tests (Files): Likewise.
35092         * modules/pty-tests (Files): Likewise.
35093         * modules/random_r-tests (Files): Likewise.
35094         * modules/rawmemchr-tests (Files): Likewise.
35095         * modules/readlink-tests (Files): Likewise.
35096         * modules/remove-tests (Files): Likewise.
35097         * modules/rename-tests (Files): Likewise.
35098         * modules/renameat-tests (Files): Likewise.
35099         * modules/rmdir-tests (Files): Likewise.
35100         * modules/round-tests (Files): Likewise.
35101         * modules/roundf-tests (Files): Likewise.
35102         * modules/roundl-tests (Files): Likewise.
35103         * modules/select-tests (Files): Likewise.
35104         * modules/setenv-tests (Files): Likewise.
35105         * modules/sigaction-tests (Files): Likewise.
35106         * modules/sleep-tests (Files): Likewise.
35107         * modules/snprintf-posix-tests (Files): Likewise.
35108         * modules/snprintf-tests (Files): Likewise.
35109         * modules/sprintf-posix-tests (Files): Likewise.
35110         * modules/stat-tests (Files): Likewise.
35111         * modules/strcasestr-tests (Files): Likewise.
35112         * modules/strchrnul-tests (Files): Likewise.
35113         * modules/strerror-tests (Files): Likewise.
35114         * modules/strsignal-tests (Files): Likewise.
35115         * modules/strstr-tests (Files): Likewise.
35116         * modules/strtod-tests (Files): Likewise.
35117         * modules/strverscmp-tests (Files): Likewise.
35118         * modules/symlink-tests (Files): Likewise.
35119         * modules/symlinkat-tests (Files): Likewise.
35120         * modules/times-tests (Files): Likewise.
35121         * modules/trunc-tests (Files): Likewise.
35122         * modules/truncf-tests (Files): Likewise.
35123         * modules/truncl-tests (Files): Likewise.
35124         * modules/tsearch-tests (Files): Likewise.
35125         * modules/uname-tests (Files): Likewise.
35126         * modules/unlink-tests (Files): Likewise.
35127         * modules/unsetenv-tests (Files): Likewise.
35128         * modules/usleep-tests (Files): Likewise.
35129         * modules/utimensat-tests (Files): Likewise.
35130         * modules/vasprintf-tests (Files): Likewise.
35131         * modules/vdprintf-posix-tests (Files): Likewise.
35132         * modules/vfprintf-posix-tests (Files): Likewise.
35133         * modules/vprintf-posix-tests (Files): Likewise.
35134         * modules/vsnprintf-posix-tests (Files): Likewise.
35135         * modules/vsnprintf-tests (Files): Likewise.
35136         * modules/vsprintf-posix-tests (Files): Likewise.
35137         * modules/wcrtomb-tests (Files): Likewise.
35138         * modules/wcsnrtombs-tests (Files): Likewise.
35139         * modules/wcsrtombs-tests (Files): Likewise.
35140         * modules/wcwidth-tests (Files): Likewise.
35141         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
35142         * tests/test-isinf.c (isinf): Likewise.
35143         * tests/test-isnan.c (isnan): Likewise.
35144         * tests/test-signbit.c (signbit): Likewise.
35145         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
35146         declaration, either as macro or with correct signature.
35147         (select): Ensure function under test is declared with correct
35148         signature in correct header.
35149         * tests/test-atexit.c (atexit): Likewise.
35150         * tests/test-btowc.c (btowc): Likewise.
35151         * tests/test-canonicalize-lgpl.c (realpath)
35152         (canonicalize_file_name): Likewise.
35153         * tests/test-ceilf1.c (ceilf): Likewise.
35154         * tests/test-ceill.c (ceill): Likewise.
35155         * tests/test-chown.c (chown): Likewise.
35156         * tests/test-dprintf-posix.c (dprintf): Likewise.
35157         * tests/test-dup2.c (dup2): Likewise.
35158         * tests/test-dup3.c (dup3): Likewise.
35159         * tests/test-duplocale.c (duplocale): Likewise.
35160         * tests/test-fchdir.c (fchdir): Likewise.
35161         * tests/test-fchownat.c (fchownat): Likewise.
35162         * tests/test-fcntl.c (fcntl): Likewise.
35163         * tests/test-fdopendir.c (fdopendir): Likewise.
35164         * tests/test-fflush.c (fflush): Likewise.
35165         * tests/test-flock.c (flock): Likewise.
35166         * tests/test-floorf1.c (floorf): Likewise.
35167         * tests/test-floorl.c (floorl): Likewise.
35168         * tests/test-fnmatch.c (fnmatch): Likewise.
35169         * tests/test-fopen.c (fopen): Likewise.
35170         * tests/test-fprintf-posix.c (fprintf): Likewise.
35171         * tests/test-freopen.c (freopen): Likewise.
35172         * tests/test-frexp.c (frexp): Likewise.
35173         * tests/test-frexpl.c (frexpl): Likewise.
35174         * tests/test-fseek.c (fseek): Likewise.
35175         * tests/test-fseeko.c (fseeko): Likewise.
35176         * tests/test-fstatat.c (fstatat): Likewise.
35177         * tests/test-fsync.c (fsync): Likewise.
35178         * tests/test-ftell.c (ftell): Likewise.
35179         * tests/test-ftello.c (ftello): Likewise.
35180         * tests/test-futimens.c (futimens): Likewise.
35181         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
35182         (gai_strerror): Likewise.
35183         * tests/test-getcwd.c (getcwd): Likewise.
35184         * tests/test-getdelim.c (getdelim): Likewise.
35185         * tests/test-getdtablesize.c (getdtablesize): Likewise.
35186         * tests/test-getgroups.c (getgroups): Likewise.
35187         * tests/test-gethostname.c (gethostname): Likewise.
35188         * tests/test-getline.c (getline): Likewise.
35189         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
35190         Likewise.
35191         * tests/test-gettimeofday.c (gettimeofday): Likewise.
35192         * tests/test-glob.c (glob, globfree): Likewise.
35193         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
35194         * tests/test-inet_ntop.c (inet_ntop): Likewise.
35195         * tests/test-inet_pton.c (inet_pton): Likewise.
35196         * tests/test-isblank.c (isblank): Likewise.
35197         * tests/test-lchown.c (lchown): Likewise.
35198         * tests/test-ldexpl.c (ldexpl): Likewise.
35199         * tests/test-link.c (link): Likewise.
35200         * tests/test-linkat.c (linkat): Likewise.
35201         * tests/test-lseek.c (lseek): Likewise.
35202         * tests/test-lstat.c (lstat): Likewise.
35203         * tests/test-mbrtowc.c (mbrtowc): Likewise.
35204         * tests/test-mbsinit.c (mbsinit): Likewise.
35205         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
35206         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
35207         * tests/test-memchr.c (memchr): Likewise.
35208         * tests/test-memcmp.c (memcmp): Likewise.
35209         * tests/test-memmem.c (memmem): Likewise.
35210         * tests/test-memrchr.c (memrchr): Likewise.
35211         * tests/test-mkdir.c (mkdir): Likewise.
35212         * tests/test-mkdirat.c (mkdirat): Likewise.
35213         * tests/test-mkfifo.c (mkfifo): Likewise.
35214         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
35215         * tests/test-mknod.c (mknod): Likewise.
35216         * tests/test-nanosleep.c (nanosleep): Likewise.
35217         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
35218         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
35219         Likewise.
35220         * tests/test-open.c (open): Likewise.
35221         * tests/test-openat.c (openat): Likewise.
35222         * tests/test-perror.c (perror): Likewise.
35223         * tests/test-pipe2.c (pipe2): Likewise.
35224         * tests/test-poll.c (poll): Likewise.
35225         * tests/test-popen.c (popen, pclose): Likewise.
35226         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
35227         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
35228         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
35229         (posix_spawn_file_actions_destroy)
35230         (posix_spawn_file_actions_addclose)
35231         (posix_spawn_file_actions_addopen)
35232         (posix_spawn_file_actions_adddup2): Likewise.
35233         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
35234         * tests/test-pread.c (pread): Likewise.
35235         * tests/test-printf-posix.c (printf): Likewise.
35236         * tests/test-pty.c (openpty, forkpty): Likewise.
35237         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
35238         (random_r): Likewise.
35239         * tests/test-rawmemchr.c (rawmemchr): Likewise.
35240         * tests/test-readlink.c (readlink): Likewise.
35241         * tests/test-remove.c (remove): Likewise.
35242         * tests/test-rename.c (rename): Likewise.
35243         * tests/test-renameat.c (renameat): Likewise.
35244         * tests/test-rmdir.c (rmdir): Likewise.
35245         * tests/test-round1.c (round): Likewise.
35246         * tests/test-roundf1.c (roundf): Likewise.
35247         * tests/test-roundl.c (roundl): Likewise.
35248         * tests/test-setenv.c (setenv): Likewise.
35249         * tests/test-sigaction.c (sigaction): Likewise.
35250         * tests/test-sleep.c (sleep): Likewise.
35251         * tests/test-snprintf.c (snprintf): Likewise.
35252         * tests/test-sprintf-posix.c (sprintf): Likewise.
35253         * tests/test-stat.c (stat): Likewise.
35254         * tests/test-stpncpy.c (stpncpy): Likewise.
35255         * tests/test-strcasestr.c (strcasestr): Likewise.
35256         * tests/test-strchrnul.c (strchrnul): Likewise.
35257         * tests/test-strerror.c (strerror): Likewise.
35258         * tests/test-strsignal.c (strsignal): Likewise.
35259         * tests/test-strstr.c (strstr): Likewise.
35260         * tests/test-strtod.c (strtod): Likewise.
35261         * tests/test-strverscmp.c (strverscmp): Likewise.
35262         * tests/test-symlink.c (symlink): Likewise.
35263         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
35264         * tests/test-times.c (times): Likewise.
35265         * tests/test-trunc1.c (trunc): Likewise.
35266         * tests/test-truncf1.c (truncf): Likewise.
35267         * tests/test-truncl.c (truncl): Likewise.
35268         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
35269         Likewise.
35270         * tests/test-uname.c (uname): Likewise.
35271         * tests/test-unlink.c (unlink): Likewise.
35272         * tests/test-unlinkat.c (unlinkat): Likewise.
35273         * tests/test-unsetenv.c (unsetenv): Likewise.
35274         * tests/test-usleep.c (usleep): Likewise.
35275         * tests/test-utimensat.c (utimensat): Likewise.
35276         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
35277         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
35278         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
35279         * tests/test-vprintf-posix.c (vprintf): Likewise.
35280         * tests/test-vsnprintf.c (vsnprintf): Likewise.
35281         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
35282         * tests/test-wcrtomb.c (wcrtomb): Likewise.
35283         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
35284         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
35285         * tests/test-wcwidth.c (wcwidth): Likewise.
35286
35287         build: pull in conditional headers during GNULIB_POSIXCHECK
35288         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
35289         definitions from any conditionally-included headers.
35290         * lib/stdlib.in.h (includes): Likewise.
35291         * lib/unistd.in.h (includes): Likewise.
35292
35293 2009-12-24  Bruno Haible  <bruno@clisp.org>
35294
35295         * tests/test-argv-iter.c: Include header file being tested immediately
35296         after config.h.
35297         * tests/test-base64.c: Likewise.
35298         * tests/test-flock.c: Likewise.
35299         * tests/test-fsync.c: Likewise.
35300         * tests/test-getdate.c: Likewise.
35301         * tests/test-getndelim2.c: Likewise.
35302         * tests/test-isfinite.c: Likewise.
35303         * tests/test-isinf.c: Likewise.
35304         * tests/test-strerror.c: Likewise.
35305         * tests/test-strsignal.c: Likewise.
35306
35307 2009-12-23  Eric Blake  <ebb9@byu.net>
35308
35309         unistd: work around cygwin bug
35310         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
35311         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
35312         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35313
35314 2009-12-23  Bruno Haible  <bruno@clisp.org>
35315
35316         localename: More tests.
35317         * tests/test-localename.c (SIZEOF): New macro.
35318         (categories): New variable.
35319         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
35320         test_locale_name_default): Add test w.r.t. thread locale.
35321         (test_locale_name_thread): New function.
35322         (main): Invoke it.
35323
35324         localename: Make aware of thread locale.
35325         * lib/localename.h (gl_locale_name_thread): New declaration.
35326         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
35327         behaviour with respect to thread locale.
35328         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
35329         <langinfo.h>, glthread/lock.h.
35330         (SIZE_BITS): New macro.
35331         (string_hash): New function.
35332         (struct hash_node): New type.
35333         (HASH_TABLE_SIZE): New macro.
35334         (struniq_hash_table, struniq_lock): New variables.
35335         (struniq): New function.
35336         (gl_locale_name_thread): New function.
35337         (gl_locale_name): Invoke it.
35338         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
35339         * modules/localename (Depends-on): Add lock.
35340         Reported by Mike Gran <spk121@yahoo.com>.
35341
35342 2009-12-23  Eric Blake  <ebb9@byu.net>
35343
35344         va-args: new module
35345         * modules/va-args: New file.
35346         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
35347         * MODULES.html.sh (Core language properties): Mention it.
35348
35349         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
35350         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
35351         named alias for __attribute__((__unused__)).
35352         * lib/chown.c: Update client.
35353         * lib/fchmodat.c: Likewise.
35354         * lib/fts.c: Likewise.
35355         * lib/getdate.y: Likewise.
35356         * lib/getgroups.c: Likewise.
35357         * lib/getopt.c: Likewise.
35358         * lib/getugroups.c: Likewise.
35359         * lib/mkdir.c: Likewise.
35360         * lib/mkfifo.c: Likewise.
35361         * lib/mkfifoat.c: Likewise.
35362         * lib/mknod.c: Likewise.
35363         * lib/mknodat.c: Likewise.
35364         * lib/readlink.c: Likewise.
35365         * lib/se-context.in.h: Likewise.
35366         * lib/se-selinux.in.h: Likewise.
35367         * lib/sockets.c: Likewise.
35368         * lib/symlink.c: Likewise.
35369         * lib/symlinkat.c: Likewise.
35370         * lib/unicodeio.c: Likewise.
35371         * lib/unistr.h: Likewise.
35372         * tests/test-areadlink.c: Likewise.
35373         * tests/test-areadlinkat.c: Likewise.
35374         * tests/test-filenamecat.c: Likewise.
35375         * tests/test-fseeko.c: Likewise.
35376         * tests/test-ftello.c: Likewise.
35377         * tests/test-getdate.c: Likewise.
35378         * tests/test-getgroups.c: Likewise.
35379         * tests/test-gethostname.c: Likewise.
35380         * tests/test-quotearg.c: Likewise.
35381         * tests/test-version-etc.c: Likewise.
35382         * tests/test-xalloc-die.c: Likewise.
35383         * tests/test-xfprintf-posix.c: Likewise.
35384         * tests/test-xprintf-posix.c: Likewise.
35385         * tests/test-xvasprintf.c: Likewise.
35386
35387         tests: avoid compiler warnings
35388         * tests/test-fcntl.c (main): Delete unused parameters.
35389         * tests/test-freopen-safer.c (main): Likewise.
35390         * tests/test-xalloc-die.c (main): Mark unused parameters.
35391         * tests/test-fseeko.c (main): Likewise.
35392         * tests/test-ftello.c (main): Likewise.
35393         * tests/test-nanosleep.c (main): Avoid declaration warning.
35394         * tests/test-sleep.c (main): Likewise.
35395         * tests/test-unsetenv.c (main): Silence warning about string
35396         literal.
35397         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
35398
35399 2009-12-23  Bruno Haible  <bruno@clisp.org>
35400
35401         * tests/test-localename.c (test_locale_name): New function, extracted
35402         from main. Also test mixed situations.
35403         (test_locale_name_posix, test_locale_name_environ,
35404         test_locale_name_default): New functions.
35405         (main): Invoke them all.
35406         * modules/localename-tests (configure.ac): Test for newlocale.
35407
35408 2009-12-23  Bruno Haible  <bruno@clisp.org>
35409
35410         unistd: Ensure getcwd gets declared before being overridden.
35411         * lib/unistd.in.h: Conditionally include <io.h>.
35412
35413 2009-12-22  Bruno Haible  <bruno@clisp.org>
35414
35415         wchar: Diagnose broken combination of glibc and gcc versions and flags.
35416         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
35417         (gl_WCHAR_H): Invoke it.
35418         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
35419         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
35420         Reported by Karl Berry <karl@freefriends.org>.
35421
35422 2009-12-22  Eric Blake  <ebb9@byu.net>
35423
35424         math, unistd: avoid redundant includes
35425         * lib/math.in.h (isnan): No need to re-include <math.h>.
35426         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
35427
35428         getsubopt: work around cygwin bug
35429         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
35430         avoid conflicting with system getsubopt.
35431         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
35432         bug.
35433
35434         getopt: synchronize from glibc
35435         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
35436         parameter order.  Adjust all callers.
35437         (_getopt_internal_r, main): Adjust quoting in error messages.
35438         Drop considerations for outdated POSIX 1003.2 error message.
35439         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
35440         callers.
35441         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
35442
35443         test-getopt: test stderr behavior
35444         * modules/getopt-posix-tests (Depends-on): Add dup2.
35445         * tests/test-getopt.c (ASSERT): Avoid stderr.
35446         (main): Move stderr to a temporary file.
35447         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
35448         Instead, add parameter to inform caller if output occurred.
35449         (test_getopt): Adjust all existing tests to expect silence, and
35450         add new tests of leading ":".
35451         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35452         glibc shortcomings with leading "-:" or "+:" in optstring.
35453         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35454         Likewise.
35455         * doc/posix-functions/getopt.texi (getopt): Likewise.
35456
35457         test-getopt: enhance test
35458         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
35459         supports optind=0.
35460         * tests/test-getopt.c (OPTIND_MIN): Move...
35461         * tests/test-getopt.h (OPTIND_MIN): ...here.
35462         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
35463         Require that optind=0 works, since modern BSD supports it in
35464         addition to optreset, and since coreutils expects it.
35465         (test_getopt_long_only): New test.
35466         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35467         glibc shortcomings with 'W;', and enforcement of optind=0.
35468         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35469         Likewise.
35470
35471 2009-12-21  Bruno Haible  <bruno@clisp.org>
35472
35473         localename: Improvements for MacOS X and Cygwin.
35474         * lib/localename.h (gl_locale_name_environ): New declaration.
35475         * lib/localename.c (gl_locale_name_environ): New function, extracted from
35476         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
35477         (gl_locale_name_posix): Invoke it.
35478         (gl_locale_name_default): Add comments. Use Windows native API also on
35479         Cygwin.
35480
35481 2009-12-21  Bruno Haible  <bruno@clisp.org>
35482
35483         Update list of Win32 locale ids.
35484         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
35485         (LANG_SAMI): Renamed from LANG_SAAMI.
35486         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
35487         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
35488         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
35489         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
35490         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
35491         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
35492         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
35493         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
35494         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
35495         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
35496         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
35497         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
35498         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
35499         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
35500         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
35501         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
35502         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
35503         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
35504         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
35505         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
35506         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
35507         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
35508         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
35509         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
35510         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
35511         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
35512         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
35513         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
35514         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
35515         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
35516         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
35517         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
35518         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
35519         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
35520         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
35521         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
35522         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
35523         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
35524         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
35525         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
35526         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
35527         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
35528         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
35529         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
35530         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
35531         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
35532         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
35533         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
35534         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
35535         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
35536         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
35537         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
35538         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
35539         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
35540         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
35541         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
35542         Add more languages and countries for Sami, Sorbian. Add more countries
35543         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
35544         for Pashto. Change country for Syriac, Tswana.
35545
35546 2009-12-21  Eric Blake  <ebb9@byu.net>
35547
35548         test-utimens: avoid spurious failure
35549         * tests/test-chown.h (nap): Factor...
35550         * tests/nap.h: ...into new file.
35551         * tests/test-lchown.h (nap): Avoid duplication.
35552         * tests/test-utimens-common.h (nap): Use shared implementation,
35553         necessary on file systems with 1-second resolution.
35554         * modules/chown-tests (Files): Include new file.
35555         * modules/fdutimensat-tests (Files): Likewise.
35556         * modules/futimens-tests (Files): Likewise.
35557         * modules/lchown-tests (Files): Likewise.
35558         * modules/openat-tests (Files): Likewise.
35559         * modules/utimens-tests (Files): Likewise.
35560         * modules/utimensat-tests (Files): Likewise.
35561
35562 2009-12-19  Eric Blake  <ebb9@byu.net>
35563
35564         futimens, utimensat: work around Linux bug
35565         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
35566         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35567         * lib/utimensat.c (rpl_utimensat): Work around it.
35568         * lib/futimens.c (rpl_futimens): Adjust comment.
35569
35570         utimens: work around Linux ctime bug
35571         * lib/utimens.c (detect_ctime_bug): New helper function.
35572         (update_timespec): Differentiate between workaround needed for
35573         this bug vs. what is needed for systems that lack utimensat.
35574         (fdutimens, lutimens): Work around bug.
35575
35576         utimens: check for ctime update
35577         * tests/test-utimens-common.h (check_ctime): Define.
35578         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
35579         * tests/test-futimens.h (test_futimens): Likewise.
35580         * tests/test-lutimens.h (test_lutimens): Likewise.
35581         * doc/posix-functions/futimens.texi (futimens): Document the bug.
35582         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35583
35584 2009-12-19  Bruno Haible  <bruno@clisp.org>
35585
35586         dprintf-posix: Check against memory leak fixed on 2009-12-15.
35587         * tests/test-dprintf-posix2.sh: New file.
35588         * tests/test-dprintf-posix2.c: New file.
35589         * modules/dprintf-posix-tests (Files): Add them.
35590         (configure.ac): Check for getrlimit and setrlimit.
35591         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35592
35593 2009-12-19  Bruno Haible  <bruno@clisp.org>
35594
35595         fprintf-posix: Check against memory leak fixed on 2009-12-15.
35596         * tests/test-fprintf-posix3.sh: New file.
35597         * tests/test-fprintf-posix3.c: New file.
35598         * modules/fprintf-posix-tests (Files): Add them.
35599         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35600
35601 2009-12-19  Eric Blake  <ebb9@byu.net>
35602
35603         dirfd: fix prototype
35604         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
35605         * lib/dirfd.c (dirfd): Likewise.
35606
35607         canonicalize: reduce memory usage
35608         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
35609         allocation to size.
35610         Reported by Solar Designer <solar@openwall.com>.
35611
35612 2009-12-19  Bruno Haible  <bruno@clisp.org>
35613
35614         New module attribute 'Applicability'.
35615         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
35616         * gnulib-tool: New option --extract-applicability.
35617         (func_usage): Document it.
35618         (sed_extract_prog): Recognize it.
35619         (func_get_applicability): New function.
35620         (func_import): Generalize handling of 'link-warning' module.
35621         * modules/link-warning (Applicability): New section.
35622         * modules/arg-nonnull (Applicability): New section.
35623         Repoted by Simon Josefsson <simon@josefsson.org>.
35624
35625 2009-12-19  Bruno Haible  <bruno@clisp.org>
35626
35627         fflush: tweak
35628         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
35629         * lib/fseeko.c (rpl_fseeko): Likewise.
35630
35631 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
35632
35633         * lib/gl_list.h: Fix typo in comment.
35634
35635 2009-12-16  Eric Blake  <ebb9@byu.net>
35636
35637         fcntl: use to simplify other modules
35638         * modules/cloexec (Depends-on): Add fcntl.
35639         * modules/fchdir (Depends-on): Likewise.
35640         * modules/fd-safer-flag (Depends-on): Likewise.
35641         * modules/unistd-safer (Depends-on): Likewise.
35642         * modules/dup3 (configure.ac): Set module indicator.
35643         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
35644         missing.
35645         * lib/fchdir.c (_gl_register_dup): Fix comment.
35646         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
35647         * lib/dup-safer.c (dup_safer): Likewise.
35648         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
35649         * lib/dup3.c (dup3): Likewise.
35650         * tests/test-fchdir.c (main): Enhance test.
35651         Fixes a dup_cloexec bug reported by Ondřej Vašík.
35652
35653         fcntl: port portions of fcntl to mingw
35654         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
35655         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
35656         replacement for mingw.
35657         * modules/fcntl (Description): Update.
35658         (Depends-on): Add dup2.
35659         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
35660         * modules/fcntl-h (Makefile.am): Substitute it.
35661         * lib/fcntl.in.h (fcntl): Update declaration.
35662         (F_DUPFD, F_GETFD): New macros, when needed.
35663         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35664         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
35665         * tests/test-fcntl.c (check_flags, main): Enhance test for items
35666         we now guarantee.
35667
35668         fcntl: work around cygwin bug in F_DUPFD
35669         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
35670         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
35671         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
35672         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
35673         * doc/posix-functions/fcntl.texi (fcntl): Document it.
35674
35675         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
35676         * modules/fcntl (Files): List new files.
35677         (configure.ac): Run a test.
35678         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
35679         * lib/fcntl.c (rpl_fcntl): Likewise.
35680         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
35681         (gl_FCNTL_H): Always replace fcntl.h.
35682         * modules/fcntl-h (Makefile.am): Substitute witnesses.
35683         * lib/fcntl.in.h (fcntl): Declare replacement.
35684         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
35685         needed, plus a witness.
35686         * doc/posix-functions/fcntl.texi (fcntl): Document this.
35687         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35688         * tests/test-fcntl.c: New file.
35689         * modules/fcntl-tests: Likewise.
35690
35691         binary-io: avoid potential compilation warning
35692         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
35693         directives.
35694
35695         fflush: avoid compilation error on NetBSD
35696         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
35697         between off_t and fpos_t, since the latter is sometimes a struct.
35698         * lib/fseeko.c (rpl_fseeko): Likewise.
35699         Reported by Alexander Nasonov <alnsn@yandex.ru>.
35700
35701 2009-12-15  Eric Blake  <ebb9@byu.net>
35702
35703         fcntl-h, stdio, sys_ioctl: fix declarations
35704         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
35705         function must not take arguments.
35706         * lib/sys_ioctl.in.h (ioctl): Likewise.
35707         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
35708         (open): Add a link warning.
35709
35710 2009-12-15  Jim Meyering  <meyering@redhat.com>
35711
35712         areadlink, areadlink-with-size: relax license to LGPLv2+
35713         * modules/areadlink (License): Relax to LGPLv2+.
35714         * modules/areadlink-with-size (License): Likewise.
35715
35716 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
35717             Bruno Haible  <bruno@clisp.org>
35718
35719         *printf: Fix memory leak.
35720         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
35721         * lib/vfprintf.c (vfprintf): Likewise.
35722         * lib/dprintf.c (dprintf): Likewise.
35723         * lib/vdprintf.c (vdprintf): Likewise.
35724
35725 2009-12-14  Eric Blake  <ebb9@byu.net>
35726
35727         accept4: adjust module dependencies
35728         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
35729
35730         utimens: one more try at avoiding compiler warning
35731         * lib/utimens.c (lutimens): Lower scope of result.
35732
35733 2009-12-13  Bruno Haible  <bruno@clisp.org>
35734
35735         Move the malloc checking from module 'list' to new module 'xlist'.
35736         * modules/xlist: New file.
35737         * lib/gl_xlist.h: New file.
35738         * lib/gl_xlist.c: New file.
35739         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
35740         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
35741         gl_list_add_last, gl_list_add_before, gl_list_add_after,
35742         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
35743         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
35744         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
35745         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
35746         gl_sortedlist_nx_add): New declarations.
35747         (struct gl_list_implementation): Rename and change methods accordingly.
35748         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
35749         (gl_list_nx_create): Renamed from gl_list_create.
35750         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35751         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35752         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35753         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35754         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35755         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35756         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35757         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35758         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
35759         gl_list_create_empty.
35760         (gl_list_nx_create): Renamed from gl_list_create.
35761         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35762         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35763         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35764         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35765         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35766         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35767         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35768         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35769         * lib/gl_array_list.c: Don't include xalloc.h.
35770         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
35771         NULL upon out-of-memory.
35772         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
35773         out-of-memory.
35774         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
35775         Change return type to 'int'.
35776         (gl_array_nx_set_at): Renamed from gl_array_set_at.
35777         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35778         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
35779         upon out-of-memory.
35780         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
35781         upon out-of-memory.
35782         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
35783         upon out-of-memory.
35784         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
35785         upon out-of-memory.
35786         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
35787         out-of-memory.
35788         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
35789         Update.
35790         (gl_array_list_implementation): Update.
35791         * lib/gl_carray_list.c: Don't include xalloc.h.
35792         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
35793         Return NULL upon out-of-memory.
35794         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
35795         out-of-memory.
35796         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
35797         Change return type to 'int'.
35798         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
35799         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35800         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
35801         upon out-of-memory.
35802         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
35803         upon out-of-memory.
35804         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
35805         out-of-memory.
35806         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
35807         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
35808         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
35809         Update.
35810         (gl_carray_list_implementation): Update.
35811         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
35812         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
35813         gl_linked_create_empty. Return NULL upon out-of-memory.
35814         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
35815         out-of-memory.
35816         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
35817         Change return type to 'int'. Return -1 upon out-of-memory.
35818         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
35819         out-of-memory.
35820         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
35821         upon out-of-memory.
35822         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
35823         upon out-of-memory.
35824         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
35825         NULL upon out-of-memory.
35826         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
35827         upon out-of-memory.
35828         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
35829         out-of-memory.
35830         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
35831         Update.
35832         * lib/gl_linked_list.c: Don't include xalloc.h.
35833         (gl_linked_list_implementation): Update.
35834         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
35835         (add_to_bucket): Change return type to 'int'.
35836         (gl_linkedhash_list_implementation): Update.
35837         * lib/gl_anytree_list1.h (free_subtree): New function.
35838         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
35839         gl_tree_create_empty. Return NULL upon out-of-memory.
35840         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
35841         Change return type to 'int'. Return -1 upon out-of-memory.
35842         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
35843         out-of-memory.
35844         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
35845         (gl_tree_remove_node): New function, moved here from
35846         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
35847         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
35848         Update.
35849         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
35850         malloc, not xmalloc. Return NULL upon out-of-memory.
35851         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35852         out-of-memory.
35853         (gl_tree_remove_node_from_tree): New function, extracted from
35854         gl_tree_remove_node.
35855         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35856         upon out-of-memory.
35857         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35858         out-of-memory.
35859         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35860         upon out-of-memory.
35861         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35862         upon out-of-memory.
35863         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35864         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
35865         not xmalloc. Return NULL upon out-of-memory.
35866         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35867         out-of-memory.
35868         (gl_tree_remove_node_from_tree): New function, extracted from
35869         gl_tree_remove_node.
35870         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35871         upon out-of-memory.
35872         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35873         out-of-memory.
35874         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35875         upon out-of-memory.
35876         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35877         upon out-of-memory.
35878         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35879         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
35880         gl_anytree_list1.h before gl_anyavltree_list2.h.
35881         (gl_avltree_list_implementation): Update.
35882         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
35883         gl_anytree_list1.h before gl_anyavltree_list2.h.
35884         (gl_rbtree_list_implementation): Update.
35885         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
35886         Change return type to 'int'. Return -1 upon out-of-memory. Use
35887         __builtin_expect.
35888         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
35889         (gl_avltreehash_list_implementation): Update.
35890         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
35891         (gl_rbtreehash_list_implementation): Update.
35892         * modules/array-list (Depends-on): Remove xalloc.
35893         * modules/carray-list (Depends-on): Likewise.
35894         * modules/linked-list (Depends-on): Likewise.
35895         * modules/linkedhash-list (Depends-on): Likewise.
35896         * modules/avltree-list (Depends-on): Likewise.
35897         * modules/rbtree-list (Depends-on): Likewise.
35898         * modules/avltreehash-list (Depends-on): Likewise.
35899         * modules/rbtreehash-list (Depends-on): Likewise.
35900
35901         * modules/xsublist: New file.
35902         * lib/gl_xsublist.h: New file.
35903         * lib/gl_xsublist.c: New file.
35904         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
35905         (gl_sublist_nx_create): New declaration.
35906         * lib/gl_sublist.c: Don't include xalloc.h.
35907         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
35908         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
35909         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
35910         Change return type to 'int'. Return -1 upon out-of-memory.
35911         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
35912         upon out-of-memory.
35913         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
35914         NULL upon out-of-memory.
35915         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
35916         upon out-of-memory.
35917         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
35918         NULL upon out-of-memory.
35919         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
35920         NULL upon out-of-memory.
35921         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
35922         upon out-of-memory.
35923         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
35924         (gl_sublist_list_implementation): Update.
35925         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
35926         upon out-of-memory.
35927         * modules/sublist (Depends-on): Remove xalloc.
35928
35929         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
35930         * tests/test-carray_list.c: Likewise.
35931         * tests/test-linked_list.c: Likewise.
35932         * tests/test-linkedhash_list.c: Likewise.
35933         * tests/test-avltree_list.c: Likewise.
35934         * tests/test-rbtree_list.c: Likewise.
35935         * tests/test-avltreehash_list.c: Likewise.
35936         * tests/test-rbtreehash_list.c: Likewise.
35937         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
35938         * modules/carray-list-tests (Makefile.am): Likewise.
35939         * modules/linked-list-tests (Makefile.am): Likewise.
35940         * modules/linkedhash-list-tests (Makefile.am): Likewise.
35941         * modules/avltree-list-tests (Makefile.am): Likewise.
35942         * modules/rbtree-list-tests (Makefile.am): Likewise.
35943         * modules/avltreehash-list-tests (Makefile.am): Likewise.
35944         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
35945
35946         * NEWS: Mention the changes.
35947
35948         * lib/clean-temp.c: Include gl_xlist.h.
35949         * modules/clean-temp (Depends-on): Add xlist.
35950
35951         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
35952         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
35953
35954         * tests/test-array_oset.c: Include gl_xlist.h.
35955         * modules/array-oset-tests (Depends-on): Add xlist.
35956
35957         Reported by José E. Marchesi <jemarch@gnu.org>.
35958
35959 2009-12-13  Bruno Haible  <bruno@clisp.org>
35960
35961         Move the malloc checking from module 'oset' to new module 'xoset'.
35962         * modules/xoset: New file.
35963         * lib/gl_xoset.h: New file.
35964         * lib/gl_xoset.c: New file.
35965         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
35966         declarations.
35967         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
35968         (struct gl_oset_implementation): Rename and change methods accordingly.
35969         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
35970         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35971         'int'. Mark as __warn_unused_result__.
35972         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
35973         gl_oset_create_empty.
35974         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35975         'int'.
35976         * lib/gl_array_oset.c: Don't include xalloc.h.
35977         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
35978         malloc, not xmalloc.
35979         (grow): Change return type to 'int'. Don't call xalloc_die.
35980         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
35981         to 'int'.
35982         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
35983         'int'.
35984         (gl_array_oset_implementation): Update.
35985         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
35986         gl_tree_create_empty.
35987         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
35988         'int'.
35989         * lib/gl_avltree_oset.c: Don't include xalloc.h.
35990         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35991         xmalloc.
35992         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35993         not xmalloc.
35994         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35995         xmalloc.
35996         (gl_avltree_oset_implementation): Update.
35997         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
35998         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35999         xmalloc.
36000         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
36001         not xmalloc.
36002         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
36003         xmalloc.
36004         (gl_rbtree_oset_implementation): Update.
36005         * modules/array-oset (Depends-on): Remove xalloc.
36006         * modules/avltree-oset (Depends-on): Likewise.
36007         * modules/rbtree-oset (Depends-on): Likewise.
36008         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
36009         * tests/test-avltree_oset.c: Likewise.
36010         * tests/test-rbtree_oset.c: Likewise.
36011         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
36012         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
36013         * modules/rbtree-oset-tests (Makefile.am): Likewise.
36014         * NEWS: Mention the change.
36015
36016 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
36017
36018         maint.mk: allow a project to override release-prep commands
36019         * top/maint.mk (alpha, beta, stable): Move release-preparatory
36020         commands into a new rule.
36021         (release-prep): New rule.
36022         (release-prep-hook): New overridable variable.
36023
36024 2009-12-13  Bruno Haible  <bruno@clisp.org>
36025
36026         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
36027
36028 2009-12-13  Jim Meyering  <meyering@redhat.com>
36029
36030         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
36031         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
36032
36033 2009-12-12  Bruno Haible  <bruno@clisp.org>
36034
36035         duplocale: Tweak.
36036         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
36037
36038 2009-12-12  Karl Berry  <karl@gnu.org>
36039
36040         * config/srclist.txt (strtoll.c): tab changes, no more sync.
36041
36042 2009-12-12  Bruno Haible  <bruno@clisp.org>
36043
36044         * m4/po.m4: Undo incorrect untabification.
36045
36046 2009-12-12  Bruno Haible  <bruno@clisp.org>
36047
36048         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
36049         * modules/c-strtod (Depends-on): Add locale.
36050         * modules/c-strtold (Depends-on): Likewise.
36051
36052 2009-12-12  Bruno Haible  <bruno@clisp.org>
36053
36054         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
36055
36056 2009-12-11  Eric Blake  <ebb9@byu.net>
36057
36058         setenv: relax requirement in light of POSIX ruling
36059         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
36060         not NULL.
36061         * tests/test-setenv.c (main): Relax test.
36062         * tests/test-unsetenv.c (main): Likewise.
36063         * doc/posix-functions/setenv.texi (setenv): Document this.
36064         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
36065
36066 2009-12-11  Bruno Haible  <bruno@clisp.org>
36067
36068         New module 'fd-safer-flag'.
36069         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
36070         * lib/dup-safer.c (dup_safer_flag): Remove function.
36071         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
36072         * lib/fd-safer.c (fd_safer_flag): Remove function.
36073         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
36074         * modules/cloexec (configure.ac): Drop indicator macro.
36075         * modules/fd-safer-flag: New file.
36076         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
36077         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
36078         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
36079
36080 2009-12-11  Bruno Haible  <bruno@clisp.org>
36081
36082         Tests for module 'nl_langinfo'.
36083         * modules/nl_langinfo-tests: New file.
36084         * tests/test-nl_langinfo.sh: New file.
36085         * tests/test-nl_langinfo.c: New file.
36086
36087         New module 'nl_langinfo'.
36088         * lib/nl_langinfo.c: New file.
36089         * m4/nl_langinfo.m4: New file.
36090         * modules/nl_langinfo: New file.
36091         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
36092
36093 2009-12-11  Bruno Haible  <bruno@clisp.org>
36094
36095         Tests for module 'langinfo'.
36096         * modules/langinfo-tests: New file.
36097         * tests/test-langinfo.c: New file.
36098
36099         New module 'langinfo'.
36100         * lib/langinfo.in.h: New file.
36101         * m4/langinfo_h.m4: New file.
36102         * modules/langinfo: New file.
36103         * doc/posix-headers/langinfo.texi: Mention the new module.
36104
36105 2009-12-11  Bruno Haible  <bruno@clisp.org>
36106
36107         * lib/config.charset: Untabify.
36108
36109 2009-12-11  Bruno Haible  <bruno@clisp.org>
36110
36111         * modules/unistd-safer (configure.ac): Drop indicator macro.
36112
36113 2009-12-11  Bruno Haible  <bruno@clisp.org>
36114
36115         Move pipe2-safer code to its own file.
36116         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
36117         * lib/pipe-safer.c (pipe2_safer): Remove function.
36118         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
36119         (Makefile.am): Add it to lib_SOURCES.
36120
36121 2009-12-10  Bruno Haible  <bruno@clisp.org>
36122
36123         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
36124
36125 2009-12-10  Bruno Haible  <bruno@clisp.org>
36126
36127         Declare which arguments expect non-NULL values, for GCC and clang.
36128         * build-aux/arg-nonnull.h: New file.
36129         * modules/arg-nonnull: New file.
36130         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
36131         (inet_ntop, inet_pton): Use it.
36132         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
36133         (closedir, dirfd, opendir, scandir, alphasort): Use it.
36134         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
36135         (open, openat): Use it.
36136         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
36137         (fnmatch): Use it.
36138         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
36139         (getopt, getopt_long, getopt_long_only): Use it.
36140         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
36141         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
36142         Use it.
36143         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
36144         (iconv_open): Use it.
36145         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
36146         (strtoimax, strtoumax): Use it.
36147         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
36148         (duplocale): Use it.
36149         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
36150         (frexp, frexpl): Use it.
36151         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
36152         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
36153         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
36154         (tsearch, tfind, tdelete, twalk): Use it.
36155         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
36156         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36157         sigpending): Use it.
36158         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
36159         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36160         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36161         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36162         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36163         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36164         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36165         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36166         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36167         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36168         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36169         Use it.
36170         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
36171         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
36172         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
36173         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
36174         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
36175         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
36176         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
36177         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
36178         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
36179         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
36180         strtoull, unsetenv): Use it.
36181         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
36182         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36183         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36184         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
36185         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
36186         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
36187         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
36188         (strcasecmp, strncasecmp): Use it.
36189         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
36190         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
36191         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
36192         rpl_setsockopt): Use it.
36193         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
36194         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
36195         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
36196         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
36197         (gettimeofday): Use it.
36198         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
36199         (times): Use it.
36200         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
36201         (uname): Use it.
36202         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
36203         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
36204         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
36205         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
36206         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
36207         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
36208         unlinkat, write): Use it.
36209         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
36210         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
36211         * lib/argv-iter.h: Include arg-nonnull.h.
36212         (_ATTRIBUTE_NONNULL_): Remove macro.
36213         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
36214         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
36215         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
36216         optimization.
36217         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
36218         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
36219         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
36220         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
36221         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
36222         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
36223         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
36224         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
36225         * modules/arpa_inet (Depends-on): Add arg-nonnull.
36226         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
36227         * modules/dirent (Depends-on): Add arg-nonnull.
36228         (Makefile.am): Insert arg-nonnull.h into dirent.h.
36229         * modules/fcntl-h (Depends-on): Add arg-nonnull.
36230         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
36231         * modules/fnmatch (Depends-on): Add arg-nonnull.
36232         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
36233         * modules/getopt-posix (Depends-on): Add arg-nonnull.
36234         (Makefile.am): Insert arg-nonnull.h into getopt.h.
36235         * modules/glob (Depends-on): Add arg-nonnull.
36236         (Makefile.am): Insert arg-nonnull.h into glob.h.
36237         * modules/iconv_open (Depends-on): Add arg-nonnull.
36238         (Makefile.am): Insert arg-nonnull.h into iconv.h.
36239         * modules/inttypes (Depends-on): Add arg-nonnull.
36240         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
36241         * modules/locale (Depends-on): Add arg-nonnull.
36242         (Makefile.am): Insert arg-nonnull.h into locale.h.
36243         * modules/math (Depends-on): Add arg-nonnull.
36244         (Makefile.am): Insert arg-nonnull.h into math.h.
36245         * modules/netdb (Depends-on): Add arg-nonnull.
36246         (Makefile.am): Insert arg-nonnull.h into netdb.h.
36247         * modules/search (Depends-on): Add arg-nonnull.
36248         (Makefile.am): Insert arg-nonnull.h into search.h.
36249         * modules/signal (Depends-on): Add arg-nonnull.
36250         (Makefile.am): Insert arg-nonnull.h into signal.h.
36251         * modules/spawn (Depends-on): Add arg-nonnull.
36252         (Makefile.am): Insert arg-nonnull.h into spawn.h.
36253         * modules/stdio (Depends-on): Add arg-nonnull.
36254         (Makefile.am): Insert arg-nonnull.h into stdio.h.
36255         * modules/stdlib (Depends-on): Add arg-nonnull.
36256         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
36257         * modules/string (Depends-on): Add arg-nonnull.
36258         (Makefile.am): Insert arg-nonnull.h into string.h.
36259         * modules/strings (Depends-on): Add arg-nonnull.
36260         (Makefile.am): Insert arg-nonnull.h into strings.h.
36261         * modules/sys_socket (Depends-on): Add arg-nonnull.
36262         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
36263         * modules/sys_stat (Depends-on): Add arg-nonnull.
36264         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
36265         * modules/sys_time (Depends-on): Add arg-nonnull.
36266         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
36267         * modules/sys_times (Depends-on): Add arg-nonnull.
36268         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
36269         * modules/sys_utsname (Depends-on): Add arg-nonnull.
36270         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
36271         * modules/time (Depends-on): Add arg-nonnull.
36272         (Makefile.am): Insert arg-nonnull.h into time.h.
36273         * modules/unistd (Depends-on): Add arg-nonnull.
36274         (Makefile.am): Insert arg-nonnull.h into unistd.h.
36275         * modules/wchar (Depends-on): Add arg-nonnull.
36276         (Makefile.am): Insert arg-nonnull.h into wchar.h.
36277         * modules/argv-iter (Depends-on): Add arg-nonnull.
36278         * tests/test-canonicalize.c (null_ptr): New function.
36279         (main): Use it.
36280         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
36281         (main): Use it.
36282         * tests/test-memmem.c (null_ptr): New function.
36283         (main): Use it.
36284         Reported by Jim Meyering.
36285
36286 2009-12-10  Bruno Haible  <bruno@clisp.org>
36287
36288         Use spaces for indentation, not tabs.
36289         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
36290         * m4/*.m4: Untabify.
36291         * build-aux/*.h: Untabify.
36292         * tests/**/*.[hc]: Untabify.
36293         * README: New section "Indent with spaces, not TABs", based on
36294         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
36295         * NEWS: Mention the change.
36296
36297 2009-12-10  Bruno Haible  <bruno@clisp.org>
36298
36299         pty test: Fix link error.
36300         * modules/pty-tests (Makefile.am): Add the default LDADD value to
36301         test_pty_LDADD.
36302
36303 2009-12-07  Simon Josefsson  <simon@josefsson.org>
36304
36305         * modules/pty: New file.
36306         * modules/pty-tests: New file.
36307         * m4/pty.m4: New file.
36308         * tests/test-pty.c: New file.
36309         * doc/glibc-headers/pty.texi: Modified.
36310         * doc/glibc-functions/forkpty.texi: Modified.
36311         * doc/glibc-functions/openpty.texi: Modified.
36312
36313 2009-12-10  Bruno Haible  <bruno@clisp.org>
36314
36315         Avoid syntax error in C++ mode.
36316         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
36317
36318 2009-12-10  Bruno Haible  <bruno@clisp.org>
36319
36320         Use sed with option -e.
36321         * gnulib-tool (func_version, func_emit_copyright_notice,
36322         func_emit_initmacro_end, func_import, func_create_testdir): Pass
36323         option -e to sed.
36324         * modules/link-warning (Makefile.am): Likewise.
36325
36326 2009-12-10  Jim Meyering  <meyering@redhat.com>
36327
36328         mgetgroups: do not write bytes beyond end of malloc'd buffer
36329         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
36330         username, we call getgroups with a one-element-shorter buffer,
36331         but still told it the length was original, max_n_groups.
36332
36333 2009-12-09  Eric Blake  <ebb9@byu.net>
36334
36335         cloexec: relax license
36336         * modules/cloexec (Maintainer): Add myself.
36337         (License): Use LGPL, not GPL.
36338
36339         link-warning: optimize generation
36340         * modules/link-warning (Makefile.am): Reduce process usage.
36341
36342 2009-12-09  Bruno Haible  <bruno@clisp.org>
36343
36344         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
36345         workaround was added on 2009-11-17.
36346
36347 2009-12-09  Jim Meyering  <meyering@redhat.com>
36348             Bruno Haible  <bruno@clisp.org>
36349
36350         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
36351         * modules/link-warning (Makefile.am): Make the comment-removing sed
36352         command more robust in the face of bootstrap-prepended comment lines.
36353
36354 2009-12-09  Bruno Haible  <bruno@clisp.org>
36355
36356         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
36357         most one group.
36358
36359 2009-12-09  Simon Josefsson <simon@josefsson.org>
36360             Bruno Haible  <bruno@clisp.org>
36361
36362         * build-aux/link-warning.h: Add copyright notice.
36363         * modules/link-warning (Makefile.am): Generate link-warning.h from
36364         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
36365         * NEWS: Mention change in link-warning module.
36366         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
36367         * modules/dirent (Makefile.am): Add dependency to dirent.h.
36368         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
36369         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
36370         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
36371         * modules/math (Makefile.am): Add dependency to math.h.
36372         * modules/search (Makefile.am): Add dependency to search.h.
36373         * modules/signal (Makefile.am): Add dependency to signal.h.
36374         * modules/spawn (Makefile.am): Add dependency to spawn.h.
36375         * modules/stdio (Makefile.am): Add dependency to stdio.h.
36376         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
36377         * modules/string (Makefile.am): Add dependency to string.h.
36378         * modules/strings (Makefile.am): Add dependency to strings.h.
36379         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
36380         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
36381         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
36382         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
36383         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
36384         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
36385         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
36386         * modules/unistd (Makefile.am): Add dependency to unistd.h.
36387         * modules/wchar (Makefile.am): Add dependency to wchar.h.
36388
36389 2009-12-09  Bruno Haible  <bruno@clisp.org>
36390
36391         fchdir: Optimize away rpl_fstat when possible.
36392         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
36393         REPLACE_OPEN_DIRECTORY.
36394         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
36395
36396 2009-12-09  Bruno Haible  <bruno@clisp.org>
36397
36398         * lib/fchdir.c: Update comment.
36399
36400 2009-12-09  Bruno Haible  <bruno@clisp.org>
36401
36402         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
36403
36404 2009-12-08  Eric Blake  <ebb9@byu.net>
36405
36406         fchdir: avoid memory leak on re-registration.
36407         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
36408
36409 2009-12-08  Jim Meyering  <meyering@redhat.com>
36410
36411         init.sh: avoid Solaris 10 /bin/sh portability problem
36412         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
36413         sourced script:
36414           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
36415           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
36416           bar
36417         tests/init.sh relied on that, accepting a --set-path=DIR argument,
36418         and two tests used that idiom.
36419         * tests/init.sh: Update suggested usage comments.
36420         (path_prepend_): New function, to be used in place
36421         of the --src-path=DIR option.
36422         (setup_): Move PATH-prepending code into path_prepend_.
36423         * tests/test-pread.sh: Adapt to new usage.
36424         * tests/test-xalloc-die.sh: Likewise.
36425
36426 2009-12-08  Simon Josefsson  <simon@josefsson.org>
36427
36428         * doc/gnulib.texi (Glibc pty.h): Add.
36429         * doc/glibc-functions/forkpty.texi: Add.
36430         * doc/glibc-functions/openpty.texi: Add.
36431         Suggested by Bruno Haible.
36432
36433 2009-12-08  Eric Blake  <ebb9@byu.net>
36434
36435         fchdir: fix logic bugs
36436         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
36437         * tests/test-fchdir.c (main): Enhance test.
36438         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
36439         is in use.
36440
36441         dup2: fix logic bugs
36442         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
36443         REPLACE_DUP2 to decide when rpl_dup2 is needed.
36444         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
36445         exists.
36446         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
36447
36448 2009-12-07  Eric Blake  <ebb9@byu.net>
36449
36450         unlink: fix m4 detection
36451         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
36452
36453         unistd-safer: add unit test
36454         * modules/unistd-safer-tests: New file.
36455         * tests/test-dup-safer.c: Likewise.
36456         * tests/test-cloexec.c (setmode): Avoid compiler warning.
36457         * tests/test-dup2.c (setmode): Likewise.
36458         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
36459
36460         cloexec: preserve text vs. binary across dup_cloexec
36461         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
36462         mode.
36463         * modules/dup2-tests (Depends-on): Add binary-io.
36464         * modules/cloexec-tests (Depends-on): Likewise.
36465         * tests/test-dup2.c (setmode, is_mode): New helpers.
36466         (main): Add tests that translation mode is preserved.
36467         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
36468         Reported by Bruno Haible.
36469
36470         mgetgroups: reduce duplicate listings
36471         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
36472         resulting array.
36473         * tests/test-chown.h (test_chown): Simplify client.
36474         * tests/test-lchown.h (test_lchown): Likewise.
36475
36476 2009-12-06  Bruno Haible  <bruno@clisp.org>
36477
36478         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
36479         value.
36480
36481 2009-12-06  Bruno Haible  <bruno@clisp.org>
36482
36483         * lib/progname.c: Include stdio.h, stdlib.h.
36484         (set_program_name): Reject a NULL argument.
36485
36486 2009-12-05  Eric Blake  <ebb9@byu.net>
36487
36488         pipe2-safer: new module
36489         * modules/pipe2-safer: New file.
36490         * lib/unistd-safer.h (pipe2_safer): New prototype.
36491         * lib/unistd--.h (pipe2): New wrapper.
36492         * lib/pipe-safer.c (pipe2_safer): New function.
36493         * modules/pipe (Depends-on): Add pipe2-safer.
36494         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
36495
36496         stdlib-safer: preserve cloexec flag for mkostemp[s]
36497         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
36498         fd_safer_flag.
36499
36500         unistd-safer: allow preservation of cloexec status via flag
36501         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
36502         prototypes.
36503         * lib/dup-safer.c (dup_safer_flag): New function.
36504         * lib/fd-safer.c (fd_safer_flag): Likewise.
36505         * modules/cloexec (configure.ac): Set witness.
36506
36507         test-dup2: enhance test
36508         * modules/dup2-tests (Depends-on): Add cloexec.
36509         * tests/test-dup2.c (main): Enhance test.
36510
36511         cloexec: add dup_cloexec
36512         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
36513         header and comments.
36514         * lib/cloexec.c (set_cloexec_flag): Add comments.
36515         (dup_cloexec): New function, with mingw implementation borrowed
36516         from...
36517         * lib/w32spawn.h (dup_noinherit): ...here.
36518         * modules/execute (Depends-on): Add cloexec.
36519         * modules/pipe (Depends-on): Likewise.
36520         * modules/cloexec (Depends-on): Add dup2.
36521         * modules/cloexec-tests (Files): New file.
36522         * tests/test-cloexec.c: Likewise.
36523
36524         test-xalloc-die: fix test for mingw
36525         * modules/xalloc-die-tests (Files): Add tests/init.sh.
36526         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
36527         directory and .exe suffix off argv[0] output.
36528
36529         test-fseeko: fix test for mingw
36530         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
36531         than undefining fseek, so test will pass on mingw.
36532
36533 2009-12-05  Bruno Haible  <bruno@clisp.org>
36534
36535         * lib/progname.h (set_program_name): Clarify specification.
36536         * lib/progname.c (set_program_name): Likewise.
36537         Reported by Jim Meyering.
36538
36539 2009-12-05  Jim Meyering  <meyering@redhat.com>
36540
36541         maint.mk: backslash-escape parens in default regexp
36542         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
36543         backslash-escape the literal parentheses.
36544
36545         maint.mk: news-date-check: use grep -E
36546         * top/maint.mk (today): Define a Make variable, not a...
36547         (news-date-check): ...shell variable.
36548         (news-date-regexp): Use the Make variable.
36549         Use grep's -E option.  Change the failing diagnostic to mention
36550         the variable, $(news-date-regexp).
36551
36552 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
36553
36554         maintainer-makefile: allow customization of NEWS entry format
36555         * top/maint.mk (news-date-regexp): New overridable variable.
36556         (news-date-check): Use it.
36557
36558 2009-12-04  Eric Blake  <ebb9@byu.net>
36559
36560         mgetgroups: add xgetgroups, and avoid ENOSYS failures
36561         * lib/mgetgroups.h (xgetgroups): New prototype.
36562         * lib/mgetgroups.c (xgetgroups): New wrapper.
36563         (mgetgroups): Handle ENOSYS.
36564         * modules/mgetgroups (Depends-on): Add realloc.
36565         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
36566
36567         mgetgroups: avoid argument promotion issues with -1
36568         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
36569         for invalid gid_t.
36570         * tests/test-chown.h (getegid, test_chown): Likewise.
36571         * tests/test-lchown.h (getegid, test_lchown): Likewise.
36572
36573 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
36574
36575         exclude: Fix header file problems.
36576         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
36577
36578 2009-12-01  Jim Meyering  <meyering@redhat.com>
36579
36580         fts: fts_open: do not let an empty string cause immediate failure
36581         This is required in support of GNU rm, for which the command
36582         "rm A '' B" must process and remove both A and B, in spite of
36583         the empty string argument.
36584         * lib/fts.c (fts_open): Do not let the presence of an empty string
36585         cause fts_open to fail immediately.  Most fts-using tools must be
36586         able to process all arguments, in order, and can be expected to
36587         diagnose such arguments themselves.
36588
36589 2009-11-30  Eric Blake  <ebb9@byu.net>
36590
36591         utimens: fix compilation error
36592         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
36593         Declare variable at right scope.
36594
36595 2009-11-29  Jim Meyering  <meyering@redhat.com>
36596
36597         bootstrap: handle perl-5.11's changed --version output
36598         * build-aux/bootstrap (get_version): Handle perl separately,
36599         since perl-5.11's --version output is different.
36600
36601 2009-11-28  Jim Meyering  <meyering@redhat.com>
36602
36603         userspec: depend on the inttostr module, too
36604         * modules/userspec (Depends-on): Add inttostr.
36605
36606         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
36607         * lib/userspec.c (parse_with_separator): Do not accept a user ID
36608         number of MAXUID when it evaluates to (uid_t) -1.
36609         Likewise for group ID.  Reported by Matt McCutchen in
36610         <http://savannah.gnu.org/bugs/?28113>
36611
36612         userspec: reformat to use spaces, not TABs
36613         * lib/userspec.c: Expand TABs to spaces.
36614         Add Emacs' "indent-tabs-mode: nil" hint.
36615
36616 2009-11-27  Eric Blake  <ebb9@byu.net>
36617
36618         getopt-gnu: flush out another BSD bug
36619         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
36620         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
36621         flush out BSD bug.
36622         * tests/test-getopt.h (test_getopt): End lists with NULL.
36623         * tests/test-getopt_long.h (test_getopt_long): Likewise.
36624         (test_getopt_long_posix): Enhance test.
36625         * modules/getopt-posix-tests (Depends-on): Add stdbool.
36626         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
36627         getopt-gnu.
36628         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36629         Likewise.
36630
36631 2009-11-27  Simon Josefsson  <simon@josefsson.org>
36632
36633         * modules/idpriv-droptemp-tests (Notice): Fix text.
36634
36635 2009-11-27  Jim Meyering  <meyering@redhat.com>
36636
36637         test-xalloc-die: avoid spurious failure due to libtool argv difference
36638         In a libtool-enabled project, this test would fail due to a difference
36639         in the emitted program name, e.g.,
36640         -test-xalloc-die: memory exhausted
36641         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
36642         Use program to avoid that.
36643         * modules/xalloc-die-tests (Depends-on): Add progname.
36644         * tests/test-xalloc-die.c: Include progname.h".
36645         (program_name): Remove decl.
36646         (main): Call set_program_name.
36647         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
36648
36649 2009-11-26  Richard Jones  <rjones@redhat.com>
36650
36651         w32sock: leave win32 error in place.
36652         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
36653
36654 2009-11-26  Eric Blake  <ebb9@byu.net>
36655
36656         init.sh: suggest to use skip_ and fail_ functions in comments
36657         * tests/init.sh: Add a sentence.
36658
36659 2009-11-25  Bruno Haible  <bruno@clisp.org>
36660
36661         init.sh: add documentation in comments
36662         * tests/init.sh: Add some developer and user documentation.
36663
36664 2009-11-26  Jim Meyering  <meyering@redhat.com>
36665
36666         init.sh: accommodate even those who specify bogus srcdir manually
36667         * tests/init.sh: Normally, srcdir is guaranteed by automake and
36668         configure-time tests to be sanitized, so that there is no need to
36669         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
36670         (with no double quotes) suffices.  However, since tests may be
36671         invoked manually, and since you may explicitly set srcdir to the
36672         name of a directory containing spaces, do quote its uses here.
36673         * tests/test-pread.sh: Likewise.
36674         Suggested by Bruno Haible.
36675
36676         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
36677         * tests/test-pread.sh: Write no data into the pipe, because
36678         test-pread actually reads none.  This avoids a diagnostic,
36679         "bash: echo: write error: Broken pipe", that arises in the unusual
36680         event something is ignoring SIGPIPE, and might be interpreted
36681         as some sort of failure.  Reported by Bruno Haible.
36682
36683 2009-11-25  Jim Meyering  <meyering@redhat.com>
36684
36685         test-pread: cover failure with ESPIPE and EINVAL
36686         * tests/test-pread.c (main): Test for failure, too.
36687         * tests/test-pread.sh: Invoke with stdin on a pipe.
36688         Suggested by Eric Blake.
36689
36690         pread: improvement and fix
36691         * modules/pread (Depends-on): Depend on lseek, for portability to
36692         e.g., mingw.  Suggested by Eric Blake.
36693         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
36694
36695         unistd.in.h: correct declaration of pread
36696         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
36697         Reported by Richard W.M. Jones.
36698
36699         test-pread.sh: distribute the test script
36700         * modules/pread-tests (Files): Include test-pread.sh.
36701
36702         test-pread.sh: clean up
36703         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
36704         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
36705         That is unnecessary, since it's always ".".
36706         Suggestion from Eric Blake.
36707
36708         test-pread.sh: make executable
36709         * tests/test-pread.sh: Set executable bit.
36710         Reported by Eric Blake.
36711
36712         correct typo in test-pread.sh
36713         * tests/test-pread.sh: Add #! line.
36714
36715         test pread
36716         * tests/test-pread.c: New file.
36717         * tests/test-pread.sh: Likewise.
36718         * modules/pread-tests: Likewise.
36719
36720         pread: new module
36721         * modules/pread: New file.
36722         * lib/unistd.in.h (pread): Define/declare.
36723         * lib/pread.c (pread): New file.
36724         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
36725         * modules/unistd (Makefile.am): Substitute witnesses.
36726         * doc/posix-functions/pread.texi (pread): Update.
36727         * MODULES.html.sh: Add pread.
36728
36729 2009-11-25  Jim Meyering  <meyering@redhat.com>
36730
36731         tests/init.sh: new file to be used via most *.sh tests
36732         * tests/init.sh: New file.
36733
36734 2009-11-25  Eric Blake  <ebb9@byu.net>
36735
36736         utimens: work around older Linux failure with symlinks
36737         * lib/utimens.c (lutimensat_works_really): New variable.
36738         (fdutimens, lutimens): Use it to manage kernels that support
36739         nanosecond times on files, but not on symlinks.
36740         Reported by Ondřej Vašík.
36741
36742         utimes: fix configure grammar
36743         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
36744
36745 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
36746
36747         regex: Fix fastmap for multibyte character ranges.
36748         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
36749         characters when a multibyte character range is included.
36750
36751 2009-11-22  Andy Wingo  <wingo@pobox.com>
36752
36753         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
36754         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
36755
36756 2009-11-24  Bruno Haible  <bruno@clisp.org>
36757
36758         doc: Most *_l functions exist in MacOS X 10.5.
36759         * doc/posix-functions/duplocale.texi: Update platforms list.
36760         * doc/posix-functions/freelocale.texi: Likewise.
36761         * doc/posix-functions/newlocale.texi: Likewise.
36762         * doc/posix-functions/uselocale.texi: Likewise.
36763         * doc/posix-functions/isalnum_l.texi: Likewise.
36764         * doc/posix-functions/isalpha_l.texi: Likewise.
36765         * doc/posix-functions/isblank_l.texi: Likewise.
36766         * doc/posix-functions/iscntrl_l.texi: Likewise.
36767         * doc/posix-functions/isdigit_l.texi: Likewise.
36768         * doc/posix-functions/isgraph_l.texi: Likewise.
36769         * doc/posix-functions/islower_l.texi: Likewise.
36770         * doc/posix-functions/isprint_l.texi: Likewise.
36771         * doc/posix-functions/ispunct_l.texi: Likewise.
36772         * doc/posix-functions/isspace_l.texi: Likewise.
36773         * doc/posix-functions/isupper_l.texi: Likewise.
36774         * doc/posix-functions/iswalnum_l.texi: Likewise.
36775         * doc/posix-functions/iswalpha_l.texi: Likewise.
36776         * doc/posix-functions/iswblank_l.texi: Likewise.
36777         * doc/posix-functions/iswcntrl_l.texi: Likewise.
36778         * doc/posix-functions/iswctype_l.texi: Likewise.
36779         * doc/posix-functions/iswdigit_l.texi: Likewise.
36780         * doc/posix-functions/iswgraph_l.texi: Likewise.
36781         * doc/posix-functions/iswlower_l.texi: Likewise.
36782         * doc/posix-functions/iswprint_l.texi: Likewise.
36783         * doc/posix-functions/iswpunct_l.texi: Likewise.
36784         * doc/posix-functions/iswspace_l.texi: Likewise.
36785         * doc/posix-functions/iswupper_l.texi: Likewise.
36786         * doc/posix-functions/iswxdigit_l.texi: Likewise.
36787         * doc/posix-functions/isxdigit_l.texi: Likewise.
36788         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
36789         * doc/posix-functions/strcasecmp_l.texi: Likewise.
36790         * doc/posix-functions/strcoll_l.texi: Likewise.
36791         * doc/posix-functions/strfmon_l.texi: Likewise.
36792         * doc/posix-functions/strftime_l.texi: Likewise.
36793         * doc/posix-functions/strncasecmp_l.texi: Likewise.
36794         * doc/posix-functions/strxfrm_l.texi: Likewise.
36795         * doc/posix-functions/tolower_l.texi: Likewise.
36796         * doc/posix-functions/toupper_l.texi: Likewise.
36797         * doc/posix-functions/towctrans_l.texi: Likewise.
36798         * doc/posix-functions/towlower_l.texi: Likewise.
36799         * doc/posix-functions/towupper_l.texi: Likewise.
36800         * doc/posix-functions/wcscoll_l.texi: Likewise.
36801         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
36802         * doc/posix-functions/wctrans_l.texi: Likewise.
36803         * doc/posix-functions/wctype_l.texi: Likewise.
36804         * doc/glibc-functions/strptime_l.texi: Likewise.
36805         * doc/glibc-functions/strtod_l.texi: Likewise.
36806         * doc/glibc-functions/strtof_l.texi: Likewise.
36807         * doc/glibc-functions/strtol_l.texi: Likewise.
36808         * doc/glibc-functions/strtold_l.texi: Likewise.
36809         * doc/glibc-functions/strtoll_l.texi: Likewise.
36810         * doc/glibc-functions/strtoul_l.texi: Likewise.
36811         * doc/glibc-functions/strtoull_l.texi: Likewise.
36812         * doc/glibc-functions/wcsftime_l.texi: Likewise.
36813         * doc/glibc-functions/wcstod_l.texi: Likewise.
36814         * doc/glibc-functions/wcstof_l.texi: Likewise.
36815         * doc/glibc-functions/wcstol_l.texi: Likewise.
36816         * doc/glibc-functions/wcstold_l.texi: Likewise.
36817         * doc/glibc-functions/wcstoll_l.texi: Likewise.
36818         * doc/glibc-functions/wcstoul_l.texi: Likewise.
36819         * doc/glibc-functions/wcstoull_l.texi: Likewise.
36820
36821 2009-11-24  Bruno Haible  <bruno@clisp.org>
36822
36823         duplocale: Fix logic bug.
36824         * lib/duplocale.c: Don't include <langinfo.h>.
36825         (_NL_LOCALE_NAME): Remove macro.
36826         (rpl_duplocale): Use setlocale instead of nl_langinfo.
36827         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
36828
36829 2009-11-23  Jim Meyering  <meyering@redhat.com>
36830
36831         test-update-copyright: don't hard-code /usr/bin/perl
36832         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
36833         perl to print the current year.  Gilles Espinasse reported that
36834         the replaced use of perl was hard-coded as /usr/bin/perl.
36835
36836 2009-11-23  Bruno Haible  <bruno@clisp.org>
36837
36838         duplocale: Add support for glibc 2.3.x.
36839         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
36840
36841 2009-11-22  Bruno Haible  <bruno@clisp.org>
36842
36843         vasnprintf: Tiny optimization.
36844         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
36845         MacOS X.
36846
36847 2009-11-22  Bruno Haible  <bruno@clisp.org>
36848
36849         Tests for module 'duplocale'.
36850         * modules/duplocale-tests: New file.
36851         * tests/test-duplocale.c: New file.
36852
36853         New module 'duplocale'.
36854         * m4/duplocale.m4: New file.
36855         * lib/locale.in.h (duplocale): New declaration.
36856         * lib/duplocale.c: New file.
36857         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
36858         gl_LOCALE_H_DEFAULTS): New macros.
36859         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
36860         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
36861         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
36862         REPLACE_DUPLOCALE.
36863         * modules/duplocale: New file.
36864         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
36865
36866 2009-11-22  Bruno Haible  <bruno@clisp.org>
36867
36868         * modules/locale-tests (configure.ac): Test for newlocale function.
36869         * tests/test-locale.c: When the system has extended locale functions,
36870         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
36871
36872         locale: Make locale_t available when possible.
36873         * lib/locale.in.h: Include <xlocale.h> when it exists.
36874         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
36875         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
36876         * modules/locale (Depends-on): Add extensions.
36877         (Makefile.am): Also substitute HAVE_XLOCALE_H.
36878         * doc/posix-headers/locale.texi: Document the problem with locale_t.
36879
36880 2009-11-22  Bruno Haible  <bruno@clisp.org>
36881
36882         Add comments.
36883         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
36884         invocation.
36885         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
36886         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
36887         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36888
36889 2009-11-22  Bruno Haible  <bruno@clisp.org>
36890
36891         error: account for the possibility of freopen (stdout).
36892         * lib/error.c: Include <unistd.h>.
36893         (flush_stdout): New function, extracted from error and error_at_line.
36894         Determine stdout's fd dynamically.
36895         (error, error_at_line): Invoke flush_stdout.
36896         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
36897         * modules/error (Depends-on): Add unistd.
36898
36899 2009-11-22  Bruno Haible  <bruno@clisp.org>
36900
36901         diffseq: Add comment.
36902         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
36903
36904 2009-11-22  Jim Meyering  <meyering@redhat.com>
36905
36906         c-stack: avoid defining an unused static function
36907         * lib/c-stack.c (find_stack_direction): Do not define this function
36908         when it will not be used.
36909
36910         diffseq: avoid spurious gcc warnings
36911         * lib/diffseq.h (IF_LINT2): Define.
36912         (compareseq): Use it to initialize two members of "part".
36913         This avoids two used-uninitialized warnings.
36914
36915 2009-11-21  Jim Meyering  <meyering@redhat.com>
36916
36917         c-stack: avoid "ignoring return value of `write'" warning
36918         * lib/c-stack.c: Include "ignore-value.h".
36919         (die): Explicitly ignore each write return value.
36920         * modules/c-stack (Depends-on): Add ignore-value.
36921
36922 2009-11-21  Bruno Haible  <bruno@clisp.org>
36923
36924         diffseq: reduce scope of variable 'best'.
36925         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
36926         variable, earlier used for two different purposes.
36927
36928 2009-11-21  Jim Meyering  <meyering@redhat.com>
36929
36930         diffseq: remove useless assignment to "best"
36931         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
36932         assignment.  At that point "best" is already guaranteed to be zero.
36933
36934 2009-11-20  Eric Blake  <ebb9@byu.net>
36935
36936         build: mention ftp redirector in release announcements
36937         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
36938         values that used to come from cfg.mk; mention FTP redirect URL.
36939         * build-aux/announce-gen: Mention the mirror list.
36940         Suggested by Karl Berry.
36941
36942         nanosleep: improve port to mingw
36943         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
36944         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
36945         LIB_NANOSLEEP, but only when needed.
36946         * modules/select (Link): Document LIBSOCKET.
36947         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
36948         enough.
36949
36950         nanosleep: work around cygwin bug
36951         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
36952         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
36953         bug.
36954         (getnow): Delete, not needed.
36955         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
36956         LIB_CLOCK_GETTIME.
36957         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
36958         clock-time, gettime.
36959         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
36960         bug.
36961         * modules/nanosleep-tests: New test.
36962         * tests/test-nanosleep.c: New file.
36963
36964         sleep: work around cygwin bug
36965         * lib/sleep.c (rpl_sleep): Work around the bug.
36966         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
36967         (gl_PREREQ_SLEEP): Delete unused macro.
36968         * modules/sleep (Depends-on): Add verify.
36969         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
36970         * modules/unistd (Makefile.am): Substitute witness.
36971         * lib/unistd.in.h (sleep): Update prototype.
36972         * doc/posix-functions/sleep.texi (sleep): Document the bug.
36973         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
36974         * modules/sleep-tests (Depends-on): Check for alarm.
36975
36976 2009-11-20  Jim Meyering  <meyering@redhat.com>
36977
36978         maint.mk: improve sc_prohibit_magic_number_exit
36979         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
36980         so it does not match uses like System.exit(1).
36981         Add comments showing how to correct all offenders.
36982
36983 2009-11-19  Eric Blake  <ebb9@byu.net>
36984
36985         xalloc-die-tests: add missing library
36986         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
36987
36988         test-xvasprintf: silence compiler warnings
36989         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
36990         empty string from gcc.
36991
36992 2009-11-19  Jim Meyering  <meyering@redhat.com>
36993
36994         xfreopen: new module, from coreutils
36995         * modules/xfreopen: New module.
36996         * lib/xfreopen.c: New file.
36997         * lib/xfreopen.h: New file.
36998         * MODULES.html.sh (File stream based Input/Output"): Add it.
36999
37000 2009-11-19  Eric Blake  <ebb9@byu.net>
37001
37002         manywarnings: depend on warnings
37003         * modules/manywarnings (Depends-on): Add warnings.
37004
37005         build: avoid compiler warnings
37006         * lib/select.c (rpl_select): Delete unused variable.
37007         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
37008
37009 2009-11-18  Eric Blake  <ebb9@byu.net>
37010
37011         tests: avoid false negative with --with-packager
37012         * tests/test-version-etc.sh: Discard packager information.
37013         * tests/test-argp-version-etc-1.sh: Likewise.
37014         Reported by Mike Frysinger.
37015
37016         utimens: fix regression on Solaris
37017         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
37018         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
37019         can only change fd timestamps via futimesat.  Instead, use an
37020         additional witness macro to avoid BSD bug.
37021         Reported by Jim Meyering.
37022
37023 2009-11-17  Eric Blake  <ebb9@byu.net>
37024
37025         usleep: use it to simplify tests
37026         * modules/stat-time-tests (Depends-on): Add usleep.
37027         (configure.ac): Drop usleep check.
37028         * modules/chown-tests (Depends-on, configure.ac): Likewise.
37029         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
37030         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
37031         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
37032         * modules/openat-tests (Depends-on, configure.ac): Likewise.
37033         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
37034         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
37035         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
37036         Likewise.
37037         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
37038         * tests/test-lchown.h (nap): Likewise.
37039         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
37040         * tests/test-stat-time.c (nap): Likewise.
37041         * tests/test-utimens-common.h (nap): Update comments.
37042
37043         usleep: new module
37044         * modules/usleep: New file.
37045         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
37046         * lib/usleep.c (usleep): Likewise.
37047         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37048         * modules/unistd (Makefile.am): Substitute witnesses.
37049         * lib/unistd.in.h (usleep): Add declaration.
37050         * doc/pastposix-functions/usleep.texi (usleep): Document this.
37051         * MODULES.html.sh (Date and time): Likewise.
37052         * modules/usleep-tests (Depends-on): New test.
37053         * tests/test-usleep.c: New file.
37054
37055         chown: work around OpenBSD bug
37056         * lib/chown.c (rpl_chown): Work around the bug.
37057         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
37058         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
37059         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
37060         * modules/chown (Depends-on): Add stdbool.
37061         * modules/lchown (Depends-on): Likewise.
37062         * doc/posix-functions/chown.texi (chown): Document the bug.
37063         * doc/posix-functions/lchown.texi (lchown): Likewise.
37064         * tests/test-lchown.h (test_chown): Relax test.
37065
37066         mkstemp: avoid conflict with C++ keyword template
37067         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
37068         * lib/mkostemp.c (mkostemp): Likewise.
37069         * lib/mkostemps.c (mkostemps): Likewise.
37070         * lib/mkstemp.c (mkstemp): Likewise.
37071         * lib/mkstemps.c (mkstemps): Likewise.
37072
37073         xalloc-die-tests: optimize
37074         * tests/test-xalloc-die.sh: Reduce number of processes.
37075
37076 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37077
37078         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
37079         patch from ludo@gnu.org (Ludovic Courtès).
37080
37081 2009-11-17  Jim Meyering  <meyering@redhat.com>
37082
37083         version-etc: use proper license string
37084         * modules/version-etc (License): Use LGPL, not LGPLv3+.
37085         * modules/version-etc-fsf: Likewise.
37086
37087 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37088
37089         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
37090         printed to stdout.  Deal with EOL differences.
37091
37092 2009-11-17  Eric Blake  <ebb9@byu.net>
37093
37094         unsetenv: work around Solaris bug
37095         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
37096         * lib/unsetenv.c (rpl_unsetenv): Work around it.
37097         Reported by Jim Meyering.
37098
37099         vasnprintf: avoid compiler warnings
37100         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
37101         variables.
37102         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
37103
37104 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37105
37106         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
37107         settings since xalloc-die is no longer the self test,
37108         xalloc-die.sh is.
37109
37110 2009-11-17  Jim Meyering  <meyering@redhat.com>
37111
37112         test-xalloc-die.sh: make the code agree with the commit log
37113         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
37114         at the end, just in case you happen to have a test-xalloc-die
37115         program in some other PATH directory.
37116
37117         test-xalloc-die.sh: fix a portability bug
37118         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
37119         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
37120         Otherwise, argv[0] (as often seen in diagnostics) would be too
37121         system-dependent, sometimes with, and sometimes without the leading "./".
37122
37123         version-etc-fsf: relax license to LGPLv3+
37124         * modules/version-etc-fsf (License): Relax license.
37125
37126 2009-11-16  Eric Blake  <ebb9@byu.net>
37127
37128         xalloc-die-tests: avoid printing null pointer
37129         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
37130         shell script.
37131         * tests/test-xalloc-die.c (program_name): Declare.
37132         * tests/test-xalloc-die.sh (tmpfiles): New file.
37133
37134         setenv, unsetenv: work around various bugs
37135         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
37136         (setenv) [HAVE_SETENV]: Work around bugs.
37137         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
37138         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
37139         for bugs.
37140         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
37141         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
37142         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
37143         * modules/stdlib (Makefile.am): Update substitutions.
37144         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
37145         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
37146         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37147         * modules/setenv-tests: New test.
37148         * modules/unsetenv-tests: Likewise.
37149         * tests/test-setenv.c: New file.
37150         * tests/test-unsetenv.c: Likewise.
37151
37152 2009-11-16  Jim Meyering  <meyering@redhat.com>
37153
37154         version-etc: relax license to LGPLv3+
37155         * modules/version-etc (License): Relax license.
37156
37157         better AC_REQUIRE expanded-before-required-warning avoidance
37158         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
37159         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
37160         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
37161         which is no longer needed.
37162
37163 2009-11-16  Eric Blake  <ebb9@byu.net>
37164
37165         test-freading: clean up temporary file
37166         * tests/test-freading.c (main): Remove file on success, and use
37167         ASSERT more liberally.
37168         Reported by Jim Meyering.
37169
37170 2009-11-16  Jim Meyering  <meyering@redhat.com>
37171
37172         avoid new AC_REQUIRE expanded-before-required warnings
37173         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
37174         merely using it.
37175         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
37176         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
37177
37178 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37179
37180         * tests/test-xalloc-die.c: New file.
37181         * modules/xalloc-die-tests: New file.
37182         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
37183         XFAIL_TESTS so it can be appended by modules.
37184
37185 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37186
37187         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
37188         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
37189
37190 2009-11-14  Eric Blake  <ebb9@byu.net>
37191
37192         fnmatch: avoid compiler warning
37193         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
37194         to silence compiler warning about mismatch signedness in ?:.
37195         Reported by Robert Millan.
37196
37197         intprops: add double-inclusion guard
37198         * lib/intprops.h: Allow idempotent includes.
37199         Suggested by Bruce Korb.
37200
37201         openat: detect Solaris fchownat bug
37202         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
37203         penalizing glibc chownat when only lchownat is broken.
37204         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
37205         trailing slash bugs.
37206         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
37207         * modules/openat-tests (Files): Include more files.
37208         (Depends-on): Add mgetgroups, sleep, stat-time.
37209         (configure.ac): Add additional checks.
37210         (Makefile.am): Build new test.
37211         * tests/test-fchownat.c: New file.
37212
37213         lchown: detect Solaris and FreeBSD bug
37214         * lib/lchown.c (rpl_lchown): Work around bug.
37215         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
37216         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37217         * modules/unistd (Makefile.am): Populate it.
37218         * lib/unistd.in.h (lchown): Update declaration.
37219         * doc/posix-functions/lchown.texi (lchown): Document the bug.
37220         * modules/lchown-tests: New file.
37221         * tests/test-lchown.h (test_lchown): Likewise.
37222         * tests/test-lchown.c (main): Likewise.
37223
37224         chown: detect Solaris and FreeBSD bug
37225         * lib/chown.c (rpl_chown): Work around bug.
37226         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
37227         (gl_PREREQ_CHOWN): Delete.
37228         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37229         * modules/unistd (Makefile.am): Populate it.
37230         * lib/unistd.in.h (chown): Update declaration.
37231         * lib/lchown.c (chown): Update client.
37232         * modules/lchown (Depends-on): Add lstat.
37233         * doc/posix-functions/chown.texi (chown): Document the bug.
37234         * doc/posix-functions/getgroups.texi (getgroups): Document
37235         getgroups pitfall.
37236         * modules/chown-tests: New file.
37237         * tests/test-chown.h (test_chown): Likewise.
37238         * tests/test-chown.c (main): Likewise.
37239
37240 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
37241
37242         gnulib-tool: correctly detect absence of m4 directories
37243         * gnulib-tool: Avoid extra newline on data passed to wc -l.
37244
37245 2009-11-14  Jim Meyering  <meyering@redhat.com>
37246
37247         maint.mk: Prohibit inclusion of "xalloc.h" without use.
37248         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37249
37250 2009-11-14  John W. Eaton  <jwe@gnu.org>
37251
37252         strftime.h: wrap funtion declaration in extern "C" block
37253         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
37254
37255 2009-11-13  Eric Blake  <ebb9@byu.net>
37256
37257         getgroups: avoid compiler warning
37258         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
37259
37260         getgroups: work around FreeBSD bug
37261         * lib/getgroups.c (rpl_getgroups): Work around the bug.
37262         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
37263         * doc/posix-functions/getgroups.texi (getgroups): Document it.
37264         * tests/test-getgroups.c (main): Fix buffer overrun.
37265
37266         getgroups: avoid compilation failure
37267         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
37268         * modules/getgroups (Depends-on): Add stdint.
37269
37270 2009-11-13  Jim Meyering  <meyering@redhat.com>
37271
37272         test-getgroups: avoid compilation failure
37273         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
37274
37275 2009-11-13  Eric Blake  <ebb9@byu.net>
37276
37277         mgetgroups: new module, taken from coreutils
37278         * modules/mgetgroups: New file.
37279         * lib/mgetgroups.h: Likewise.
37280         * lib/mgetgroups.c (mgetgroups): Likewise.
37281         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
37282         * MODULES.html.sh (Users and groups): Mention it.
37283
37284         getgroups: don't expose GETGROUPS_T to user
37285         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
37286         an element at a time if GETGROUPS_T is wrong size.
37287         * lib/getugroups.h (getugroups): Change signature.
37288         * lib/unistd.in.h (getgroups): Likewise.
37289         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
37290         signature needs fixing.
37291         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
37292         AC_TYPE_GETGROUPS.
37293         * modules/group-member (Depends-on): Add getgroups.
37294         * lib/group-member.c (group_info, get_group_info): Use gid_t.
37295         (group_member): Rely on getgroups replacement.
37296         * lib/getugroups.c (getugroups): Use gid_t.
37297         * tests/test-getgroups.c (main): Likewise.
37298         * NEWS: Mention the signature change.
37299         * doc/posix-functions/getgroups.texi (getgroups): Mention the
37300         problem with signature.
37301         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
37302         GETGROUPS_T is still useful for setgroups.
37303
37304         getgroups, getugroups: provide stubs for mingw
37305         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
37306         * lib/getugroups.c (getugroups): Likewise.
37307         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
37308         function.  Modernize replacement scheme.
37309         (gl_PREREQ_GETGROUPS): Delete.
37310         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
37311         * modules/getgroups (configure.ac): Declare witness.
37312         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37313         * modules/unistd (Depends-on): Substitute witness.
37314         * lib/unistd.in.h (getgroups): Declare replacement.
37315
37316         getgroups: avoid calling exit
37317         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
37318         drop xalloc.
37319         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
37320         dependencies.
37321         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
37322         exiting, in the rare case of malloc failure.
37323
37324         getgroups: fix logic error
37325         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
37326         has more than 20 groups.
37327         * modules/getgroups-tests: New test.
37328         * tests/test-getgroups.c: New file.
37329
37330 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37331
37332         * tests/test-base64.c: Improve.
37333
37334 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37335
37336         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
37337         Blake <ebb9@byu.net>.
37338
37339 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37340
37341         * tests/test-xvasprintf.c: Add %s%s related checks.
37342
37343 2009-11-12  Eric Blake  <ebb9@byu.net>
37344
37345         version-etc: match standards.texi style
37346         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
37347         and use <> only for URLs.
37348
37349 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
37350
37351         fts: do not fail on a submount during traversal
37352         * lib/fts.c (fts_build): Read the stat info again after opening
37353         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
37354         Original report at http://bugzilla.redhat.com/501848.
37355
37356 2009-11-12  Jim Meyering  <meyering@redhat.com>
37357
37358         bootstrap: sync from coreutils
37359         * build-aux/bootstrap (bootstrap_epilogue): New function.
37360         Use git_modules_config in one more place.  This make bootstrap's
37361         --gnulib-srcdir option more useful for testing.
37362
37363         bootstrap: generalize autoheader check
37364         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
37365         AC_CONFIG_HEADERS.
37366
37367 2009-11-11  Eric Blake  <ebb9@byu.net>
37368
37369         mkfifoat: use new modules for Solaris and BSD bugs
37370         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
37371         * lib/mkfifoat.c (mknodat): Split...
37372         * lib/mknodat.c (mknodat): ...into new file.
37373         * modules/mkfifoat (Files): Ship new file.
37374         (Depends-on): Add mkfifo, mknod.
37375         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
37376         (Depends-on): Add symlink.
37377         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
37378         redundant with test_mkfifo.h.
37379         (do_mkfifoat, do_mknodat): New helpers.
37380
37381         mknod: new module
37382         * modules/mknod: New file.
37383         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
37384         * lib/mknod.c (mknod): Likewise.
37385         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37386         defaults.
37387         * modules/sys_stat (Makefile.am): Substitute them.
37388         * lib/sys_stat.in.h (mknod): Declare replacement.
37389         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37390         Document it.
37391         * doc/posix-functions/mknod.texi (mknod): Likewise.
37392         * modules/mknod-tests: New test.
37393         * tests/test-mknod.c: Likewise.
37394
37395         mkfifo: new module
37396         * modules/mkfifo: New file.
37397         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
37398         * lib/mkfifo.c (mkfifo): Likewise.
37399         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37400         defaults.
37401         * modules/sys_stat (Makefile.am): Substitute them.
37402         * lib/sys_stat.in.h (mkfifo): Declare replacement.
37403         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37404         Document it.
37405         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
37406         * modules/mkfifo-tests: New test.
37407         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
37408         from test-mkfifoat.c.
37409         * tests/test-mkfifo.c: New file.
37410
37411         readlink: detect FreeBSD bug
37412         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
37413         slash on symlink.
37414         * doc/posix-functions/readlink.texi (readlink): Document the bug.
37415         * tests/test-readlink.h (test_readlink): Enhance test.
37416
37417         symlink: detect FreeBSD bug
37418         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
37419         slash on symlink.
37420         * doc/posix-functions/symlink.texi (symlink): Document the bug.
37421         * tests/test-symlink.h (test_symlink): Enhance test.
37422
37423 2009-11-10  Eric Blake  <ebb9@byu.net>
37424
37425         link: detect FreeBSD bug
37426         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
37427         symlink.
37428         * doc/posix-functions/link.texi (link): Document the bug.
37429         * tests/test-link.h (test_link): Enhance test.
37430         * tests/test-linkat.c (main): Update caller.
37431
37432         unlink, remove: detect FreeBSD bug
37433         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
37434         slash on symlink.
37435         * doc/posix-functions/unlink.texi (unlink): Document the bug.
37436         * doc/posix-functions/remove.texi (remove): Likewise.
37437         * tests/test-unlink.h (test_unlink): Enhance test.
37438         * tests/test-remove.c (main): Likewise.
37439
37440 2009-11-09  Eric Blake  <ebb9@byu.net>
37441
37442         rename: detect FreeBSD bug
37443         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
37444         slash on symlink.
37445         * modules/renameat-tests (Depends-on): Add filenamecat.
37446         * tests/test-rename.h (test_rename): Allow one more errno.
37447         * tests/test-renameat.c (main): Likewise.
37448         * doc/posix-functions/rename.texi (rename): Document the bug.
37449
37450         open: detect FreeBSD bug
37451         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
37452         symlink.
37453         * doc/posix-functions/open.texi (open): Document the bug.
37454         * doc/posix-functions/utimes.texi (utimes): Likewise.
37455         * tests/test-open.h (test_open): Add parameters, and test symlink
37456         handling.
37457         * tests/test-open.c (main): Adjust caller.
37458         * tests/test-fcntl-safer.c (main): Likewise.
37459         * modules/open-tests (Depends-on): Add stdbool, symlink.
37460         * modules/fcntl-safer-tests (Depends-on): Likewise.
37461         * tests/test-openat.c (main): Add test-open tests.
37462
37463         stat: detect FreeBSD bug
37464         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
37465         symlink.
37466         * doc/posix-functions/stat.texi (stat): Document the bug.
37467         * tests/test-stat.h (test_stat_func): Add argument.
37468         * tests/test-stat.c (main): Adjust caller.
37469         * tests/test-fstatat.c (main): Likewise.
37470         * modules/stat-tests (Depends-on): Add stdbool, symlink.
37471         Reported by Jim Meyering.
37472
37473 2009-11-09  James Youngman  <jay@gnu.org>
37474
37475         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
37476         * lib/strftime.c: Correct placement of #include "ignore-value.h".
37477
37478 2009-11-08  Jim Meyering  <meyering@redhat.com>
37479
37480         utimens: remove invalid futimesat call
37481         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
37482         It used the file descriptor of the target file as the DIR_FD
37483         parameter and NULL as the file name.  That caused failure with
37484         errno == EFAULT on FreeBSD-8.0-rc2
37485
37486 2009-11-07  Eric Blake  <ebb9@byu.net>
37487
37488         fflush, freadseek: use fseeko, not fseek
37489         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37490         (clear_ungetc_buffer): Avoid potential problems on large files.
37491         * lib/freadseek.c (freadseek): Likewise.
37492         * modules/freadseek (Depends-on): Add fseeko.
37493         * modules/fseek (configure.ac): Set a witness.
37494         * tests/test-fflush.c (main): Use fseeko.
37495         * tests/test-fpurge.c (fseek): Disable link warning.
37496         * tests/test-freadable.c (fseek): Likewise.
37497         * tests/test-freading.c (fseek): Likewise.
37498         * tests/test-fseeko.c (fseek): Likewise.
37499         * tests/test-ftell.c (fseek): Likewise.
37500         * tests/test-ftello.c (fseek): Likewise.
37501         * tests/test-fwritable.c (fseek): Likewise.
37502         * tests/test-fwriting.c (fseek): Likewise.
37503
37504 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37505
37506         * modules/memchr (Depends-on): Drop getpagesize dependency.
37507
37508 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37509
37510         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
37511         Reported by Ludovic Courtès.
37512         * build-aux/pmccabe2html: Improve example usage.
37513         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
37514
37515 2009-11-06  Jim Meyering  <meyering@redhat.com>
37516
37517         do-release-commit-and-tag: New module.
37518         Automate the release-commit and tag process.
37519         * build-aux/do-release-commit-and-tag: New script, from coreutils.
37520         * modules/do-release-commit-and-tag: New file.
37521         * MODULES.html.sh (Support for maintaining and releasing): Add it.
37522
37523 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37524
37525         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
37526         because test-select.c uses inet_pton.
37527
37528 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37529
37530         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
37531         GETADDRINFO_LIB.  Bump serial number.
37532         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
37533         Suggested by Eric Blake <ebb9@byu.net>.
37534
37535 2009-11-05  Eric Blake  <ebb9@byu.net>
37536
37537         strtod: detect darwin bug
37538         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
37539         Reported by Leo Davis.
37540
37541         freopen-safer: new module
37542         * modules/freopen-safer: New module.
37543         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
37544         * lib/freopen-safer.c (freopen_safer): New file.
37545         * lib/stdio-safer.h (freopen_safer): New declaration.
37546         * lib/stdio--.h (freopen): New override.
37547         * MODULES.html.sh (File stream based Input/Output): Mention it.
37548         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
37549         freopen-safer module.
37550         * doc/posix-functions/stderr.texi (stderr): Likewise.
37551         * doc/posix-functions/stdin.texi (stdin): Likewise.
37552         * doc/posix-functions/stdout.texi (stdout): Likewise.
37553         * modules/freopen-safer-tests: New test.
37554         * tests/test-reopen-safer.c: New file.
37555
37556 2009-11-05  Jim Meyering  <meyering@redhat.com>
37557
37558         maint.mk: Prohibit inclusion of "close-stream.h" without use.
37559         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37560
37561 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37562
37563         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
37564
37565 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37566
37567         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
37568
37569 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37570
37571         Fix link error.
37572         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37573         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37574
37575 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37576
37577         * tests/test-func.c: Also test value of __func__.
37578
37579 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37580
37581         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
37582         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
37583
37584 2009-11-05  Bruno Haible  <bruno@clisp.org>
37585
37586         Fix link error.
37587         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37588         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37589         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
37590
37591 2009-11-05  Bruno Haible  <bruno@clisp.org>
37592
37593         Tests for module 'inet_pton'.
37594         * modules/inet_pton-tests: New file.
37595         * tests/test-inet_pton.c: New file.
37596
37597 2009-11-05  Bruno Haible  <bruno@clisp.org>
37598
37599         Tests for module 'inet_ntop'.
37600         * modules/inet_ntop-tests: New file.
37601         * tests/test-inet_ntop.c: New file.
37602
37603 2009-11-04  Eric Blake  <ebb9@byu.net>
37604
37605         stdlib-safer: wrap all mkstemp variants
37606         * modules/mkostemp (configure.ac): Set witness.
37607         * modules/mkostemps (configure.ac): Likewise.
37608         * modules/mkstemps (configure.ac): Likewise.
37609         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
37610         (mkstemps_safer): Wrap more functions.
37611         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
37612         wrapping.
37613         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
37614         (mkstemps_safer): Implement the wrappers.
37615
37616         mkstemps, mkostemps: new modules
37617         * modules/mkostemps: New module.
37618         * modules/mkstemps: Likewise.
37619         * lib/mkostemps.c (mkostemps): New file.
37620         * lib/mkstemps.c (mkstemps): Likewise.
37621         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
37622         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
37623         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
37624         * modules/stdlib (Makefile.am): Substitute them.
37625         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
37626         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
37627         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
37628         * doc/gnulib.texi (Glibc stdlib.h): Include them.
37629         * MODULES.html.sh (File system functions): Mention them.
37630
37631         tempname: resync from glibc
37632         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
37633         same values for __GT_FILE as glibc.  Abort even when assertions
37634         are disabled.
37635         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
37636         match its value otherwise.  Allow idempotent inclusion.
37637         * lib/mkdtemp.c (mkdtemp): Adjust caller.
37638         * lib/mkostemp.c (mkostemp): Likewise.
37639         * lib/mkstemp.c (mkstemp): Likewise.
37640         * lib/tmpfile.c (tmpfile): Likewise.
37641         * NEWS: Document this.
37642
37643         utimens: fix use of futimens on older Linux
37644         * lib/utimens.c (fdutimens): Use updated, rather than original,
37645         timespec to avoid bug in older Linux kernel.
37646         Reported by Simon Josefsson.
37647
37648 2009-11-04  Bruno Haible  <bruno@clisp.org>
37649
37650         Make num_processors more flexible and consistent.
37651         * lib/nproc.h (enum nproc_query): New type.
37652         (num_processors): Add a 'query' argument.
37653         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
37654         (num_processors): Add a 'query' argument. Test the value of the
37655         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
37656         mingw, count the number of CPUs available for the current process.
37657         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
37658         Check for sched_getaffinity and sched_getaffinity_np.
37659         * modules/nproc (Depends-on): Add c-ctype, extensions.
37660         * NEWS: Mention the change.
37661
37662 2009-11-03  Bruno Haible  <bruno@clisp.org>
37663
37664         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
37665
37666 2009-11-03  Jim Meyering  <meyering@redhat.com>
37667
37668         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
37669         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
37670         if it is defined.
37671
37672 2009-11-02  Eric Blake  <ebb9@byu.net>
37673
37674         mktime, timegm: share common declaration
37675         * lib/mktime-internal.h: New file.
37676         * lib/mktime.c: Use it rather than open-coding a declaration.
37677         * lib/timegm.c: Likewise.
37678         * modules/mktime (Files): Ship it.
37679         * modules/timegm (Files): Likewise.
37680         Suggested by Bruno Haible.
37681
37682         test-update-copyright: update test to match script changes
37683         * tests/test-update-copyright.sh: Avoid hard-coding perl
37684         location.  Don't update *.bak created by earlier runs.
37685
37686 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
37687             Simon Josefsson  <simon@josefsson.org>
37688             Bruno Haible  <bruno@clisp.org>
37689
37690         Fix link error on Solaris 8.
37691         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
37692         also in libnsl. Define also INET_PTON_LIB.
37693         * modules/inet_pton (Link): New section.
37694
37695 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37696             Bruno Haible  <bruno@clisp.org>
37697
37698         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
37699         * modules/inet_ntop (Link): New section.
37700         Reported by Boyan Kasarov <bkasarov@gmail.com>.
37701
37702 2009-11-02  Eric Blake  <ebb9@byu.net>
37703
37704         maint: avoid compiler warnings in m4 macros
37705         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
37706         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
37707
37708 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37709
37710         * m4/pmccabe2html.m4: Remove file.
37711         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
37712         function.  Change maintainer.
37713         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
37714         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
37715         Courtès).
37716
37717 2009-10-31  Eric Blake  <ebb9@byu.net>
37718
37719         fseeko: fix m4 regression
37720         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
37721         regression from 2009-10-27.
37722         Reported by Ralf Wildenhues.
37723
37724 2009-10-31  Jim Meyering  <meyering@redhat.com>
37725
37726         inttostr: aesthetics and improved (compile-time) safety
37727         Define inttype_is_signed rather than inttype_is_unsigned,
37728         since the sole use is via "#if inttype_is_signed".
37729         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
37730         inttype_is_unsigned.
37731         * lib/offtostr.c (inttype_is_signed): Likewise.
37732         * lib/uinttostr.c (inttype_is_signed): Likewise.
37733         * lib/umaxtostr.c (inttype_is_signed): Likewise.
37734         * lib/inttostr.c (inttostr): Use verify to cross-check the
37735         inttype_is_signed value and the signedness of the actual type.
37736         * modules/inttostr (Depends-on): Add verify.
37737
37738 2009-10-30  Eric Blake  <ebb9@byu.net>
37739
37740         build: avoid compiler warnings
37741         * lib/fchmodat.c (lchmod): Mark unused variables.
37742         * lib/getopt.c (_getopt_initialize): Likewise.
37743         * lib/mktime.c (__mktime_internal): Provide prototype.
37744         * lib/inttostr.c (inttostr): Avoid compiler warning even with
37745         older gcc that do not understand #pragma GCC diagnostic.
37746         * lib/uinttostr.c (inttype_is_unsigned): Define.
37747         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
37748
37749 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
37750
37751         stat: fix compilation on AIX
37752         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
37753         only see struct stat64.
37754
37755 2009-10-30  Eric Blake  <ebb9@byu.net>
37756
37757         exclude: make more robust
37758         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
37759         rather than masking a coding bug.
37760         Suggested by Bruno Haible.
37761
37762 2009-10-30  Jim Meyering  <meyering@redhat.com>
37763
37764         perl scripts: remove #!/usr/bin/perl in favor of more portable...
37765         Rather than putting #!/usr/bin/perl on the first line,
37766         start with a variant of what's recommended by "man perlrun" that
37767         invokes the first "perl" program from your shell's search path.
37768         * build-aux/gitlog-to-changelog: Replace #!... as above.
37769         Add a "Local Variables" perl mode setting.
37770         Prompted by a patch from Ludovic Courtès.
37771         Improved by Eric Blake.
37772         * build-aux/useless-if-before-free: Likewise.
37773         * build-aux/announce-gen: Likewise.
37774         * build-aux/update-copyright: Likewise.
37775
37776 2009-10-29  Eric Blake  <ebb9@byu.net>
37777
37778         filenamecat-lgpl: adjust clients
37779         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
37780         filenamecat.
37781         * modules/renameat (Depends-on): Likewise.
37782
37783         filenamecat: split into filenamecat-lgpl
37784         * modules/filenamecat-lgpl: New module.
37785         * modules/filenamecat (Files): Move library-safe files into
37786         filenamecat-lgpl.
37787         (Depends-on): Add filenamecat-lgpl.
37788         (configure.ac): Declare witness.
37789         * lib/filenamecat.h (file_name_concat): Only declare when using
37790         GPL module.
37791         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
37792         Move...
37793         * lib/filenamecat-lgpl.c: ...into new file.
37794         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
37795         (gl_FILE_NAME_CONCAT): Use it.
37796         * MODULES.html.sh (File system functions): Mention new module.
37797
37798         argp: avoid memory leak
37799         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
37800         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
37801         base_name, since the latter malloc()s and can call exit().
37802         Leak introduced 2006-07-03.
37803
37804         dirname-lgpl: adjust clients that don't need full dirname
37805         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
37806         * modules/filenamecat (Depends-on): Likewise.
37807         * modules/linkat (Depends-on): Likewise.
37808         * modules/mkancesdirs (Depends-on): Likewise.
37809         * modules/mkdir (Depends-on): Likewise.
37810         * modules/openat (Depends-on): Likewise.
37811         * modules/savewd (Depends-on): Likewise.
37812         * modules/rename (Depends-on): Likewise.
37813         (License): Relax license.
37814         * modules/mkdir-tests (Depends-on): Drop progname.
37815         (Makefile.am): Delete unneeded LDADD.
37816         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
37817
37818         dirname: split into dirname-lgpl
37819         * modules/dirname-lgpl: New module.
37820         * modules/dirname (Files): Move library-safe files into
37821         dirname-lgpl.
37822         (Depends-on): Add dirname-lgpl.
37823         (configure.ac): Declare witness.
37824         * modules/double-slash-root (License): Relax license.
37825         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
37826         module.
37827         * lib/dirname.c (dir_len, mdir_name): Move...
37828         * lib/dirname-lgpl.c: ...into new file.
37829         * lib/basename.c (last_component, base_len): Move...
37830         * lib/basename-lgpl.c: ...into new file.
37831         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
37832         (gl_DIRNAME): Use it.
37833         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
37834         Mention new module.
37835         * modules/dirname-tests (Depends-on): Add progname.
37836         * tests/test-dirname.c (program_name): Delete.
37837
37838         mkdir: make safe for libraries
37839         * modules/mkdir (Depends-on): Drop xalloc.
37840         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
37841         exit.
37842
37843         tests: avoid some compiler warnings
37844         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
37845         literals.
37846         * tests/test-memchr.c (main): Avoid type mismatch.
37847         * tests/test-arpa_inet.c (main): Avoid unused parameters.
37848         * tests/test-base64.c (main): Likewise.
37849         * tests/test-getdelim.c (main): Likewise.
37850         * tests/test-gethostname.c (main): Likewise.
37851         * tests/test-getline.c (main): Likewise.
37852         * tests/test-netinet_in.c (main): Likewise.
37853         * tests/test-select.c (open_server_socket, main): Likewise.
37854         * tests/test-select-stdin.c (main): Likewise.
37855         * tests/test-sockets.c (main): Likewise.
37856         * tests/test-strsignal.c (main): Likewise.
37857         * tests/test-sys_select.c (main): Likewise.
37858         * tests/test-sys_socket.c (main): Likewise.
37859         * tests/test-u64.c (main): Likewise.
37860         * tests/test-xfprintf-posix.c (main): Likewise.
37861         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
37862
37863         sockets: avoid compiler warning
37864         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
37865
37866         maint: detect usage(1) and other suspicious exits
37867         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
37868
37869 2009-10-29  Jim Meyering  <meyering@redhat.com>
37870
37871         timespec: long-to-int truncation could make timespec_cmp malfunction
37872         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
37873         a multiple of 2^32 nanoseconds as no difference.
37874
37875 2009-10-28  Jim Meyering  <meyering@redhat.com>
37876
37877         fprintftime: wrap macro code argument in "do {...} while(0)"
37878         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
37879         cpy macro must be a statement that can be followed by a semicolon.
37880         Now that the else clause contains a comment and is hence longer
37881         than one line, I require curly braces.  That in turn requires
37882         that we wrap this code block in the standard do...while(0).
37883
37884         fprintftime: remove stray semicolon from previous change
37885         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
37886
37887         fprintftime: avoid a warning about ignored fwrite return value
37888         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
37889         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
37890         that is unsafe.
37891         * modules/fprintftime (Depends-on): Add ignore-value.
37892
37893         exclude: avoid an unwarranted warning
37894         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
37895
37896 2009-10-27  Eric Blake  <ebb9@byu.net>
37897
37898         fseek: avoid compilation failure when fflush is replaced
37899         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
37900         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
37901         module is in use.
37902         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
37903         module is not in use; since REPLACE_FSEEK worked otherwise.
37904         (GNULIB_FTELLO): Likewise for ftell.
37905         Reported by Ian Beckwith and others.
37906
37907 2009-10-27  Bruno Haible  <bruno@clisp.org>
37908
37909         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
37910         Reported by Jim Meyering.
37911
37912 2009-10-27  Jim Meyering  <jim@meyering.net>
37913             Bruno Haible  <bruno@clisp.org>
37914
37915         Avoid warning despite dropping the return value of fwrite.
37916         * lib/unicodeio.c: Include ignore-value.h.
37917         (fwrite_success_callback): Explicitly ignore fwrite's return value.
37918         * modules/unicodeio (Depends-on): Add ignore-value.
37919
37920 2009-10-26  Eric Blake  <ebb9@byu.net>
37921
37922         areadlinkat: fix fallback path
37923         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
37924         pointer and zero.
37925
37926 2009-10-22  Pádraig Brady  <P@draigBrady.com>
37927
37928         Use a better IO block size for modern systems
37929         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
37930         * lib/md2.c: Likewise.
37931         * lib/md4.c: Likewise.
37932         * lib/md5.c: Likewise.
37933         * lib/sha1.c: Likewise.
37934         * lib/sha256.c: Likewise.
37935         * lib/sha512.c: Likewise.
37936
37937 2009-10-22  Eric Blake  <ebb9@byu.net>
37938
37939         tests: avoid several compiler warnings
37940         * tests/test-getcwd.c (main): Avoid buffer underflow.
37941         * tests/test-getdate.c (main): String literals are not safe with
37942         putenv, so use setenv.  Declare unused argument.
37943         * modules/getdate-tests (Depends-on): Add setenv.
37944         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
37945         problems with string literals in char *.
37946         * tests/test-hash.c (main): Avoid shadowing declaration.
37947         (insert_new): Treat string literals as char const *.
37948         * tests/test-getopt.h (test_getopt): Likewise.
37949         (getopt_loop): Alter types to minimize casting elsewhere.
37950         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
37951         (test_getopt_long_posix): Likewise.
37952         (do_getopt_long): Add wrapper to minimize casting.
37953         * tests/test-atexit.c (clear_temp_file): Use void.
37954         * tests/test-areadlink-with-size.c (main): Declare unused
37955         arguments.
37956         * tests/test-areadlink.c (main): Likewise.
37957         * tests/test-areadlinkat-with-size.c (main): Likewise.
37958         * tests/test-areadlinkat.c (main): Likewise.
37959         * tests/test-canonicalize-lgpl.c (main): Likewise.
37960         * tests/test-canonicalize.c (main): Likewise.
37961         * tests/test-dirent-safer.c (main): Likewise.
37962         * tests/test-dirname.c (main): Likewise.
37963         * tests/test-dup2.c (main): Likewise.
37964         * tests/test-fchdir.c (main): Likewise.
37965         * tests/test-fcntl-h.c (main): Likewise.
37966         * tests/test-fcntl-safer.c (main): Likewise.
37967         * tests/test-fdopendir.c (main): Likewise.
37968         * tests/test-fdutimensat.c (main): Likewise.
37969         * tests/test-fflush.c (main): Likewise.
37970         * tests/test-filenamecat.c (main): Likewise.
37971         * tests/test-filevercmp.c (main): Likewise.
37972         * tests/test-fopen-safer.c (main): Likewise.
37973         * tests/test-fopen.c (main): Likewise.
37974         * tests/test-fpending.c (main): Likewise.
37975         * tests/test-fpurge.c (main): Likewise.
37976         * tests/test-freading.c (main): Likewise.
37977         * tests/test-fstatat.c (main): Likewise.
37978         * tests/test-fsync.c (main): Likewise.
37979         * tests/test-futimens.c (main): Likewise.
37980         * tests/test-getndelim2.c (main): Likewise.
37981         * tests/test-gettimeofday.c (main): Likewise.
37982         * tests/test-getopt.c (main): Likewise.
37983         * tests/test-i-ring.c (main): Likewise.
37984         * tests/test-inttypes.c (main): Likewise.
37985         * tests/test-link.c (main): Likewise.
37986         * tests/test-lstat.c (main): Likewise.
37987         * tests/test-math.c (main): Likewise.
37988         * tests/test-md5.c (main): Likewise.
37989         * tests/test-memchr2.c (main): Likewise.
37990         * tests/test-memrchr.c (main): Likewise.
37991         * tests/test-mkdir.c (main): Likewise.
37992         * tests/test-mkdirat.c (main): Likewise.
37993         * tests/test-mkfifoat.c (main): Likewise.
37994         * tests/test-open.c (main): Likewise.
37995         * tests/test-openat-safer.c (main): Likewise.
37996         * tests/test-openat.c (main): Likewise.
37997         * tests/test-quotearg.c (main): Likewise.
37998         * tests/test-rawmemchr.c (main): Likewise.
37999         * tests/test-readlink.c (main): Likewise.
38000         * tests/test-remove.c (main): Likewise.
38001         * tests/test-rename.c (main): Likewise.
38002         * tests/test-renameat.c (main): Likewise.
38003         * tests/test-rmdir.c (main): Likewise.
38004         * tests/test-sha1.c (main): Likewise.
38005         * tests/test-signal.c (main): Likewise.
38006         * tests/test-sigaction.c (main): Likewise.
38007         * tests/test-stat.c (main): Likewise.
38008         * tests/test-stat-time.c (main): Likewise.
38009         * tests/test-stddef.c (main): Likewise.
38010         * tests/test-stdint.c (main): Likewise.
38011         * tests/test-stdio.c (main): Likewise.
38012         * tests/test-stdlib.c (main): Likewise.
38013         * tests/test-strchrnul.c (main): Likewise.
38014         * tests/test-strerror.c (main): Likewise.
38015         * tests/test-string.c (main): Likewise.
38016         * tests/test-strtod.c (main): Likewise.
38017         * tests/test-strverscmp.c (main): Likewise.
38018         * tests/test-symlink.c (main): Likewise.
38019         * tests/test-symlinkat.c (main): Likewise.
38020         * tests/test-sys_stat.c (main): Likewise.
38021         * tests/test-sys_time.c (main): Likewise.
38022         * tests/test-time.c (main): Likewise.
38023         * tests/test-unistd.c (main): Likewise.
38024         * tests/test-unlink.c (main): Likewise.
38025         * tests/test-unlinkat.c (main): Likewise.
38026         * tests/test-utimens.c (main): Likewise.
38027         * tests/test-utimensat.c (main): Likewise.
38028         * tests/test-version-etc.c (main): Likewise.
38029         * tests/test-wchar.c (main): Likewise.
38030         * tests/test-wctype.c (main): Likewise.
38031         * tests/test-xprintf-posix.c (main): Likewise.
38032         * tests/test-posixtm.c (main): Likewise.
38033         (STREQ): Delete unused macro.
38034         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
38035         shadowed variables.
38036         * tests/test-memchr.c (main): Likewise.
38037
38038 2009-10-21  Eric Blake  <ebb9@byu.net>
38039
38040         areadlinkat: avoid failure on older glibc
38041         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
38042         rather than mis-comparing 0 against FUNC_RESULT of char*.
38043
38044 2009-10-21  Bruno Haible  <bruno@clisp.org>
38045
38046         * modules/stpncpy (License): Relicense under LGPLv2+.
38047         Reported by David Lutterkort <lutter@redhat.com>.
38048
38049 2009-10-20  Eric Blake  <ebb9@byu.net>
38050
38051         utimensat: work around Solaris 9 bug
38052         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
38053         has trailing slash bugs.
38054         * tests/test-lutimens.h (test_lutimens): Enhance test.
38055         * tests/test-utimens.h (test_utimens): Likewise.
38056         * doc/posix-functions/utime.texi (utime): Enhance documentation.
38057         * doc/posix-functions/utimes.texi (utimes): Likewise.
38058         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38059         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
38060         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
38061         * doc/posix-functions/futimens.texi (futimens): Likewise.
38062
38063         fdutimensat: new module
38064         * modules/fdutimensat: New file.
38065         * lib/fdutimensat.c (fdutimensat): Likewise.
38066         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
38067         * MODULES.html.sh (File system functions): Mention module.
38068         * modules/fdutimensat-tests: New test.
38069         * tests/test-fdutimensat.c: Likewise.
38070
38071         doc: regenerate INSTALL
38072         * doc/INSTALL: Reflect recent autoconf update.
38073         * doc/INSTALL.ISO: Likewise.
38074         * doc/INSTALL.UTF-8: Likewise.
38075
38076 2009-10-20  Pádraig Brady  <P@draigBrady.com>
38077
38078         acl: warn if ACL support is not detected
38079         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
38080
38081 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
38082
38083         * lib/nproc.h: Add extern "C" block for C++.
38084
38085 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
38086             Bruno Haible  <bruno@clisp.org>
38087
38088         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
38089         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
38090         * doc/posix-functions/isalpha.texi: Likewise.
38091         * doc/posix-functions/isblank.texi: Likewise.
38092         * doc/posix-functions/iscntrl.texi: Likewise.
38093         * doc/posix-functions/isdigit.texi: Likewise.
38094         * doc/posix-functions/isgraph.texi: Likewise.
38095         * doc/posix-functions/islower.texi: Likewise.
38096         * doc/posix-functions/isprint.texi: Likewise.
38097         * doc/posix-functions/ispunct.texi: Likewise.
38098         * doc/posix-functions/isspace.texi: Likewise.
38099         * doc/posix-functions/isupper.texi: Likewise.
38100         * doc/posix-functions/isxdigit.texi: Likewise.
38101
38102 2009-10-18  Bruno Haible  <bruno@clisp.org>
38103
38104         Tests for module 'isblank'.
38105         * modules/isblank-tests: New file.
38106         * tests/test-isblank.c: New file.
38107
38108         New module 'isblank'.
38109         * lib/isblank.c: New file.
38110         * m4/isblank.m4: New file.
38111         * modules/isblank: New file.
38112         * doc/posix-functions/isblank.texi: Mention the new module.
38113
38114 2009-10-18  Bruno Haible  <bruno@clisp.org>
38115
38116         New module 'ctype'.
38117         * lib/ctype.in.h: New file.
38118         * m4/ctype.m4: New file.
38119         * modules/ctype: New file.
38120         * doc/posix-headers/ctype.texi: Mention the new module.
38121
38122 2009-10-18  Jim Meyering  <meyering@redhat.com>
38123
38124         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
38125         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
38126         right after its initialization, rather than farther down.
38127         Keeping these in close proximity makes it easier to ensure
38128         that each such variable is initialized.  E.g.,
38129
38130             LIB_CLOCK_GETTIME=
38131             AC_SUBST([LIB_CLOCK_GETTIME])
38132
38133         This change also increments these serial numbers.
38134         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
38135         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38136         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38137
38138 2009-10-18  Bruno Haible  <bruno@clisp.org>
38139
38140         Don't let environment variables perturb build.
38141         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
38142         (gl_PREREQ_GETHRXTIME): ... not here.
38143
38144 2009-10-18  Bruno Haible  <bruno@clisp.org>
38145
38146         Avoid symlink attack in localcharset module.
38147         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
38148         (O_NOFOLLOW): Define fallback.
38149         (get_charset_aliases): Don't open the file if it is a symbolic link.
38150         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
38151         gl_FCNTL_H.
38152         (gl_FCNTL_H): Require it.
38153         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
38154         * modules/localcharset (Files): Add m4/fcntl_h.m4.
38155         Reported by Fergal Glynn <fglynn@veracode.com>.
38156
38157 2009-10-18  Bruno Haible  <bruno@clisp.org>
38158
38159         Implement nproc for mingw.
38160         * lib/nproc.c: Include <windows.h>
38161         (num_processors): On native Windows platforms, try GetSystemInfo.
38162
38163 2009-10-18  Bruno Haible  <bruno@clisp.org>
38164
38165         Implement nproc for IRIX.
38166         * lib/nproc.c: Include <sys/sysmp.h>.
38167         (num_processors): On IRIX systems, try sysmp.
38168         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
38169
38170 2009-10-18  Bruno Haible  <bruno@clisp.org>
38171
38172         Implement nproc for HP-UX.
38173         * lib/nproc.c: Include <sys/pstat.h>
38174         (num_processors): On HP-UX systems, try pstat_getdynamic.
38175         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
38176         pstat_getdynamic.
38177
38178 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
38179             Bruno Haible  <bruno@clisp.org>
38180
38181         Implement nproc for NetBSD, OpenBSD.
38182         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
38183         (ARRAY_SIZE): New macro.
38184         (num_processors): On BSD systems, try sysctl of HW_NCPU.
38185         * m4/nproc.m4: New file.
38186         * modules/nproc (Files): Add m4/nproc.m4.
38187         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
38188         (Makefile.am): Instead, augment lib_SOURCES.
38189
38190 2009-10-18  Bruno Haible  <bruno@clisp.org>
38191
38192         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
38193         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
38194         sys/param.h.
38195
38196 2009-10-16  Eric Blake  <ebb9@byu.net>
38197
38198         utimensat: new module
38199         * modules/utimensat: New file.
38200         * lib/utimensat.c (utimensat): Likewise.
38201         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38202         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
38203         so we can work around Linux bugs.
38204         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38205         * modules/sys_stat (Makefile.am): Substitute them.
38206         * lib/sys_stat.in.h (utimensat): Declare it.
38207         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38208         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38209         * modules/utimensat-tests: New test.
38210         * tests/test-utimensat.c: Likewise.
38211
38212         utimens: let lutimens work on non-symlinks
38213         * lib/utimens.c (lutimens): Fall back to utimens rather than
38214         failing with ENOSYS, when file is not a symlink.
38215         (utimens): Reduce redirection.
38216         * tests/test-lutimens.h (test_lutimens): Update test to cover
38217         non-symlinks.
38218         * tests/test-utimens.h (test_utimens): Update test to cover
38219         symlinks.
38220         * tests/test-utimens.c (main): Update caller.
38221
38222         utimens: cache whether utimensat syscall works
38223         * lib/utimens.c (utimensat_works_really): New cache variable.
38224         (fdutimens, lutimens): Use it to avoid failing syscall.
38225
38226         test-stat-time, test-utimens: improve portability
38227         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
38228         ext4 on alpha, and for cygwin.
38229         * tests/test-utimens-common.h: New file.
38230         (nap): Factor delays into single function.
38231         * tests/test-lutimens.h (test_lutimens): Use new header.
38232         * tests/test-futimens.h (test_futimens): Likewise.
38233         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
38234         timestamps to occur from same machine, as was done previously for
38235         test_utimens.
38236         * modules/utimens-tests (Files): Ship new file.
38237         * modules/futimens-tests (Files): Likewise.
38238         Reported in part by Jim Meyering.
38239
38240         sys_stat: sort replacement declarations
38241         * lib/sys_stat.in.h: Sort declarations.
38242         * lib/futimens.c (futimens): Fix typo.
38243
38244 2009-10-15  Jim Meyering  <meyering@redhat.com>
38245
38246         don't let environment settings perturb build
38247         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
38248         could cause a configure-time and/or build-time malfunction.
38249         Typically, a configure-time function-in-library test is performed
38250         via code like this:
38251
38252           LIB_VAR=
38253           AC_SUBST([LIB_VAR])
38254           prefix_saved_LIBS=$LIBS
38255             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
38256                        [test "$ac_cv_search_FUNC" = "none required" ||
38257                         LIB_VAR=$ac_cv_search_FUNC])
38258           LIBS=$prefix_saved_LIBS
38259
38260         However, in each of the files affected by this change, the LIB_VAR=
38261         initialization was omitted.  Thus, when set in the environment, its
38262         value would propagate into generated Makefiles when FUNC is not found
38263         in LIB_NAME.
38264         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
38265         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38266         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38267
38268 2009-10-14  Eric Blake  <ebb9@byu.net>
38269
38270         fchdir: avoid infinite recursion in mingw
38271         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
38272         recursing.
38273
38274         test-stat-time: port to mingw
38275         * tests/test-stat-time.c (force_unlink): Return a value.
38276         (test_ctime) [W32]: Fix compilation error.
38277         (nap): Don't call usleep with too large an argument.  Use
38278         force_unlink.
38279         * doc/pastposix-functions/usleep.texi (usleep): Document the
38280         portability issue.
38281
38282 2009-10-13  Jim Meyering  <meyering@redhat.com>
38283
38284         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
38285         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
38286         * modules/pipe-filter-ii: Likewise.
38287         * modules/sys_socket-tests: Likewise.
38288         * modules/tsearch-tests: Likewise.
38289         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
38290         (check): Depend on it.
38291
38292 2009-10-12  Eric Blake  <ebb9@byu.net>
38293
38294         utimens-tests: port to NFS file systems
38295         * tests/test-utimens.h (test_utimens): Refactor utimecmp
38296         comparisons to avoid spurious failures from timestamp drift
38297         between NFS machines.
38298
38299 2009-10-12  Eric Blake  <ebb9@byu.net>
38300
38301         stat-time-tests: minor cleanups
38302         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
38303         * tests/test-stat-time.c (nap): Separate assignment from call.
38304         Suggested by Paolo Bonzini and Bruno Haible.
38305
38306         sys_stat: guarantee struct timespec
38307         * lib/sys_stat.in.h (includes): Always include <time.h>
38308         * modules/sys_stat (Depends-on): Add time.
38309         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
38310         mode_t permission values.
38311         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
38312         get at subsecond timestamps.
38313
38314 2009-10-10  Eric Blake  <ebb9@byu.net>
38315
38316         futimens: new module
38317         * modules/futimens: New file.
38318         * lib/futimens.c (futimens): Likewise.
38319         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
38320         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
38321         we can work around Linux bugs.
38322         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38323         * modules/sys_stat (Makefile.am): Substitute them.
38324         * lib/sys_stat.in.h (futimens): Declare it.
38325         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38326         * doc/posix-functions/futimens.texi (futimens): Likewise.
38327         * modules/futimens-tests: New test.
38328         * tests/test-futimens.c: Likewise.
38329
38330         utimens: introduce fdutimens
38331         * lib/utimens.h (fdutimens): New prototype.
38332         * lib/utimens.c (gl_futimens): Move guts...
38333         (fdutimens): ...to new interface.
38334         * tests/test-utimens.c (do_fdutimens): Use it.
38335
38336         utimens: add UTIME_NOW and UTIME_OMIT support
38337         * lib/utimens.c (validate_timespec, update_timespec): New helper
38338         functions.
38339         (gl_futimens, lutimens): Use them.
38340         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
38341         stdbool, sys_stat.
38342         (Link): Mention resulting library dependency.
38343         * modules/utimecmp (Link): Likewise.
38344         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
38345         (Makefile.am): Pick up library dependency.
38346         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
38347         definition.
38348         * tests/test-sys_stat.c: Test the definitions.
38349         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
38350         * NEWS: Document library dependency.
38351
38352         utimecmp: support symlink timestamps
38353         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
38354         hashing when possible.  Use pathconf when available.
38355         (SYSCALL_RESOLUTION): Recognize tighter resolution.
38356         * modules/utimecmp (Depends-on): Add lstat.
38357
38358         utimens: add lutimens interface
38359         * lib/utimens.c (lutimens): New function.
38360         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
38361         * lib/utimens.h (lutimens): Declare new interface.
38362         * tests/test-utimens.c (main): Enhance test.
38363         * tests/test-lutimens.h (test_lutimens): New file.
38364         * modules/utimens-tests (Files): Distribute it.
38365         (Depends-on): Add symlink.
38366         (configure.ac): Check for usleep.
38367
38368         utimens: validate futimens usage
38369         * lib/utimens.c (gl_futimens): Require valid fd up front, using
38370         fewer syscalls on failure later on.  Avoid compiler warning on
38371         mingw.
38372         * modules/utimens (Depends-on): Add dup2.
38373
38374         utimens: add test
38375         * modules/utimens-tests: New test.
38376         * tests/test-utimens.h: New file.
38377         * tests/test-futimens.h: Likewise.
38378         * tests/test-utimens.c: Likewise.
38379
38380         doc: mention timestamp portability issues
38381         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
38382         instead.
38383         * doc/posix-functions/utime.texi (utime): Likewise.
38384         * doc/posix-functions/utimes.texi (utimes): Likewise.
38385         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
38386         instead.
38387         * doc/posix-functions/futimens.texi (futimens): Mention utimens
38388         module.
38389         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38390         Mention weakness with symlink timestamps.
38391         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
38392         to utimensat/futimens instead.
38393         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
38394
38395         test-dup2: enhance test
38396         * tests/test-dup2.c (main): Also check AT_FDCWD.
38397
38398         test-stat-time: avoid more spurious failures
38399         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
38400         xfs; and avoid race if the two timestamps cross quantization edge.
38401
38402         relocatable: prefer 'file system' over 'filesystem'
38403         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
38404         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
38405         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
38406         * doc/relocatable.texi (Enabling Relocatability): Likewise.
38407         * lib/relocatable.c (compute_curr_prefix): Likewise.
38408
38409 2009-10-10  Jim Meyering  <meyering@redhat.com>
38410
38411         stat-time-tests: check for the usleep function
38412         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
38413
38414 2009-10-10  Bruno Haible  <bruno@clisp.org>
38415
38416         * modules/xnanosleep: Put the Link section after the Include section.
38417
38418 2009-10-09  Eric Blake  <ebb9@byu.net>
38419
38420         dup2: work around FreeBSD 6.1 bug
38421         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
38422         * doc/posix-functions/dup2.texi (dup2): Document it.
38423         Reported by Nelson H. F. Beebe and Jim Meyering.
38424
38425         test-stat-time: port to buggy NFS clients
38426         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
38427         (test_ctime): Also skip test if mtime and ctime are skewed.
38428
38429         maint: prefer 'file system' over 'filesystem'
38430         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38431         * doc/posix-functions/lstat.texi (lstat): Likewise.
38432         * lib/file-has-acl.c (file_has_acl): Likewise.
38433         * lib/fwriteerror.c [TEST]: Likewise.
38434         * tests/test-areadlink.h (test_areadlink): Likewise.
38435         * tests/test-areadlinkat-with-size.c (main): Likewise.
38436         * tests/test-areadlinkat.c (main): Likewise.
38437         * tests/test-canonicalize-lgpl.c (main): Likewise.
38438         * tests/test-canonicalize.c (main): Likewise.
38439         * tests/test-fstatat.c (main): Likewise.
38440         * tests/test-linkat.c (main): Likewise.
38441         * tests/test-lstat.h (test_lstat_func): Likewise.
38442         * tests/test-mkdir.h (test_mkdir): Likewise.
38443         * tests/test-readlink.h (test_readlink): Likewise.
38444         * tests/test-remove.c (main): Likewise.
38445         * tests/test-rename.h (test_rename): Likewise.
38446         * tests/test-renameat.c (main): Likewise.
38447         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38448         * tests/test-symlink.h (test_symlink): Likewise.
38449         * tests/test-symlinkat.c (main): Likewise.
38450         * tests/test-unlink.h (test_unlink_func): Likewise.
38451         * tests/test-unlinkat.c (main): Likewise.
38452
38453         maint: make realtime library usage explicit
38454         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
38455         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
38456         * modules/settime (Link): Likewise.
38457         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
38458
38459         test-stat-time: speed up execution
38460         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
38461         warning on mingw.
38462         (nap): New helper function.
38463         (prepare_test): Use it to reduce sleep time.
38464         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
38465         execution.
38466         * modules/stat-time-tests (configure.ac): Check for usleep.
38467
38468 2009-10-09  Jim Meyering  <meyering@redhat.com>
38469
38470         selinux-h: always use getfilecon wrappers
38471         * lib/getfilecon.c: New file.
38472         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
38473         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
38474         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
38475         (fgetfilecon): Provide a stub.
38476         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
38477         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
38478         file unconditionally.
38479         When <selinux/selinux.h> is found, arrange to use wrappers.
38480         * modules/selinux-h (Files): Add getfilecon.c.
38481         (Makefile.am): Substitute include-next-related bits
38482         into the now-always-generated selinux/selinux.h file.
38483         * doc/glibc-functions/lgetfilecon.texi: New file.
38484         * doc/glibc-functions/fgetfilecon.texi: New file.
38485         * doc/glibc-functions/getfilecon.texi: New file.
38486         * doc/glibc-functions/getfilecon-desc.texi: New file.
38487         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
38488         which to pull in the new files.
38489         * MODULES.html.sh (Misc): Add selinux-h.
38490
38491 2009-10-08  Jim Meyering  <meyering@redhat.com>
38492
38493         unistd: fix comment typo
38494         * lib/unistd.in.h (euidaccess): Fix a comment typo.
38495
38496 2009-10-08  Eric Blake  <ebb9@byu.net>
38497
38498         areadlink: use SIZE_MAX consistently
38499         * modules/areadlink (Depends-on): Add stdint.
38500         * modules/areadlink-with-size (Depends-on): Likewise.
38501         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
38502         gives NULL; drop sys/types, since unistd gives size_t; and add
38503         stdint for SIZE_MAX.
38504         (SIZE_MAX): Rely on headers.
38505         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
38506         and add stdint.
38507         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
38508         (SIZE_MAX): Likewise.
38509         (INITIAL_BUF_SIZE): Turn into enum.
38510         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
38511
38512 2009-10-08  Jim Meyering  <meyering@redhat.com>
38513
38514         areadlinkat: avoid compilation failure
38515         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
38516         Fix typo in comment.
38517
38518 2009-10-07  Eric Blake  <ebb9@byu.net>
38519
38520         areadlinkat-with-size: new module
38521         * modules/areadlinkat-with-size: New module.
38522         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
38523         * lib/areadlink.h (areadlinkat): Declare it.
38524         * MODULES.html.sh (File system functions): Mention it.
38525         * modules/areadlinkat-with-size-tests: New test.
38526         * tests/test-areadlinkat-with-size.c: New file.
38527
38528         xreadlinkat: new module
38529         * modules/xreadlinkat: New module.
38530         * lib/xreadlinkat.c (xreadlinkat): New file.
38531         * lib/xreadlink.h (xreadlinkat): Declare it.
38532         * MODULES.html.sh (File system functions): Mention it.
38533
38534         areadlinkat: new module
38535         * lib/at-func.c (FUNC_FAIL): New define.
38536         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
38537         * modules/areadlinkat: New module.
38538         * lib/linkat.c (areadlinkat): Move...
38539         * lib/areadlinkat.c (areadlinkat): ...to new file.
38540         * lib/areadlink.h (areadlinkat): Declare it.
38541         * modules/linkat (Depends-on): Add areadlinkat.
38542         * MODULES.html.sh (File system functions): Mention it.
38543         * modules/areadlinkat-tests: New test.
38544         * tests/test-areadlinkat.c: New file.
38545
38546         areadlink, areadlink-with-size: add tests
38547         * modules/areadlink-tests: New test.
38548         * modules/areadlink-with-size-tests: Likewise.
38549         * tests/test-areadlink.h: New file.
38550         * tests/test-areadlink.c: Likewise.
38551         * tests/test-areadlink-with-size.c: Likewise.
38552
38553         maint: minor cleanups
38554         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
38555         _UNUSED_PARAMETER_ instead.
38556         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
38557         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
38558         * modules/linkat-tests (Files): Distribute test-link.h.
38559
38560         openat, utimens: whitespace cleanup
38561         * lib/openat.c: Prefer space throughout, rather than mix of 8
38562         spaces vs. tabs.
38563         * lib/at-func.c: Likewise.
38564         * lib/utimens.c: Likewise.
38565
38566         openat: avoid using wrong fd
38567         * lib/openat.c (openat_permissive): Reject user's fd if saving the
38568         working directory chooses same fd.
38569         * lib/at-func.c (AT_FUNC_NAME): Likewise.
38570
38571         mkdir, mkdirat: fix cygwin 1.5.x bug
38572         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
38573         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
38574         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
38575         bug.
38576         (gl_PREREQ_MKDIR): Delete unused macro.
38577         * modules/mkdir (Files): Track file rename.
38578         (configure.ac): Update macro name.
38579         * modules/openat (Depends-on): Add mkdir.
38580         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
38581
38582         mkdir, mkdirat: add tests
38583         * modules/mkdir-tests: New test.
38584         * tests/test-mkdir.h: New file.
38585         * tests/test-mkdir.c: Likewise.
38586         * tests/test-mkdirat.c: Likewise.
38587         * modules/openat-tests (Files): Add new files.
38588         (Makefile.am): Run new test.
38589
38590 2009-10-06  Eric Blake  <ebb9@byu.net>
38591
38592         doc: tweak *at function documentation
38593         * doc/posix-functions/faccessat.texi (faccessat): Mention
38594         known issue with replacement.
38595         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
38596         * doc/posix-functions/linkat.texi (linkat): Likewise.
38597         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38598         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38599         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38600         * doc/posix-functions/renameat.texi (renameat): Likewise.
38601         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38602
38603         openat: fix GNU/Hurd bug in unlinkat
38604         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
38605         broken.
38606         * doc/posix-functions/unlink.texi (unlink): Document this.
38607         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
38608
38609         fdopendir: fix GNU/Hurd bug
38610         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
38611         allowing non-directory fds.
38612         * lib/fdopendir.c (rpl_fdopendir): Work around it.
38613         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
38614         * modules/dirent (Makefile.am): Substitute it.
38615         * lib/dirent.in.h (fdopendir): Declare replacement.
38616         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
38617         * tests/test-fdopendir.c (main): Test something other than
38618         /dev/null, since on Hurd that behaves like a directory.
38619
38620         test-symlink: port to GNU/Hurd
38621         * tests/test-symlink.h (test_symlink): Relax expected errno.
38622
38623         doc: tweak more cygwin information
38624         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
38625         now compatible with glibc.
38626         * doc/posix-functions/getopt.texi (getopt): Likewise.
38627
38628         getopt-gnu: add another test
38629         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
38630         guarantee behavior relied on by m4.
38631         * tests/test-getopt.c (main): Use it.
38632         * modules/getopt-posix-tests (Depends-on): Add setenv.
38633         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
38634
38635         getopt: fix compilation on darwin
38636         * lib/getopt.in.h (includes): Leave breadcrumbs during system
38637         include.
38638         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
38639         Reported by Ludovic Courtès.
38640
38641 2009-10-06  Bruno Haible  <bruno@clisp.org>
38642
38643         * modules/size_max (Description): Discourage its use.
38644         Reported by Simon Josefsson.
38645
38646 2009-10-06  Jim Meyering  <meyering@redhat.com>
38647
38648         linkat: avoid compilation failure
38649         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
38650
38651 2009-10-05  Eric Blake  <ebb9@byu.net>
38652
38653         linkat: support Linux 2.6.17
38654         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
38655         linkat on Linux, but allow cache variable override.
38656         * lib/linkat.c (rpl_linkat): Define override.
38657         * modules/linkat (Depends-on): Add symlinkat.
38658         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
38659         * modules/unistd (Makefile.am): Substitute it.
38660         * lib/unistd.in.h (linkat): Declare replacement.
38661         Reported by Pádraig Brady.
38662
38663         quotearg: port test to systems with C.UTF-8 locale
38664         * tests/test-quotearg.c (struct result_strings): Add another
38665         member, differentiating between C.ASCII and C.UTF-8 handling.
38666         (compare_strings): Add parameter.
38667         (main): Adjust all callers.
38668
38669         getopt: avoid clash with FreeBSD _getopt_internal
38670         * lib/getopt.in.h (_getopt_internal): Override the name.
38671         * lib/getopt_int.h (includes): Pick up any overrides.
38672         Reported by Reuben Thomas.
38673
38674         hash: allow C89 compilation
38675         * lib/hash.c (check_tuning): Move declaration before statement.
38676         Reported by Reuben Thomas.
38677
38678 2009-10-05  Karl Berry  <karl@gnu.org>
38679
38680         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
38681
38682 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
38683             Bruno Haible  <bruno@clisp.org>
38684
38685         * lib/uname.c (uname): Use a table-driven algorithm to compute
38686         Windows NT versions.
38687
38688 2009-10-04  Bruno Haible  <bruno@clisp.org>
38689
38690         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
38691         program_invocation_short_name.
38692         * modules/progname (configure.ac): Test for presence of
38693         program_invocation_short_name.
38694         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
38695
38696 2009-10-04  Bruno Haible  <bruno@clisp.org>
38697
38698         * lib/progname.c (set_program_name): Fix comment.
38699         Reported by Jim Meyering.
38700
38701 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38702             Bruno Haible  <bruno@clisp.org>
38703
38704         * lib/uname.c: Include <string.h>.
38705         (uname): Do only one call to GetVersionEx in the common case.
38706
38707 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38708             Bruno Haible  <bruno@clisp.org>
38709
38710         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
38711         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
38712         (uname): Add support for Windows CE and various non-x86 CPU types.
38713
38714 2009-10-03  Bruno Haible  <bruno@clisp.org>
38715
38716         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
38717         invocation to tests/configure.ac.
38718         Reported by Ian Beckwith <ianb@erislabs.net>.
38719
38720 2009-10-02  Eric Blake  <ebb9@byu.net>
38721
38722         fchdir: avoid compiler warning
38723         * lib/fchdir.c (canonicalize_file_name)
38724         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
38725
38726         test-open: support mingw errno values
38727         * tests/test-open.h (test_open): Relax test.
38728         * tests/test-fopen.h (test_fopen): Likewise.
38729         * tests/test-openat-safer.c (main): Likewise.
38730
38731         open: fix opening directory on mingw
38732         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
38733
38734         test-open: on GNU/Hurd, /dev/null is a directory
38735         * tests/test-fopen.h (main): Rename...
38736         (test_fopen): ...to this.  Use a guaranteed non-directory when
38737         confirming open behavior on trailing slash.
38738         * tests/test-openat-safer.c (main): Likewise.
38739         * tests/test-open.h (main): Likewise....
38740         (test_open): ...to this.
38741         * tests/test-fopen.c (main): Adjust caller.
38742         * tests/test-fopen-safer.c (main): Likewise.
38743         * tests/test-open.c (main): Likewise.
38744         * tests/test-fcntl-safer.c (main): Likewise.
38745         Reported by Samuel Thibault.
38746
38747         rename, fchdir: don't ignore chdir failure
38748         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
38749         * lib/rename.c (rpl_rename) [W32]: Likewise.
38750         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
38751         an empty destination directory if source cannot be renamed,
38752         although there is still possibility for failure.
38753         * doc/posix-functions/rename.texi (rename): Document the race.
38754         Reported by Jim Meyering.
38755
38756         maint: cleanup whitespace in recent commits
38757         * lib/rename.c (rpl_rename): Remove tabs.
38758         * tests/test-link.h (test_link): Likewise.
38759         * lib/fchdir.c (get_name): Likewise.
38760         Reported by Jim Meyering.
38761
38762 2009-10-02  Ben Pfaff  <blp@gnu.org>
38763
38764         relocatable-prog-wrapper: Add missing dependency on
38765         double-slash-root.
38766         * modules/relocatable-prog-wrapper: Add dependency.
38767         Reported by Ian Beckwith <ianb@erislabs.net>.
38768
38769 2009-10-02  Eric Blake  <ebb9@byu.net>
38770
38771         renameat: fix Solaris bugs
38772         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
38773         needed fixing.
38774         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
38775         * modules/stdio (Makefile.am): Substitute it.
38776         * lib/stdio.in.h (renameat): Declare replacement.
38777         * lib/renameat.c (rpl_renameat): Implement fix.
38778
38779         renameat: new module
38780         * modules/renameat: New file.
38781         * lib/renameat.c (renameat): Likewise.
38782         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
38783         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38784         * modules/stdio (Makefile.am): Substitute them.
38785         * lib/stdio.in.h (renameat): Declare it.
38786         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38787         * doc/posix-functions/renameat.texi (renameat): Likewise.
38788         * modules/renameat-tests: New test.
38789         * tests/test-renameat.c: Likewise.
38790
38791         rename: fix mingw bugs
38792         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
38793         directory overwrite bugs.
38794
38795         rename: fix another cygwin 1.5 bug
38796         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
38797         checks.
38798         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
38799         unnecessary cygwin workarounds.  Also work around bug with moving
38800         full directory onto an empty one.
38801         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
38802
38803         rename-dest-slash: merge into rename module
38804         * modules/rename-dest-slash (Status): Mark obsolete.
38805         (Depends-on): Add rename.
38806         (Files): Let rename do it all.
38807         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
38808         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
38809         * m4/rename-dest-slash.m4: ...so this file can be deleted.
38810         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
38811         * lib/rename.c (rpl_rename): Update comments.
38812
38813         rename: fix cygwin 1.5.x bugs
38814         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
38815         * lib/rename.c (rpl_rename): Work around them.
38816         * modules/rename (Depends-on): Add same-inode.
38817
38818         rename: fix Solaris 10 bug
38819         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38820         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
38821         was the only bug.
38822
38823         rename: fix Solaris 9 bug
38824         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
38825         on non-directory.  Avoid calling exit.
38826         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
38827         strdup.
38828         * modules/rename-tests (Depends-on): Drop lstat.
38829         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38830         (gl_PREREQ_RENAME): Delete unused macro.
38831
38832         rename-dest-slash: fix NetBSD bug
38833         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
38834         links.
38835         * modules/rename-dest-slash (Depends-on): Add same-inode.
38836
38837         rename-tests: new test, exposes several platform bugs
38838         * modules/rename-tests: New file.
38839         * tests/test-rename.h: Likewise.
38840         * tests/test-rename.c: Likewise.
38841         * doc/posix-functions/rename.texi (rename): Improve documentation,
38842         including bugs that will eventually be fixed in gnulib.
38843
38844 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
38845
38846         * lib/uname.c: Include <stdlib.h>
38847         (uname): Assume version info is available.
38848
38849 2009-10-02  Jim Meyering  <meyering@redhat.com>
38850
38851         gnu-web-doc-update: correct --help output
38852         * build-aux/gnu-web-doc-update: Make --help output relevant.
38853
38854         gnu-web-doc-update: add standard options
38855         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
38856
38857         gnu-web-doc-update: New module.
38858         Use this script to automatically update the on-line web documentation
38859         for your GNU project at http://www.gnu.org/software/$pkg/manual/
38860         * modules/gnu-web-doc-update: New file, from coreutils.
38861         * build-aux/gnu-web-doc-update: New script.
38862
38863 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
38864
38865         link: LoadLibrary is not needed.
38866         * lib/link.c: Use GetModuleHandle.
38867
38868 2009-10-01  Eric Blake  <ebb9@byu.net>
38869
38870         getopt: bump serial number
38871         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
38872         change.
38873
38874         tests: tighten link, rmdir, and remove tests
38875         * tests/test-link.h (includes): No need to use <config.h> here.
38876         Clean up if directory hard link was created, otherwise test for
38877         trailing '.'.
38878         * tests/test-linkat.c (main): Simplify.
38879         * tests/test-remove.c (main): Enhance test for trailing '.'.
38880         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38881
38882 2009-10-01  Jim Meyering  <meyering@redhat.com>
38883
38884         maint.mk: requiring "make major" was annoying, for a "minor" release.
38885         What is intended is "stable", to contrast with alpha and beta,
38886         so require "make stable", not "make major".
38887         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
38888         (get_tool_versions): Likewise.
38889         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
38890
38891 2009-09-30  Ben Pfaff  <blp@gnu.org>
38892
38893         Fix broken build of replacement for Windows tmpfile().
38894         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
38895         flags argument added along with the 'mkostemp' module.
38896
38897 2009-09-28  Bruno Haible  <bruno@clisp.org>
38898
38899         Avoid identifier clash with POSIX function 'remove' defined as a macro.
38900         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
38901         to 'remove_elt'.
38902         (gl_list_remove): Update.
38903         * lib/gl_list.c (gl_list_remove): Update.
38904         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
38905         to 'remove_elt'.
38906         (gl_oset_remove): Update.
38907         * lib/gl_list.c (gl_oset_remove): Update.
38908         Reported by Eric Blake.
38909
38910 2009-09-28  Eric Blake  <ebb9@byu.net>
38911
38912         doc: mention yet more cygwin 1.7 status
38913         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
38914         cygwin.
38915         * doc/glibc-functions/execvpe.texi (execvpe): New file.
38916         * doc/gnulib.texi (Glibc unistd.h): Mention it.
38917
38918         argp: fix test failure
38919         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
38920         that are not upper-case.  Pass correct range to tolower.
38921
38922 2009-09-27  Jim Meyering  <meyering@redhat.com>
38923
38924         test-yesno: work around sparc-dash here-document infelicity
38925         Without this change, the literal \177 byte in a here document
38926         would make dash 0.5.5.1-3 access uninitialized memory.
38927         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
38928         Instead, use a marker, "@", and filter through tr to create the desired
38929         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
38930
38931 2009-09-27  Bruno Haible  <bruno@clisp.org>
38932
38933         Disable untested support for new flavours of ACLs on AIX.
38934         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
38935         progress.
38936         * lib/set-mode-acl.c (qset_acl): Likewise.
38937
38938 2008-12-07  Bruno Haible  <bruno@clisp.org>
38939
38940         Add support for new flavours of ACLs on AIX. (Untested.)
38941         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
38942         (file_has_acl): Add support for newer AIX.
38943         * lib/set-mode-acl.c (qset_acl): Likewise.
38944         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
38945         Rainer Tammer <tammer@tammer.net>.
38946
38947 2009-09-26  Eric Blake  <ebb9@byu.net>
38948
38949         argp: fix compilation of getopt
38950         * lib/getopt.in.h (includes): Use different guard than glibc.
38951         Reported by Sergey Poznyakoff.
38952
38953         doc: mention more cygwin 1.7 status
38954         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
38955         bug.
38956         * doc/posix-functions/execl.texi (execl): Likewise.
38957         * doc/posix-functions/execle.texi (execle): Likewise.
38958         * doc/posix-functions/execlp.texi (execlp): Likewise.
38959         * doc/posix-functions/execv.texi (execv): Likewise.
38960         * doc/posix-functions/execve.texi (execve): Likewise.
38961         * doc/posix-functions/execvp.texi (execvp): Likewise.
38962         * doc/glibc-functions/canonicalize_file_name.texi
38963         (canonicalize_file_name): Cygwin 1.7 now provides this.
38964         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
38965         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
38966         on AT_SYMLINK_NOFOLLOW.
38967
38968 2009-09-24  Eric Blake  <ebb9@byu.net>
38969
38970         test-linkat: make test more robust
38971         * tests/test-linkat.c (main): Avoid collision with EEXIST.
38972
38973         getopt: fix inclusion guards for cygwin
38974         * modules/getopt-posix (Depends-on): Add include-next.
38975         (Makefile.am): Substitute more items in replacement header.
38976         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
38977         <getopt.h>.
38978         * lib/getopt.in.h (includes): Use split inclusion guard, and
38979         prefer <getopt.h> over include <unistd.h> when one is present.
38980         (option): Also override name of 'struct option'.
38981
38982         same-inode: revert prior change; it is not yet ready
38983         * NEWS: Undo mention of this change.
38984         * lib/same-inode.h (same-inode.h): Undo tri-state change.
38985         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38986         * lib/cycle-check.c (cycle_check): Likewise.
38987         * lib/same.c (same_name): Likewise.
38988         * lib/at-func2.c (at_func2): Likewise.
38989
38990 2009-09-23  Eric Blake  <ebb9@byu.net>
38991
38992         linkat: new module
38993         * modules/linkat: New file.
38994         * lib/at-func2.c (at_func2): Likewise.
38995         * lib/linkat.c (linkat): Likewise.
38996         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
38997         * lib/openat-priv.h (at_func2): Add declaration.
38998         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38999         * modules/unistd (Makefile.am): Substitute them.
39000         * lib/unistd.in.h (linkat): Declare it.
39001         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39002         * doc/posix-functions/linkat.texi (linkat): Likewise.
39003         * doc/posix-functions/link.texi (link): Tweak wording.
39004         * tests/test-link.c (main): Move guts...
39005         * tests/test-link.h (test_link): ...into new file.
39006         * modules/linkat-tests: New test.
39007         * tests/test-linkat.c: Likewise.
39008         * modules/link-tests (Files): Ship new file.
39009         (Depends-on): Add stdbool.
39010
39011         dirname: add library-safe mdir_name
39012         * lib/dirname.h (mdir_name): New prototype.
39013         * lib/dirname.c (dir_name): Move guts...
39014         (mdir_name): ...to new function that avoids xalloc_die.
39015
39016         fchdir: another mingw fix
39017         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
39018         * lib/fchdir.c (get_name): New helper method; skips canonicalize
39019         on mingw (where it has not yet been ported), and make it optional
39020         elsewhere.
39021         (_gl_register_fd): Use it.
39022
39023         same-inode: make SAME_INODE tri-state, to port to mingw
39024         * NEWS: Mention this change.
39025         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
39026         st_ino always being 0.
39027         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
39028         * lib/cycle-check.c (cycle_check): Likewise.
39029         * lib/same.c (same_name): Likewise.
39030
39031         lstat: avoid mingw compilation error
39032         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
39033         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
39034         lstat ourselves.
39035         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
39036         was adequate.
39037         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
39038         the checks for lstat.
39039         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
39040
39041         link: fix test failure on Solaris 9
39042         * lib/link.c (rpl_link): Don't assume link will catch bogus
39043         trailing slash on source.
39044
39045         test-symlinkat: enhance test
39046         * tests/test-readlink.c (main): Move guts...
39047         * tests/test-readlink.h (test_readlink): ...into new file.
39048         * tests/test-symlink.c (main): Move guts...
39049         * tests/test-symlink.h (test_symlink): ...into new file.
39050         * tests/test-symlinkat.c (main): Use new files for further
39051         coverage.
39052         (do_symlink, do_readlink): New helper functions.
39053         * modules/symlink-tests (Files): Ship new file.
39054         (Depends-on): Add stdbool.
39055         * modules/readlink-tests (Files): Ship new file.
39056         (Depends-on): Add stdbool.
39057         * modules/symlinkat-tests (Files): Use new files.
39058
39059 2009-09-23  Eric Blake  <ebb9@byu.net>
39060
39061         readlink: document portability issue with symlink length
39062         * doc/posix-functions/lstat.texi (lstat): Mention that some file
39063         systems have bogus st_size on symlinks, and mention the
39064         areadlink-with-size module.
39065         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
39066         * doc/posix-functions/readlink.texi (readlink): Mention the
39067         areadlink module, and ERANGE failure.
39068         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39069         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
39070
39071         readlink: fix Solaris 9 bug with trailing slash
39072         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
39073         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
39074         * doc/posix-functions/readlink.texi (readlink): Document this.
39075         * modules/readlink-tests: New test.
39076         * tests/test-readlink.c: Likewise.
39077
39078         readlink: fix cygwin 1.5.x bug with return type
39079         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
39080         * lib/unistd.in.h (readlink): Use ssize_t.
39081         * lib/readlink.c (readlink): Likewise.
39082         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39083         * modules/unistd (Makefile.am): Substitute it.
39084         * lib/unistd.in.h (readlink): Declare replacement.
39085         * doc/posix-functions/readlink.texi (readlink): Document this.
39086
39087         symlink: use throughout gnulib
39088         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
39089         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
39090         symlink is not used.
39091         * modules/symlinkat (Depends-on): Add symlink.
39092         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39093         * modules/canonicalize-tests (Depends-on): Likewise.
39094         * modules/lstat-tests (Depends-on): Likewise.
39095         * modules/openat-tests (Depends-on): Likewise.
39096         * modules/remove-tests (Depends-on): Likewise.
39097         * modules/rmdir-tests (Depends-on): Likewise.
39098         * modules/unlink-tests (Depends-on): Likewise.
39099         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
39100         * tests/test-canonicalize.c (symlink): Likewise.
39101         * tests/test-fstatat.c (symlink): Likewise.
39102         * tests/test-lstat.c (symlink): Likewise.
39103         * tests/test-remove.c (symlink): Likewise.
39104         * tests/test-rmdir.c (symlink): Likewise.
39105         * tests/test-unlink.c (symlink): Likewise.
39106         * tests/test-unlinkat.c (symlink): Likewise.
39107
39108         symlink: new module, for Solaris 9 bug
39109         * modules/symlink: New file.
39110         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
39111         * lib/symlink.c: Likewise.
39112         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39113         * modules/unistd (Makefile.am): Substitute them.
39114         * lib/unistd.in.h (symlink): Declare replacement.
39115         * MODULES.html.sh (File system functions): Mention it.
39116         * doc/posix-functions/symlink.texi (symlink): Likewise.
39117         * modules/symlink-tests: New test.
39118         * tests/test-symlink.c: Likewise.
39119
39120 2009-09-23  Bruno Haible  <bruno@clisp.org>
39121
39122         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
39123         when needed.
39124         Test case: gnulib-tool --import --with-tests atexit inttypes.
39125         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
39126
39127 2009-09-23  Bruno Haible  <bruno@clisp.org>
39128
39129         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
39130         subcommand, not in a subshell.
39131
39132 2009-09-22  Eric Blake  <ebb9@byu.net>
39133
39134         unistd: sort replacement declarations
39135         * lib/unistd.in.h: Sort declarations.
39136
39137         open, openat: minor optimization
39138         * lib/open.c (open): If open succeeded, len is non-zero.
39139         * lib/openat.c (rpl_openat): Likewise.
39140
39141         link-follow: ensure correct result
39142         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
39143         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
39144         distinguish between possible failures.
39145
39146 2009-09-21  Eric Blake  <ebb9@byu.net>
39147
39148         fts: avoid compiler warning
39149         * lib/fts.c (dirent_inode_sort_may_be_useful)
39150         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
39151
39152 2009-09-19  Bruno Haible  <bruno@clisp.org>
39153
39154         * lib/progreloc.c (canonicalize_file_name): New declaration.
39155
39156 2009-09-19  Eric Blake  <ebb9@byu.net>
39157
39158         link: fix quoting
39159         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
39160
39161         openat: fix openat bugs on Solaris 9
39162         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
39163         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
39164         * modules/openat (Depends-on): Add open.
39165         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
39166         * modules/fcntl-h (Makefile.am): Substitute it.
39167         * lib/fcntl.in.h (openat): Declare replacement.
39168         * doc/posix-functions/openat.texi (openat): Document this.
39169
39170         openat: move fstatat and unlinkat into correct files
39171         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
39172         compiled.
39173         * lib/openat.c (fstatat, unlinkat): Move...
39174         * lib/fstatat.c (fstatat): ...into correct files.
39175         * lib/unlinkat.c (unlinkat): Likewise.
39176
39177         openat: fix unlinkat bugs on Solaris 9
39178         * lib/unlinkat.c (unlinkat): New file.
39179         * modules/openat (Depends-on): Add unlink.
39180         (Files): Distribute it.
39181         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
39182         trailing slash behavior is broken.
39183         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39184         * modules/unistd (Makefile.am): Substitute it.
39185         * lib/unistd.in.h (unlinkat): Declare replacement.
39186         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
39187
39188         openat: fix fstatat bugs on Solaris 9
39189         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
39190         stat.
39191         * doc/posix-functions/fstatat.texi (fstatat): Document this.
39192
39193         test-unlinkat: enhance test, to expose Solaris 9 bug
39194         * tests/test-unlink.c (main): Factor guts...
39195         * tests/test-unlink.h (test_rmdir_func): ...into new file.
39196         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
39197         * tests/test-rmdir.c (main): Adjust caller.
39198         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
39199         (unlinker): New helper function.
39200         (rmdirat): Enhance check.
39201         * modules/rmdir-tests (Depends-on): Add stdbool.
39202         * modules/unlink-tests (Depends-on): Likewise.
39203         (Files): Add test-unlink.h.
39204         * modules/openat-tests (Files): Likewise.
39205         (Depends-on): Add unlinkdir.
39206
39207         test-fstatat: new test, to expose Solaris 9 bugs
39208         * tests/test-stat.c (main): Factor guts...
39209         * tests/test-stat.h (test_stat_func): ...into new file.
39210         * tests/test-lstat.c (main): Factor guts...
39211         * tests/test-lstat.h (test_lstat_func): ...into new file.
39212         * tests/test-fstatat.c: New file.
39213         * modules/stat-tests (Files): Add test-stat.h.
39214         * modules/lstat-tests (Files): Add test-lstat.h.
39215         (Depends-on): Add stdbool.
39216         * modules/openat-tests (Depends-on): Add pathmax.
39217         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
39218         (Makefile.am): Run new test.
39219
39220         remove: new module, for mingw and Solaris 9 bugs
39221         * modules/remove: New file.
39222         * lib/remove.c: Likewise.
39223         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
39224         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
39225         * modules/stdio (Makefile.am): Use them.
39226         * lib/stdio.in.h (remove): Declare replacement.
39227         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39228         * doc/posix-functions/remove.texi (remove): Likewise.
39229         * modules/remove-tests: New test.
39230         * tests/test-remove.c: Likewise.
39231
39232         unlink: new module, for Solaris 9 bug
39233         * modules/unlink: New file.
39234         * lib/unlink.c: Likewise.
39235         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
39236         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39237         * modules/unistd (Makefile.am): Use them.
39238         * lib/unistd.in.h (stat): Declare replacement.
39239         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39240         * doc/posix-functions/unlink.texi (unlink): Likewise.
39241         * modules/unlink-tests: New test.
39242         * tests/test-unlink.c: Likewise.
39243
39244         lstat: fix Solaris 9 bug
39245         * lib/lstat.c (lstat): Also check for trailing slash on
39246         non-symlink, non-directories.  Use stat module to simplify logic.
39247         * doc/posix-functions/lstat.texi (lstat): Document it.
39248         * modules/lstat-tests (Depends-on): Add errno, same-inode.
39249         (configure.ac): Check for symlink.
39250         * tests/test-lstat.c (main): Add more tests.
39251
39252         stat: add as dependency to other modules
39253         * modules/chown (Depends-on): Add stat.
39254         * modules/euidaccess (Depends-on): Likewise.
39255         * modules/fchdir (Depends-on): Likewise.
39256         * modules/isdir (Depends-on): Likewise.
39257         * modules/link (Depends-on): Likewise.
39258         * modules/lstat (Depends-on): Likewise.
39259         * modules/mkdir-p (Depends-on): Likewise.
39260         * modules/modechange (Depends-on): Likewise.
39261         * modules/open (Depends-on): Likewise.
39262         * modules/readlink (Depends-on): Likewise.
39263         * modules/same (Depends-on): Likewise.
39264
39265         stat: fix Solaris 9 bug
39266         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
39267         slash.
39268         * lib/stat.c (rpl_stat): Work around it.
39269         * doc/posix-functions/stat.texi (stat): Update documentation.
39270
39271         stat: new module, for mingw bug
39272         * modules/stat: New file.
39273         * lib/stat.c: Likewise.
39274         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39275         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39276         * modules/sys_stat (Makefile.am): Use them.
39277         * lib/sys_stat.in.h (stat): Declare replacement.
39278         * lib/openat.c (fstatat): Deal with lstat and stat being function
39279         macros.
39280         * modules/openat (Depends-on): Add inline.
39281         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39282         * doc/posix-functions/stat.texi (stat): Likewise.
39283         * modules/stat-tests: New test.
39284         * tests/test-stat.c: Likewise.
39285
39286 2009-09-19  Jim Meyering  <meyering@redhat.com>
39287
39288         syntax-check: detect unnecessary inclusion of canonicalize.h
39289         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
39290
39291 2009-09-19  Eric Blake  <ebb9@byu.net>
39292
39293         canonicalize-lgpl: adjust clients to use correct header
39294         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39295         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
39296         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
39297         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
39298         * lib/progreloc.c (includes): Likewise.
39299
39300 2009-09-19  Jim Meyering  <meyering@redhat.com>
39301
39302         test-posixtm.c: correct a comment
39303         * tests/test-posixtm.c: Correct first-line comment.
39304         Spotted by Eric Blake.
39305
39306 2009-09-16  Jim Meyering  <meyering@redhat.com>
39307
39308         posixtm-tests: make T const-correct; add a test case
39309         * tests/test-posixtm.c (T): Declare const.
39310         Add a test for -(2^31+1).
39311         Remove useless can-succeed-only-in-2002 test.
39312
39313         posixtm-tests: adjust the sole failing test
39314         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
39315         expected output matches what mktime now produces.  Cross-checked via
39316         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
39317
39318         posixtm: move #ifdef'd tests into a new module
39319         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
39320         * tests/test-posixtm.c: ... this new file.
39321         * modules/posixtm-tests: New module.
39322
39323 2009-09-19  Eric Blake  <ebb9@byu.net>
39324
39325         openat: simplify use of at-func.c
39326         * lib/at-func.c (includes): Include prerequisites here, to
39327         simplify requirements on client files.
39328         * lib/openat-priv.h: Add double-inclusion guard.
39329         * lib/faccessat.c (includes): Simplify.
39330         * lib/fchmodat.c (includes): Likewise.
39331         * lib/fchownat.c (includes): Likewise.
39332         * lib/mkdirat.c (includes): Likewise.
39333         * lib/mkfifoat.c (includes): Likewise.
39334         * lib/symlinkat.c (includes): Likewise.
39335
39336         openat: allow return of fd 0
39337         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
39338         * modules/save-cwd (Depends-on): Replace fcntl-safer with
39339         unistd-safer.
39340         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
39341         <fcntl.h>; this module does not leak fds.
39342         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
39343         must be allowed to return 0, leaving openat_safer to add the
39344         safety.
39345         (openat_permissive): Avoid writing to just-opened fd 2 if
39346         restoring the current directory fails.
39347         * lib/openat-die.c (openat_restore_fail): Add comment.
39348         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
39349         (save_cwd): Guarantee safe fd, but without use of open_safer.
39350         * tests/test-openat.c: New test.
39351         * modules/openat-tests (Files, Makefile.am): Distribute and build
39352         new file.
39353
39354         relocatable-prog-wrapper: fix build
39355         * modules/relocatable-prog-wrapper (Files): Update name of
39356         canonicalize m4 file, broken on 2009-09-17.
39357         Reported by emad hajjar <aleppos@hotmail.com>.
39358
39359 2009-09-19  Bruno Haible  <bruno@clisp.org>
39360
39361         * lib/safe-alloc.h: Use the standard header with GPL copyright.
39362         * lib/safe-alloc.c: Likewise.
39363         Reported by Ian Beckwith <ianb@erislabs.net>.
39364
39365 2009-09-18  Bruno Haible  <bruno@clisp.org>
39366
39367         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
39368         Reported by <erobles@sensacd.com.mx>.
39369
39370 2009-09-17  Eric Blake  <ebb9@byu.net>
39371
39372         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
39373         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
39374         slashes when checking if last component is missing.
39375         * tests/test-canonicalize.c (main): Test this.
39376
39377         canonicalize, canonicalize-lgpl: honor // if distinct from /
39378         * modules/canonicalize (Files): Add double-slash-root.m4.
39379         * modules/canonicalize-lgpl (Files): Likewise.
39380         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39381         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
39382         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
39383         fallback definition.
39384         (canonicalize_filename_mode): Use it to protect //.
39385         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
39386         (__realpath): Likewise.
39387         * tests/test-canonicalize.c (main): Test this.
39388         * tests/test-canonicalize-lgpl.c (main): Likewise.
39389         * modules/canonicalize-tests (Depends-on): Add same-inode.
39390         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39391
39392         canonicalize-lgpl: fix glibc bug with trailing slash
39393         * m4/canonicalize-lgpl.m4: Move contents...
39394         * m4/canonicalize.m4: ...here.
39395         (gl_CANONICALIZE_LGPL): Factor realpath check...
39396         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
39397         glibc 2.3.5 bug, fixed 2005-04-27.
39398         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
39399         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
39400         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
39401         * modules/canonicalize-lgpl (Files): Manage file rename.
39402         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39403         * modules/stdlib (Makefile.am): Substitute witness.
39404         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
39405         is needed.
39406         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
39407         replacement is required.
39408         * lib/canonicalize.c (canonicalize_file_name): Likewise.
39409         * doc/glibc-functions/canonicalize_file_name.texi
39410         (canonicalize_file_name): Document this.
39411         * doc/posix-functions/realpath.texi (realpath): Likewise.
39412
39413         canonicalize-lgpl: reject non-directory with trailing slash
39414         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
39415         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
39416         catches failures in glibc 2.3.5.
39417         * tests/test-canonicalize.c (main): Likewise.
39418
39419         canonicalize-lgpl: use native realpath if it works
39420         * lib/canonicalize-lgpl.c (realpath): Guard with
39421         FUNC_REALPATH_WORKS.
39422         * lib/stdlib.in.h (realpath): Make declaration optional based on
39423         HAVE_REALPATH.
39424         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
39425         native realpath works.
39426         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39427         * modules/stdlib (Makefile.am): Substitute witness.
39428
39429         canonicalize, canonicalize-lgpl: use <stdlib.h>
39430         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
39431         (Include): Mention <stdlib.h>.
39432         (configure.ac): Mention functions we provide.
39433         * modules/canonicalize (configure.ac): Likewise.
39434         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
39435         realpath if canonicalize_file_name is missing.
39436         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
39437         * modules/stdlib (Makefile.am): Substitute witnesses.
39438         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
39439         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
39440         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
39441         * NEWS: Document this.
39442         * doc/glibc-functions/canonicalize_file_name.texi
39443         (canonicalize_file_name): Likewise.
39444         * doc/posix-functions/realpath.texi (realpath): Likewise.
39445         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
39446
39447         test-canonicalize: consolidate into single C program
39448         * tests/test-canonicalize.sh: Delete; move setup into...
39449         * tests/test-canonicalize.c (main): ...the program, making it
39450         easier to run in debugger.  Add some tests.
39451         * modules/canonicalize-tests (Files): Remove unused file.
39452         (Depends-on): Add progname.
39453         (configure.ac, Makefile.am): Simplify.
39454
39455         test-canonicalize-lgpl: consolidate into single C program
39456         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
39457         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
39458         easier to run in debugger.  Add some tests.
39459         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
39460         (configure.ac, Makefile.am): Simplify.
39461
39462         canonicalize: avoid resolvepath
39463         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
39464         unnecessary checks.
39465         * lib/canonicalize.c (includes): Simplify.
39466         (canonicalize_file_name): Drop resolvepath implementation.
39467         * modules/canonicalize (Depends-on): Drop filenamecat.
39468
39469         canonicalize: don't lose errno
39470         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
39471         over calls to free.
39472
39473         canonicalize: simplify errno handling
39474         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
39475         assignment.
39476
39477         canonicalize, canonicalize-lgpl: update module dependencies
39478         * modules/canonicalize (Depends-on): Add extensions, lstat,
39479         pathmax, stdlib.
39480         (Files): Drop pathmax.h.
39481         (configure.ac): Adjust macro name.
39482         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
39483         lstat, stdlib, sys_stat.
39484         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
39485         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
39486         extensions.
39487         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
39488         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
39489         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
39490         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
39491         declaration, if available.
39492         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
39493         we can rely on the readlink module.
39494         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
39495         (includes): Use <unistd.h> unconditionally.
39496
39497 2009-09-17  Eric Blake  <ebb9@byu.net>
39498
39499         maint: make Include sections of modules consistent
39500         * modules/alloca: Use only header name; no need to list #include.
39501         * modules/alloca-opt: Likewise.
39502         * modules/arpa_inet: Likewise.
39503         * modules/canon-host: Likewise.
39504         * modules/configmake: Likewise.
39505         * modules/dirent: Likewise.
39506         * modules/eealloc: Likewise.
39507         * modules/environ: Likewise.
39508         * modules/fchdir: Likewise.
39509         * modules/fcntl: Likewise.
39510         * modules/fcntl-h: Likewise.
39511         * modules/gethrxtime: Likewise.
39512         * modules/gettime: Likewise.
39513         * modules/ignore-value: Likewise.
39514         * modules/inet_ntop: Likewise.
39515         * modules/inet_pton: Likewise.
39516         * modules/inttypes: Likewise.
39517         * modules/isnand-nolibm: Likewise.
39518         * modules/isnanf-nolibm: Likewise.
39519         * modules/mbchar: Likewise.
39520         * modules/mbfile: Likewise.
39521         * modules/mbiter: Likewise.
39522         * modules/mbuiter: Likewise.
39523         * modules/netdb: Likewise.
39524         * modules/netinet_in: Likewise.
39525         * modules/nproc: Likewise.
39526         * modules/pagealign_alloc: Likewise.
39527         * modules/poll: Likewise.
39528         * modules/printf-frexp: Likewise.
39529         * modules/pthread: Likewise.
39530         * modules/putenv: Likewise.
39531         * modules/random_r: Likewise.
39532         * modules/relocatable-prog: Likewise.
39533         * modules/search: Likewise.
39534         * modules/select: Likewise.
39535         * modules/selinux-h: Likewise.
39536         * modules/settime: Likewise.
39537         * modules/signal: Likewise.
39538         * modules/size_max: Likewise.
39539         * modules/socklen: Likewise.
39540         * modules/ssize_t: Likewise.
39541         * modules/stdarg: Likewise.
39542         * modules/stdbool: Likewise.
39543         * modules/stddef: Likewise.
39544         * modules/stdint: Likewise.
39545         * modules/stdio: Likewise.
39546         * modules/stdlib: Likewise.
39547         * modules/string: Likewise.
39548         * modules/strings: Likewise.
39549         * modules/sys_file: Likewise.
39550         * modules/sys_ioctl: Likewise.
39551         * modules/sys_select: Likewise.
39552         * modules/sys_socket: Likewise.
39553         * modules/sys_stat: Likewise.
39554         * modules/sys_time: Likewise.
39555         * modules/sys_times: Likewise.
39556         * modules/sys_utsname: Likewise.
39557         * modules/sys_wait: Likewise.
39558         * modules/sysexits: Likewise.
39559         * modules/time: Likewise.
39560         * modules/times: Likewise.
39561         * modules/tmpfile: Likewise.
39562         * modules/trim: Likewise.
39563         * modules/unistd: Likewise.
39564         * modules/wchar: Likewise.
39565         * modules/wctype: Likewise.
39566
39567 2009-09-17  Bruno Haible  <bruno@clisp.org>
39568
39569         Make getdate.y compile on QNX and NetBSD 5 / i386.
39570         * m4/getdate.m4 (gl_GETDATE): Conditionally define
39571         TIME_T_FITS_IN_LONG_INT.
39572         * lib/getdate.y (long_time_t): New type.
39573         (relative_time): Change type of 'seconds' field to long_time_t.
39574         (get_date): Update types of local variables. Check against overflow
39575         during conversion from long_time_t to time_t.
39576         Reported by Matt Kraai <kraai@ftbfs.org>
39577         and Hasso Tepper <hasso@netbsd.org>.
39578
39579 2009-09-17  Bruno Haible  <bruno@clisp.org>
39580
39581         * modules/COPYING: Update copyright years.
39582         * modules/README: Likeiwse.
39583         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
39584         Reported by Ian Beckwith <ianb@erislabs.net>.
39585
39586 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39587
39588         * users.txt: Update references for gnuit package.
39589
39590 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39591
39592         * m4/getdelim.m4: Fix typo in copyright line.
39593
39594 2009-09-17  Bruno Haible  <bruno@clisp.org>
39595
39596         * lib/atoll.c: Use the standard header with GPL copyright.
39597         * lib/argz.in.h: Likewise.
39598         * lib/glob.c: Likewise.
39599         * lib/glob-libc.h: Likewise.
39600         * lib/random_r.c: Likewise.
39601         * lib/siglist.h: Likewise.
39602         * lib/strsignal.c: Likewise.
39603         Reported by Ian Beckwith <ianb@erislabs.net>.
39604
39605 2009-09-17  Eric Blake  <ebb9@byu.net>
39606
39607         rmdir: ensure correct dependency order
39608         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
39609
39610 2009-09-17  Bruno Haible  <bruno@clisp.org>
39611
39612         Disable assertion that fails on NetBSD 5 / i386.
39613         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
39614         Reported by Sam Steingold <sds@gnu.org>
39615         and Hasso Tepper <hasso@netbsd.org>.
39616
39617 2009-09-16  Eric Blake  <ebb9@byu.net>
39618
39619         unlinkdir: port to mingw
39620         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
39621         on which no one can unlink a directory.
39622
39623         stdlib: sort witness names
39624         * modules/stdlib (Makefile.am): Sort replacements.
39625         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39626         * lib/stdlib.in.h: Likewise.
39627
39628         parse-duration-tests: avoid link failure
39629         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
39630         LIBINTL.
39631         Reported by Tom G. Christensen.
39632
39633         openat-tests: ensure unlinkat behaves like rmdir
39634         * tests/test-rmdir.c (main): Factor guts...
39635         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
39636         * modules/rmdir-tests (Files): Ship new file.
39637         * modules/openat-tests: New test.
39638         * tests/test-unlinkat.c: Likewise.
39639
39640         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
39641         * modules/rmdir-errno (Status, Notice): Now obsolete.
39642
39643         rmdir: work around cygwin 1.5.x and mingw bugs
39644         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
39645         * lib/rmdir.c (rmdir): Work around it.
39646         * modules/rmdir (Status, Notice): No longer obsolete.
39647         (Files): Add dos.m4.
39648         (Depends-on): Add unistd.
39649         (configure.ac): Set witnesses.
39650         (License): Relax to LGPLv2+.
39651         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
39652         * modules/unistd (Makefile.am): Substitute witnesses.
39653         * lib/unistd.in.h (rmdir): Declare replacement.
39654         * doc/posix-functions/rmdir.texi (rmdir): Document this.
39655         * modules/rmdir-tests: New tests.
39656         * tests/test-rmdir.c: Likewise.
39657
39658 2009-09-15  Eric Blake  <ebb9@byu.net>
39659
39660         fchdir: improve use of replacement functions
39661         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
39662         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
39663         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
39664         REPLACE_CLOSEDIR.
39665         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
39666         * modules/sys_stat (Makefile.am): Substitute correct witness.
39667         * modules/dirent (Makefile.am): Likewise.
39668         * modules/unistd (Makefile.am): Likewise.
39669         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
39670         * lib/unistd.in.h (dup): Likewise.
39671         * lib/sys_stat.in.h (fstat): Likewise.
39672
39673         maint: ignore gnulib-tool temp files
39674         * .gitignore: Ignore files created during gnulib-tool --test.
39675
39676 2009-09-13  Jim Meyering  <meyering@redhat.com>
39677
39678         posixtm: don't reject a time that specify "60" as the number of seconds
39679         * lib/posixtm.c (posixtime): The code to reject invalid dates
39680         would also reject a time specified with the .60 suffix.
39681         But POSIX allows that, in order to accommodate leap seconds.
39682         So don't reject it.
39683         (main): Adjust tests accordingly.
39684         * modules/posixtm (Depends-on): Add stpcpy.
39685
39686 2009-09-11  Jim Meyering  <meyering@redhat.com>
39687
39688         announce-gen: include [$release_type] in emitted Subject:
39689         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
39690         e.g., [stable] in the emitted Subject: line.
39691
39692 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39693
39694         Remove obsolete macros from several modules.
39695         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
39696         obsolete Autoconf macros with their modern counterparts.
39697         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
39698         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
39699         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
39700         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
39701         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
39702         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
39703         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
39704         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
39705         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
39706         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
39707         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
39708         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
39709         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
39710         * m4/sockets.m4 (gl_SOCKETS): Likewise.
39711         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
39712         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
39713         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
39714         * m4/time_r.m4 (gl_TIME_R): Likewise.
39715         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
39716         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
39717         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
39718
39719         Fix copyright header in build-aux scripts.
39720         * build-aux/git-version-gen: Fix copyright header to match GPLv3
39721         recommendation.
39722         * build-aux/ncftpput-ftp: Likewise.
39723         * build-aux/update-copyright: Likewise.
39724
39725 2009-09-09  Eric Blake  <ebb9@byu.net>
39726
39727         test-link: allow Linux choice of errno
39728         * tests/test-link.c (main): Relax test for alternate error.
39729
39730         strndup: fix improper m4 caching
39731         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
39732         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
39733         (gl_PREREQ_STRNDUP): Delete.
39734         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
39735         * modules/string (Makefile.am): Substitute it.
39736         * lib/string.in.h (strndup): Modernize prototype.
39737
39738         getcwd: port to mingw
39739         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
39740         different from the POSIX assumptions made throughout the getcwd
39741         module; fortunately, the mingw getcwd does not need replacement.
39742         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
39743         * modules/getcwd-tests: New test.
39744         * tests/test-getcwd.c: Likewise.
39745
39746         link: fix platform bugs
39747         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
39748         * lib/link.c (link): Work around them.  Fix related mingw bug.
39749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
39750         * modules/unistd (Makefile.am): Substitute it.
39751         * lib/unistd.in.h (link): Declare replacement.
39752         * doc/posix-functions/link.texi (link): Document this.
39753         * modules/link (Depends-on): Add strdup-posix, sys_stat.
39754
39755         test-link: consolidate into single C program, test more cases
39756         * tests/test-link.sh: Delete.
39757         * tests/test-link.c: Test more error conditions.  Exposes bugs on
39758         at least Cygwin and Solaris.
39759         * modules/link-tests (Files): Remove unused file.
39760         (Depends-on): Add errno, sys_stat.
39761         (Makefile.am): Simplify.
39762
39763 2009-09-08  Bruno Haible  <bruno@clisp.org>
39764
39765         Work around towlower, towupper bug on mingw.
39766         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
39767         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
39768         * doc/posix-functions/towlower.texi: Mention the mingw bug.
39769         * doc/posix-functions/towupper.texi: Likewise.
39770         Reported by Eric Blake.
39771
39772 2009-09-08  Jim Meyering  <meyering@redhat.com>
39773
39774         build: don't try to run autoheader if we don't use it
39775         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
39776         is not used in configure.ac.
39777
39778 2009-09-08  Eric Blake  <ebb9@byu.net>
39779
39780         euidaccess: fix compilation error
39781         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
39782
39783         rawmemchr: relax license
39784         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
39785         okay.
39786         Reported by Jim Meyering.
39787
39788         mkfifoat: new module
39789         * modules/mkfifoat: New file.
39790         * lib/mkfifoat.c: Likewise.
39791         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
39792         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39793         * modules/sys_stat (Makefile.am): Use them.
39794         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
39795         * MODULES.html.sh (File system functions): Mention module.
39796         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
39797         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
39798         * modules/mkfifoat-tests: New test.
39799         * tests/test-mkfifoat.c: Likewise.
39800
39801         strchrnul: relax license
39802         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
39803         okay.
39804         Reported by Jim Meyering.
39805
39806 2009-09-08  Eric Blake  <ebb9@byu.net>
39807
39808         fstatat: fix compilation on Solaris
39809         * lib/fstatat.c (includes): Add fcntl.h.
39810         Reported by Pádraig Brady.
39811
39812 2009-09-07  Eric Blake  <ebb9@byu.net>
39813
39814         rename: modernize replacement
39815         * modules/rename (Depends-on): Add stdio.
39816         (configure.ac): Declare witness.
39817         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
39818         stdio take care of replacement.
39819         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
39820         * modules/stdio (Makefile.am): Substitute them.
39821         * lib/stdio.in.h (rename): Declare replacement.
39822         * lib/rename.c (includes): Allow cross-compilation to non-windows
39823         machines.
39824         * doc/posix-functions/rename.texi (rename): Improve
39825         documentation.
39826
39827         stdio: sort witness names
39828         * modules/stdio (Makefile.am): Sort replacements.
39829         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39830         * lib/stdio.in.h: Likewise.
39831
39832         getcwd: minor cleanups
39833         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
39834         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
39835
39836         openat: provide more convenience names
39837         * modules/faccessat (configure.ac): Add C witness.
39838         * lib/unistd.in.h (readlinkat): Fix typo.
39839         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
39840         convenience wrappers.
39841         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
39842         wrappers in syntax checks.
39843
39844 2009-09-06  Eric Blake  <ebb9@byu.net>
39845
39846         doc: fix comments in recent patches
39847         * lib/faccessat.c: Mention correct function.
39848         * lib/fchmodat.c: Likewise.
39849         * lib/fchownat.c: Likewise.
39850         * lib/symlinkat.c: Likewise.
39851         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
39852         constants.
39853
39854         faccessat, symlinkat: continue cleanup of previous patch
39855         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
39856         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39857         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
39858         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
39859         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
39860         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
39861         set.
39862
39863 2009-09-06  Bruno Haible  <bruno@clisp.org>
39864
39865         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
39866         (fstatat): Declare if GNULIB_FSTATAT is set.
39867         (mkdirat): Declare if GNULIB_MKDIRAT is set.
39868         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
39869         (unlinkat): Declare if GNULIB_UNLINKAT is set.
39870         * modules/fcntl-h (Files): Remove m4/openat.m4.
39871         * modules/sys_stat (Files): Remove m4/openat.m4.
39872         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
39873         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
39874         * modules/unistd (Files): Remove m4/openat.m4.
39875         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
39876         GNULIB_OPENAT.
39877         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
39878         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
39879         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
39880         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
39881         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
39882         gl_OPENAT_DEFAULTS.
39883         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
39884         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
39885         Don't require gl_OPENAT_DEFAULTS.
39886         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
39887         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
39888         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
39889         (gl_OPENAT_DEFAULTS): Remove macro.
39890
39891 2009-09-06  Bruno Haible  <bruno@clisp.org>
39892
39893         * modules/openat (configure.ac): Remove unneeded witness.
39894
39895 2009-09-06  Bruno Haible  <bruno@clisp.org>
39896
39897         Set errno to ENOSYS when a function is entirely unsupported.
39898         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
39899         EOPNOTSUPP.
39900         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
39901         * modules/chown (Depends-on): Remove errno.
39902
39903 2009-09-06  Bruno Haible  <bruno@clisp.org>
39904
39905         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
39906
39907 2009-09-06  Bruno Haible  <bruno@clisp.org>
39908
39909         * lib/sys_stat.in.h: Fix preprocessor command indentation.
39910
39911 2009-09-06  Ben Pfaff  <blp@gnu.org>
39912             Bruno Haible  <bruno@clisp.org>
39913
39914         Work around a glibc bug in strtok_r.
39915         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
39916         Undefine if UNDEFINE_STRTOK_R is set.
39917         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
39918         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39919         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
39920         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
39921         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
39922         UNDEFINE_STRTOK_R.
39923         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
39924
39925 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
39926
39927         exclude: minor fix
39928         * lib/exclude.c: Include wctype.h
39929
39930 2009-09-06  Akim Demaille  <demaille@gostai.com>
39931
39932         bootstrap: improve error message
39933         * build-aux/bootstrap (find_tool): Upon failure, report the list
39934         of candidates.
39935         Honor the initial value of the envvar.
39936
39937 2009-09-05  Eric Blake  <ebb9@byu.net>
39938
39939         symlinkat: new module
39940         * modules/symlinkat: New file.
39941         * lib/symlinkat.c: Likewise.
39942         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
39943         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39944         * modules/unistd (Makefile.am): Use them.
39945         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
39946         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
39947         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
39948         * MODULES.html.sh (File system functions): Mention module.
39949         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
39950         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39951         * modules/symlinkat-tests: New test.
39952         * tests/test-symlinkat.c: Likewise.
39953
39954         test-openat-safer: add more checks
39955         * tests/test-openat-safer.c (main): Check more code paths.
39956
39957 2009-09-05  Jim Meyering  <meyering@redhat.com>
39958
39959         syntax-check: detect unnecessary inclusion of openat.h
39960         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
39961
39962 2009-09-05  Bruno Haible  <bruno@clisp.org>
39963
39964         Support towlower, towupper.
39965         * doc/posix-functions/towlower.texi: Mention module wctype.
39966         * doc/posix-functions/towupper.texi: Likewise.
39967         * lib/wctype.in.h (towlower, towupper): New functions.
39968         * tests/test-wctype.c: Include stdio.h, stdlib.h.
39969         (ASSERT): New macro.
39970         (e): New variable.
39971         (main): Test also towlower, towupper. Test WEOF argument.
39972         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39973
39974 2009-09-05  Bruno Haible  <bruno@clisp.org>
39975
39976         Fix conversion behaviour when the input is invalid.
39977         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
39978         mark occurring in first pass of indirect conversion.
39979         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
39980         input.
39981         Found by clang's static analyzer.
39982
39983 2009-09-05  Bruno Haible  <bruno@clisp.org>
39984
39985         * tests/test-striconveh.c (main): Test indirect conversion on platforms
39986         where direct conversion is possible.
39987
39988 2009-09-04  Eric Blake  <ebb9@byu.net>
39989
39990         openat: fail with ENOENT on empty name
39991         * lib/openat-proc.c (openat_proc_name): Special-case the empty
39992         buffer.
39993
39994         link-follow: fix logic bug in prior patch
39995         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
39996         reversed sense of yes and no in prior patch.  Avoid confusing
39997         compilation failure with desired semantics.
39998
39999         link-follow: accomodate mingw and cross-compilation
40000         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
40001         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
40002         cross-compilation results to -1, to make linkat easier to
40003         implement when cross-compiling.  Trivially support mingw.
40004         * modules/link-follow (configure.ac): Call new name.
40005         * NEWS: Mention this.
40006
40007 2009-09-03  Eric Blake  <ebb9@byu.net>
40008
40009         faccessat: compile replacement
40010         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
40011         needed.
40012
40013         fts: fix compilation error
40014         * lib/fts.c (includes): Re-add "openat.h", for
40015         openat_needs_fchdir.
40016
40017         faccessat: new module
40018         * modules/faccessat: New file.
40019         * lib/faccessat.c: Likewise.
40020         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
40021         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40022         * modules/unistd (Makefile.am): Use it.
40023         * lib/unistd.in.h (faccessat): Declare it.
40024         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
40025         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
40026         * MODULES.html.sh (File system functions): Mention it.
40027         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
40028         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
40029
40030         euidaccess: prefer POSIX over non-standard implementation
40031         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
40032         * lib/euidaccess.c (euidaccess): Use it if available.
40033
40034         openat: make template easier to use
40035         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
40036         AT_FUNC_F2 to be undefined.
40037         (VALIDATE_FLAG): New macro; use it to reject bad flags.
40038         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
40039         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
40040         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
40041         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
40042         Likewise.
40043         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
40044         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
40045         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
40046         Likewise.
40047
40048         openat: declare in POSIX headers
40049         * NEWS: Mention this.
40050         * modules/openat (configure.ac): Declare witnesses.
40051         (Depends-on): Add fcntl-h, sys_stat, unistd.
40052         (Include): Mention correct headers.
40053         * modules/fcntl-h (Depends-on): Add link-warning.
40054         (Files): Add openat.m4.
40055         (Makefile.am): Substitute witnesses.
40056         * modules/sys_stat (Files, Makefile.am): Likewise.
40057         * modules/unistd (Files, Makefile.am): Likewise.
40058         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
40059         (gl_OPENAT_DEFAULTS): New macro.
40060         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
40061         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
40062         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
40063         (SYS_STAT_H): Remove unused variable.
40064         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
40065         * lib/fcntl--.h (includes): Remove unneeded header.
40066         * lib/openat-safer.c (includes): Likewise.
40067         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
40068         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
40069         appropriate headers.
40070         (__OPENAT_PREFIX): Delete.
40071         * lib/fcntl.in.h (openat): Provide declaration.
40072         (AT_FDCWD): Fix Solaris bug.
40073         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
40074         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
40075         * lib/fchmodat.c (includes):  Adjust to find declaration.
40076         * lib/fchownat.c (includes): Likewise.
40077         * lib/mkdirat.c (includes): Likewise.
40078         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
40079         still visible.
40080
40081 2009-09-02  Eric Blake  <ebb9@byu.net>
40082
40083         errno: use consistently
40084         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
40085         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
40086         * lib/canonicalize.c (ELOOP): Likewise.
40087         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
40088         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
40089         * lib/lchown.c (EOPNOTSUPP): Likewise.
40090         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
40091         * lib/savewd.c (ESTALE): Likewise.
40092         * lib/settime.c (ENOSYS): Likewise.
40093         * lib/utimens.c (ENOSYS): Likewise.
40094         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
40095         * lib/chdir-safer.c (ELOOP): Likewise.
40096         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
40097         * modules/c-stack (Depends-on): Add errno.
40098         * modules/canonicalize (Depends-on): Likewise.
40099         * modules/chdir-safer (Depends-on): Likewise.
40100         * modules/fdopendir (Depends-on): Likewise.
40101         * modules/inet_ntop (Depends-on): Likewise.
40102         * modules/inet_pton (Depends-on): Likewise.
40103         * modules/lchown (Depends-on): Likewise.
40104         * modules/openat (Depends-on): Likewise.
40105         * modules/savewd (Depends-on): Likewise.
40106         * modules/settime (Depends-on): Likewise.
40107         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
40108
40109         fts: avoid leaking fds
40110         * modules/fts (Depends-on): Add cloexec.
40111         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
40112         flag.
40113
40114         fts: make directory fds more robust
40115         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
40116         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
40117
40118         backupfile, chdir-long, fts, savedir: make safer
40119         * lib/backupfile.c (includes): Use "dirent--.h", since
40120         numbered_backup can write to stderr during readdir.
40121         * lib/savedir.c (includes): Likewise.
40122         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
40123         emulation can write to stderr on failure.
40124         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
40125         * lib/getcwd.c: Document why opendir_safer is unused.
40126         * lib/glob.c: Likewise.
40127         * lib/scandir.c: Likewise.
40128         * lib/openat-proc.c: Likewise, for open_safer.
40129         * modules/backupfile (Depends-on): Add dirent-safer.
40130         * modules/savedir (Depends-on): Likewise.
40131         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
40132         * modules/chdir-long (Depends-on): Add openat-safer.
40133
40134         openat-safer: new module
40135         * modules/openat-safer: New file.
40136         * lib/openat-safer.c: Likewise.
40137         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
40138         * lib/fcntl-safer.h (openat_safer): Declare.
40139         * lib/fcntl--.h (openat): Override.
40140         * MODULES.html.sh (File descriptor based I/O): Mention it.
40141         * lib/openat.h: Add double-inclusion guards.
40142         * lib/openat.c (includes): Only include "fcntl-safer.h", not
40143         "fcntl--.h", so we can implement openat.
40144         * modules/openat-safer-tests: New test.
40145         * tests/test-openat-safer.c: New file.
40146
40147         dirent-safer: new module
40148         * modules/dirent-safer: New file.
40149         * lib/dirent--.h: Likewise.
40150         * lib/dirent-safer.h: Likewise.
40151         * lib/opendir-safer.c: Likewise.
40152         * m4/dirent-safer.m4: Likewise.
40153         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
40154         * modules/dirent-safer-tests: New test.
40155         * tests/test-dirent-safer.c: New file.
40156         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
40157
40158         fdopendir: optimize on mingw
40159         * lib/unistd.in.h (_gl_directory_name): New prototype.
40160         * lib/fchdir.c (_gl_directory_name): Implement it.
40161         (fchdir): Use it to simplify implementation.
40162         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
40163         fchdir, when available, to avoid calling [f]chdir().
40164
40165         fdopendir: split into its own module
40166         * lib/openat.c (fdopendir): Move...
40167         * lib/fdopendir.c: ...into new file.
40168         * modules/fdopendir: New module.
40169         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
40170         * modules/openat (Depends-on): Add fdopendir.
40171         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
40172         fdopendir here.
40173         * modules/savedir (Depends-on): Only need fdopendir, not full
40174         openat.
40175         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
40176         * lib/openat.h (fdopendir): Drop prototype.
40177         * lib/dirent.in.h (fdopendir): Provide prototype.
40178         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
40179         * modules/dirent (Makefile.am): Substitute them.
40180         * MODULES.html.sh (File system functions): Mention it.
40181         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
40182         * modules/fdopendir-tests: New file.
40183         * tests/test-fdopendir.c: Likewise.
40184
40185         fchdir: use more consistent macro convention
40186         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
40187         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
40188         REPLACE_FCHDIR, rather than relying on config.h macros.
40189         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
40190         inside a single make-time REPLACE_FCHDIR block, rather than using
40191         the config.h FCHDIR_REPLACEMENT.
40192         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
40193         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
40194         Manage fstat replacement.
40195         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
40196         REPLACE_FCHDIR.
40197         * modules/sys_stat (Files): Add m4/unistd_h.m4.
40198         (Makefile.am): Substitute REPLACE_FCHDIR.
40199         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
40200         FCHDIR_REPLACEMENT.
40201         * lib/dup-safer.c (dup_safer): Likewise.
40202         * lib/dup2.c (rpl_dup2): Likewise.
40203         * lib/dup3.c (rpl_dup3): Likewise.
40204         * lib/open.c (rpl_open): Likewise.
40205
40206         fchdir: simplify error handling, and support dup3
40207         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
40208         stdbool, malloc-posix, realloc-posix.
40209         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
40210         (ensure_dirs_slot): Return false on allocation failure.
40211         (rpl_dup2): Delete.
40212         (_gl_register_dup): New function.
40213         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
40214         (_gl_register_fd): Close fd on allocation failure.
40215         * lib/fcntl.in.h (_gl_register_fd): Update signature.
40216         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
40217         prototype.
40218         (rpl_dup2_fchdir): Delete prototype.
40219         * lib/open.c (open): Update caller.
40220         * lib/dup2.c (dup2): Track fchdir metadata.
40221         * lib/dup3.c (dup3): Likewise.
40222         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
40223         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
40224
40225 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40226
40227         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
40228         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
40229         don't pass arguments to AC_OUTPUT.
40230
40231 2009-09-02  Bruno Haible  <bruno@clisp.org>
40232
40233         * modules/mkdtemp (License): Relicense under LGPLv2+.
40234         Reported by Paolo Bonzini.
40235
40236 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40237
40238         Replace uses of obsolete autoconf macros in Jim's modules.
40239         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
40240         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
40241         can evoke a warning from autoconf when run with -Wobsolete
40242         enabled.  They were declared obsolete for good reasons (see
40243         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
40244         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
40245         should not continue using the deprecated macros.
40246         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
40247         obsolete Autoconf macros with modern counterparts.
40248         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
40249         * m4/dos.m4 (gl_AC_DOS): Likewise.
40250         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
40251         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
40252         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
40253         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
40254         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
40255         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
40256         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
40257         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
40258         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
40259         Likewise.
40260         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
40261         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
40262         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
40263         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
40264         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40265         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
40266
40267 2009-09-01  Eric Blake  <ebb9@byu.net>
40268
40269         fchdir: fix off-by-one bug in previous patch
40270         * lib/fchdir.c (rpl_fstat): Use correct bounds.
40271         (_gl_unregister_fd): Delete useless if.
40272
40273 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
40274
40275         maint.mk: sort the list of syntax-check rules
40276         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
40277         easier to get a sense of progress when the rules are run sequentially
40278         and take a long time.
40279
40280 2009-09-01  Simon Josefsson  <simon@josefsson.org>
40281
40282         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
40283         * modules/netinet_in: Likewise.
40284         * modules/sys_file: Likewise.
40285         * modules/sys_ioctl: Likewise.
40286         * modules/sys_select: Likewise.
40287         * modules/sys_socket: Likewise.
40288         * modules/sys_stat: Likewise.
40289         * modules/sys_time: Likewise.
40290         * modules/sys_times: Likewise.
40291         * modules/sys_utsname: Likewise.
40292         * modules/sys_wait: Likewise.
40293
40294 2009-09-01  Jim Meyering  <meyering@redhat.com>
40295
40296         fts: help ensure that return values are not ignored
40297         * lib/fts_.h (__GNUC_PREREQ): Define.
40298         (__attribute_warn_unused_result__): Define.
40299         (fts_children, fts_close, fts_open, fts_read): Declare with
40300         __attribute_warn_unused_result__.
40301
40302         fts: fts_close now fails also when closing a dir file descriptor fails
40303         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
40304         and propagate to caller, along with errno.
40305
40306         announce-gen: correct formatting in --help output
40307         * build-aux/announce-gen (usage): Move the one-line description in
40308         --help output "up", to where it belongs, just after Usage:.
40309
40310 2009-08-31  Eric Blake  <ebb9@byu.net>
40311
40312         fchdir: port to mingw
40313         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
40314         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
40315         opened, then use a substitute.
40316         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
40317         replacement.
40318         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
40319         (_gl_register_fd): No need to check stat if open already filters
40320         all directories.
40321         (fchdir): Fix error condition to match POSIX.
40322         * modules/fchdir (Depends-on): Add sys_stat.
40323         * doc/posix-functions/open.texi (open): Document the limitation.
40324         * modules/fchdir-tests: New file.
40325         * tests/test-fchdir.c: Likewise.
40326
40327         canonicalize: allow cross-testing from cygwin to mingw
40328         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
40329         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
40330         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
40331         Likewise.
40332         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
40333         target does not support symlinks.
40334         * tests/test-canonicalize-lgpl.sh: Likewise.
40335
40336         chown: avoid compilation warning on mingw
40337         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
40338         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
40339         mingw.
40340         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40341         * modules/chown (Depends-on): Add errno.
40342
40343 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
40344
40345         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
40346         command.
40347
40348 2009-08-31  Jim Meyering  <meyering@redhat.com>
40349
40350         canonicalize: remove useless initialization
40351         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
40352         initialization of local, "end".
40353
40354 2009-08-30  Bruno Haible  <bruno@clisp.org>
40355
40356         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
40357         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
40358         ENOSYS.
40359
40360 2009-08-30  Bruno Haible  <bruno@clisp.org>
40361
40362         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
40363         /usr/xpg4/bin/tr when it exists.
40364         * tests/test-pipe-filter-gi1.sh: Likewise.
40365
40366 2009-08-30  Bruno Haible  <bruno@clisp.org>
40367
40368         Work around deficient /usr/bin/id program on Solaris.
40369         * tests/test-file-has-acl.sh (ID): New variable.
40370         * tests/test-set-mode-acl.sh (ID): Likewise.
40371         * tests/test-copy-acl.sh (ID): Likewise.
40372         * tests/test-copy-file.sh (ID): Likewise.
40373
40374 2009-08-30  Bruno Haible  <bruno@clisp.org>
40375
40376         New module 'xstriconveh'.
40377         * lib/xstriconveh.h: New file.
40378         * lib/xstriconveh.c: New file.
40379         * modules/xstriconveh: New file.
40380
40381 2009-08-30  Bruno Haible  <bruno@clisp.org>
40382
40383         Make it easier to use mem_cd_iconveh.
40384         * lib/striconveh.h (iconveh_t): New type.
40385         (iconveh_open, iconveh_close): New declarations.
40386         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40387         with a single 'const iconveh_t *' argument.
40388         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
40389         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40390         with a single 'const iconveh_t *' argument.
40391         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
40392         * tests/test-striconveh.c (main): Update.
40393         * NEWS: Mention the change.
40394
40395 2009-08-30  Bruno Haible  <bruno@clisp.org>
40396
40397         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
40398         problem.
40399
40400 2009-08-30  Bruno Haible  <bruno@clisp.org>
40401
40402         Work around iconv_open problem on Solaris.
40403         * lib/iconv_open-solaris.gperf: New file.
40404         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
40405         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
40406         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
40407         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
40408         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
40409         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
40410
40411 2009-08-29  Jim Meyering  <meyering@redhat.com>
40412
40413         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
40414         * top/maint.mk (cvs-check): Remove target; it was just an alias
40415         to the better-named vc-diff-check.
40416         (maintainer-distcheck): Remove rule.  It was used only from
40417         the (alpha/beta/major) target, and all of its commands but one
40418         were coreutils-specific.
40419         (vc-dist): Remove rule.
40420         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
40421         Run vc-diff-check, not vc-dist.
40422         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
40423
40424 2009-08-27  Bruno Haible  <bruno@clisp.org>
40425
40426         * tests/test-bitrotate.c (main): Remove test that uses a shift count
40427         of 0.
40428
40429 2009-08-27  Bruno Haible  <bruno@clisp.org>
40430
40431         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
40432         compilers.
40433         * doc/func.texi: Document the SunPRO C bug.
40434
40435 2009-08-27  Bruno Haible  <bruno@clisp.org>
40436
40437         Fix link error on Solaris.
40438         * tests/test-parse-duration.c (xstrdup): Remove function.
40439
40440 2009-08-26  Pádraig Brady  <P@draigbrady.com>
40441
40442         ignore-value: handle pointer types, too
40443         * lib/ignore-value.h (__attribute__): Remove definition.
40444         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
40445         of a more concise and more-often effective "(void) i" statement.
40446         (ignore_ptr): New function to suppress warnings from functions that
40447         return pointers, and to make it explicit that one function doesn't
40448         handle all cases.
40449
40450 2009-08-25  Bruno Haible  <bruno@clisp.org>
40451
40452         dup2: work around a Linux bug.
40453         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
40454         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
40455         * doc/posix-functions/dup2.texi: Mention the Linux bug.
40456         Reported by Simon Josefsson.
40457
40458 2009-08-25  Jim Meyering  <meyering@redhat.com>
40459
40460         libguestfs uses gnulib
40461         * users.txt: Add libguestfs.
40462
40463 2009-08-24  Eric Blake  <ebb9@byu.net>
40464
40465         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
40466         * lib/pipe2.c (includes): Add binary-io.h.
40467         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
40468
40469 2009-08-24  Bruno Haible  <bruno@clisp.org>
40470
40471         Tolerate declared but missing accept4 syscall.
40472         * lib/accept4.c (accept4): Invoke original accept4 function first, if
40473         available.
40474         * lib/sys_socket.in.h (accept4): If the function is already present,
40475         override it.
40476         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
40477         * modules/accept4 (Makefile.am): Compile accept4.c always.
40478         Reported by Paolo Bonzini and Eric Blake.
40479
40480 2009-08-23  Bruno Haible  <bruno@clisp.org>
40481
40482         New module 'accept4'.
40483         * lib/sys_socket.in.h (accept4): New declaration.
40484         * lib/accept4.c: New file.
40485         * m4/accept4.m4: New file.
40486         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
40487         GNULIB_ACCEPT4, HAVE_ACCEPT4.
40488         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
40489         HAVE_ACCEPT4.
40490         * modules/accept4: New file.
40491         * doc/glibc-functions/accept4.texi: Mention the new module.
40492
40493 2009-08-24  Jim Meyering  <meyering@redhat.com>
40494
40495         progname: also set global program_invocation_name, when possible
40496         Before this change, a libtool-enabled program that calls glibc's
40497         error function would report the program name as
40498         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
40499         * modules/progname (configure.ac): Check for a declaration of
40500         program_invocation_name.
40501         * lib/progname.c:  Include <errno.h>.
40502         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
40503         Set program_invocation_name.
40504
40505 2009-08-23  Bruno Haible  <bruno@clisp.org>
40506
40507         * lib/dup3.c: Include <string.h>.
40508
40509 2009-08-23  Bruno Haible  <bruno@clisp.org>
40510
40511         * lib/dup3.c (dup3): Test only once whether the system actually exists.
40512         * lib/pipe2.c (pipe2): Likewise.
40513         Suggested by Eric Blake.
40514
40515 2009-08-23  Bruno Haible  <bruno@clisp.org>
40516
40517         Tolerate declared but missing dup3 syscall.
40518         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
40519         * lib/unistd.in.h (dup3): If the function is already present,
40520         override it.
40521         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
40522         * modules/dup3 (Makefile.am): Compile dup3.c always.
40523         Reported by Paolo Bonzini.
40524
40525 2009-08-23  Bruno Haible  <bruno@clisp.org>
40526
40527         Tolerate declared but missing pipe2 syscall.
40528         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
40529         available.
40530         * lib/unistd.in.h (pipe2): If the function is already present,
40531         override it.
40532         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
40533         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
40534         Reported by Paolo Bonzini.
40535
40536 2009-08-23  Bruno Haible  <bruno@clisp.org>
40537
40538         * lib/pipe2.c (pipe2): Move #ifs inside function.
40539
40540 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40541
40542         quotearg: document limitations of quote_these_too
40543         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
40544         those limitations are created.
40545         * lib/quotearg.h (set_char_quoting): Document that digits and
40546         letters that are special after backslash are not permitted.
40547         (quotearg_char): Cross-reference set_char_quoting documentation.
40548
40549 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
40550
40551         quotearg: implement custom_quoting_style
40552         * lib/quotearg.c: (struct quoting_options): Add left_quote and
40553         right_quote fields.
40554         (set_custom_quoting): New public function.
40555         (quotearg_buffer_restyled): Add left_quote and right_quote
40556         arguments, handle them very much like locale quoting, and update
40557         all uses.
40558         (quotearg_n_custom): New public function.
40559         (quotearg_n_custom_mem): New public function.
40560         (quotearg_custom): New public function.
40561         (quotearg_custom_mem): New public function.
40562         * lib/quotearg.h: Prototype and document new public functions.
40563         (enum quoting_style): For escape_quoting_style and
40564         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
40565         ignored even though they're otherwise like c_quoting_style.
40566         Add custom_quoting_style member and document with comparison to
40567         clocale_quoting_style.
40568         * tests/test-quotearg.c (custom_quotes): New array.
40569         (custom_results): New array.
40570         (main): Extend to test custom quoting.
40571
40572 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40573
40574         quotearg: fix right quote escaping when it's in quote_these_too
40575         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
40576         quote, be sure to prepend only one backslash.
40577         * tests/test-quotearg.c (use_quote_double_quotes): New function.
40578         (main): Test it.
40579
40580 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40581
40582         quotearg-tests: test escaping of embedded locale quotes
40583         * tests/test-quotearg.c (struct result_strings): Add member for
40584         new input.
40585         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
40586         (inputs): Add new input.
40587         (results_g): Add expected results.
40588         (flag_results): Likewise.
40589         (locale_results): Likewise.
40590         (compare_strings): Check those.
40591
40592 2009-08-23  Bruno Haible  <bruno@clisp.org>
40593
40594         Tests for module 'dup3'.
40595         * modules/dup3-tests: New file.
40596         * tests/test-dup3.c: New file.
40597
40598         New module 'dup3'.
40599         * lib/unistd.in.h (dup3): New declaration.
40600         * lib/dup3.c: New file.
40601         * m4/dup3.m4: New file.
40602         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
40603         HAVE_DUP3.
40604         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
40605         * modules/dup3: New file.
40606         * doc/glibc-functions/dup3.texi: Mention the new module.
40607
40608 2009-08-23  Bruno Haible  <bruno@clisp.org>
40609
40610         Tweak the dup2 test.
40611         * tests/test-dup2.c (main): Create the test file empty. Verify that an
40612         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
40613         the test file is still empty. Fix argument order of lseek.
40614
40615 2009-08-23  Bruno Haible  <bruno@clisp.org>
40616
40617         Avoid test link errors when the modules getopt-gnu, gettext are used.
40618         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
40619         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40620
40621 2009-08-23  Bruno Haible  <bruno@clisp.org>
40622
40623         Fix getdtablesize() on mingw.
40624         * lib/getdtablesize.c (getdtablesize): Implement differently.
40625         * lib/unistd.in.h (getdtablesize): Improve comment.
40626
40627 2009-08-23  Bruno Haible  <bruno@clisp.org>
40628
40629         New module 'mkostemp'.
40630         Based on Ulrich Drepper's 2007-08-10 change in glibc.
40631         * lib/stdlib.in.h (mksotemp): New declaration.
40632         * lib/mkostemp.c: New file, from glibc with modifications.
40633         * lib/tempname.h (GT_FILE): Remove outdated comment.
40634         (gen_tempname): Add flags argument.
40635         * lib/tempname.c (__GT_BIGFILE): Remove macro.
40636         (__GT_FILE): Map to 1.
40637         (small_open, large_open): Remove macros.
40638         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
40639         * lib/mkstemp.c (mkstemp): Update.
40640         * lib/mkdtemp.c (mkdtemp): Likewise.
40641         * m4/mkostemp.m4: New file.
40642         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
40643         HAVE_MKOSTEMP.
40644         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
40645         HAVE_MKOSTEMP.
40646         * modules/mkostemp: New file, based on modules/mkstemp.
40647         * doc/glibc-functions/mkostemp.texi: Mention the new module.
40648         * NEWS: Mention the change.
40649
40650 2009-08-23  Bruno Haible  <bruno@clisp.org>
40651
40652         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
40653         Reported by Eric Blake.
40654
40655 2009-08-23  Bruno Haible  <bruno@clisp.org>
40656
40657         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
40658         Reported by Eric Blake.
40659
40660 2009-08-23  Bruno Haible  <bruno@clisp.org>
40661
40662         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
40663         * modules/pipe2 (Depends-on): Likewise.
40664
40665 2009-08-23  Eric Blake  <ebb9@byu.net>
40666
40667         fcntl-h: add O_TTY_INIT support
40668         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
40669         * tests/test-fcntl-h.c (o): Test it.
40670         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40671
40672         fcntl-h: rename from fcntl, in preparation for fcntl(2)
40673         * modules/fcntl: Move <fcntl.h> header replacement...
40674         * modules/fcntl-h: ...to new name, so as not to collide with
40675         like-named function.
40676         * tests/test-fcntl.c: Rename...
40677         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
40678         * modules/fcntl-tests: Rename...
40679         * modules/fcntl-h-tests: ...to this.  Update test file name.
40680         * modules/chdir-long (Depends-on): Update clients.
40681         * modules/chdir-safer (Depends-on): Likewise.
40682         * modules/fcntl-safer (Depends-on): Likewise.
40683         * modules/fts (Depends-on): Likewise.
40684         * modules/mkancesdirs (Depends-on): Likewise.
40685         * modules/mkdir-p (Depends-on): Likewise.
40686         * modules/open (Depends-on): Likewise.
40687         * modules/savewd (Depends-on): Likewise.
40688         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
40689         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40690
40691 2009-08-22  Bruno Haible  <bruno@clisp.org>
40692
40693         * modules/binary-io (License): Relicense under LGPL.
40694         * modules/pipe2 (License): Likewise.
40695
40696 2009-08-22  Bruno Haible  <bruno@clisp.org>
40697
40698         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
40699         return value.
40700         * lib/pipe-filter-gi.c (filter_init): Likewise.
40701         Reported by Eric Blake.
40702
40703 2009-08-22  Bruno Haible  <bruno@clisp.org>
40704
40705         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
40706         * modules/pipe (Depends-on): Add pipe2.
40707
40708 2009-08-22  Bruno Haible  <bruno@clisp.org>
40709
40710         Tests for module 'pipe2'.
40711         * modules/pipe2-tests: New file.
40712         * tests/test-pipe2.c: New file.
40713
40714         New module 'pipe2'.
40715         * lib/unistd.in.h (pipe2): New declaration.
40716         * lib/pipe2.c: New file.
40717         * m4/pipe2.m4: New file.
40718         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
40719         HAVE_PIPE2.
40720         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
40721         * modules/pipe2: New file.
40722         * doc/glibc-functions/pipe2.texi: Mention the new module.
40723
40724 2009-08-22  Bruno Haible  <bruno@clisp.org>
40725
40726         Reference some new glibc functions.
40727         * doc/glibc-functions/accept4.texi: New file.
40728         * doc/glibc-functions/dup3.texi: New file.
40729         * doc/glibc-functions/mkostemp.texi: New file.
40730         * doc/glibc-functions/pipe2.texi: New file.
40731         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
40732         (Glibc sys/socket.h): Refer to accept4.
40733         (Glibc unistd.h): Refer to dup3, pipe2.
40734         Reported by Eric Blake.
40735
40736 2009-08-22  Jim Meyering  <meyering@redhat.com>
40737             Bruno Haible  <bruno@clisp.org>
40738
40739         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
40740         This makes it so packages using automake-1.11's silent-rules option
40741         can print e.g., a single "GEN    configmake.h" line, rather than
40742         the 30+ statements that perform the job.  If you want to see the
40743         actual commands, you can still run "make V=1".
40744         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
40745         so that make output is abbreviated when those variables are defined
40746         appropriately.
40747         * modules/argz: Likewise.
40748         * modules/arpa_inet: Likewise.
40749         * modules/byteswap: Likewise.
40750         * modules/configmake: Likewise.
40751         * modules/dirent: Likewise.
40752         * modules/errno: Likewise.
40753         * modules/fcntl: Likewise.
40754         * modules/float: Likewise.
40755         * modules/fnmatch: Likewise.
40756         * modules/getopt-posix: Likewise.
40757         * modules/glob: Likewise.
40758         * modules/iconv_open: Likewise.
40759         * modules/inttypes: Likewise.
40760         * modules/localcharset: Likewise.
40761         * modules/locale: Likewise.
40762         * modules/math: Likewise.
40763         * modules/netdb: Likewise.
40764         * modules/netinet_in: Likewise.
40765         * modules/poll: Likewise.
40766         * modules/posix_spawnp-tests: Likewise.
40767         * modules/sched: Likewise.
40768         * modules/search: Likewise.
40769         * modules/selinux-h: Likewise.
40770         * modules/signal: Likewise.
40771         * modules/spawn: Likewise.
40772         * modules/stdarg: Likewise.
40773         * modules/stdbool: Likewise.
40774         * modules/stddef: Likewise.
40775         * modules/stdint: Likewise.
40776         * modules/stdio: Likewise.
40777         * modules/stdlib: Likewise.
40778         * modules/string: Likewise.
40779         * modules/strings: Likewise.
40780         * modules/sys_file: Likewise.
40781         * modules/sys_ioctl: Likewise.
40782         * modules/sys_select: Likewise.
40783         * modules/sys_socket: Likewise.
40784         * modules/sys_stat: Likewise.
40785         * modules/sys_time: Likewise.
40786         * modules/sys_times: Likewise.
40787         * modules/sys_utsname: Likewise.
40788         * modules/sys_wait: Likewise.
40789         * modules/sysexits: Likewise.
40790         * modules/time: Likewise.
40791         * modules/unistd: Likewise.
40792         * modules/wchar: Likewise.
40793         * modules/wctype: Likewise.
40794
40795 2009-08-22  Jim Meyering  <meyering@redhat.com>
40796
40797         announce-gen: detect write failure
40798         * build-aux/announce-gen: Add Coda at end.
40799         Remove equivalent-but-more-verbose block at top.
40800
40801 2009-08-19  Akim Demaille  <demaille@gostai.com>
40802
40803         bootstrap: --help to stdout.
40804         * bootstrap (usage): Don't send --help to stderr.
40805         Use a here doc instead of a long string.
40806
40807 2009-08-21  Eric Blake  <ebb9@byu.net>
40808
40809         test-popen-safer: split from test-popen
40810         * tests/test-popen.c (main): Move...
40811         * tests/test-popen.h: ...into new file.
40812         * tests/test-popen-safer2.c: New file.
40813         * modules/popen-tests (Files): Add test-popen.h.
40814         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
40815         Suggested by Bruno Haible.
40816
40817         test-fcntl-safer: split from test-open
40818         * tests/test-open.c (main): Move...
40819         * tests/test-open.h: ...into new file.
40820         * tests/test-fcntl-safer.c: New file.
40821         * modules/open-tests (Files): Add test-open.h.
40822         * modules/fcntl-safer-tests: New file.
40823         Suggested by Bruno Haible.
40824
40825         test-fopen-safer: split from test-fopen
40826         * tests/test-fopen.c (main): Move...
40827         * tests/test-fopen.h: ...into new file.
40828         * tests/test-fopen-safer.c: New file.
40829         * modules/fopen-tests (Files): Add test-fopen.h.
40830         * modules/fopen-safer-tests: New file.
40831         Suggested by Bruno Haible.
40832
40833 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40834
40835         popen-safer: test O_CLOEXEC at run-time.
40836         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
40837
40838 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40839
40840         fcntl: move more flags to the header
40841         * lib/cloexec.c: Do not define FD_CLOEXEC here.
40842         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
40843         * lib/fcntl.in.h: Do both things here.
40844
40845 2009-08-21  Jim Meyering  <meyering@redhat.com>
40846
40847         consistently remove $@-t before redirecting to it
40848         * modules/argz: Remove $@-t and $@ before redirecting to the former.
40849         * modules/alloca-opt: Likewise.
40850         * modules/byteswap: Likewise.
40851         * modules/fnmatch: Likewise.
40852         * modules/getopt-posix: Likewise.
40853         * modules/glob: Likewise.
40854         * modules/poll: Likewise.
40855         * modules/posix_spawnp-tests: Likewise.
40856         * modules/sys_socket: Likewise.
40857         * modules/sysexits: Likewise.
40858
40859 2009-08-21  Eric Blake  <ebb9@byu.net>
40860
40861         popen: simplify access to original popen
40862         * lib/popen.c (rpl_popen): No need to worry about popen being a
40863         macro.
40864         Reported by Bruno Haible.
40865
40866 2009-08-20  Eric Blake  <ebb9@byu.net>
40867
40868         build: avoid some compiler warnings
40869         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
40870         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
40871         type.
40872         (new_exclude_segment, excluded_file_pattern_p)
40873         (excluded_file_name_p): Reduce scope.
40874         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
40875         old-style declaration.
40876
40877 2009-08-20  Simon Josefsson  <simon@josefsson.org>
40878
40879         * tests/test-exclude1.sh: Handle Windows EOL.
40880         * tests/test-exclude2.sh: Likewise.
40881         * tests/test-exclude3.sh: Likewise.
40882         * tests/test-exclude4.sh: Likewise.
40883         * tests/test-exclude5.sh: Likewise.
40884         * tests/test-exclude6.sh: Likewise.
40885         * tests/test-exclude7.sh: Likewise.
40886
40887 2009-08-19  Akim Demaille  <demaille@gostai.com>
40888
40889         bootstrap: find sha1sum when named gsha1sum.
40890         * bootstrap (find_tool): New.
40891         ($SHA1SUM): New.
40892         Use it.
40893
40894 2009-08-20  Jim Meyering  <meyering@redhat.com>
40895
40896         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
40897         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
40898         expression that converts "." in a file name to "\." in the resulting
40899         regexp.  Start with a dummy statement, so that prior shell variable
40900         definitions are expanded portably.  Reported by Simon Josefsson.
40901
40902 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
40903
40904         Fix polling for writeability of a screen buffer.
40905         * lib/poll.c: Distinguish input and screen buffers for the
40906         Win32 implementation.
40907         * lib/select.c: Likewise.
40908
40909 2009-08-19  Eric Blake  <ebb9@byu.net>
40910
40911         popen-safer: prevent popen from clobbering std descriptors
40912         * modules/popen-safer: New file.
40913         * lib/popen-safer.c: Likewise.
40914         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
40915         * lib/stdio--.h (popen): Provide override.
40916         * lib/stdio-safer.h (popen_safer): Provide declaration.
40917         * tests/test-popen.c (includes): Partially test this.
40918         * modules/popen-safer-tests: New file, for more tests.
40919         * tests/test-popen-safer.c: Likewise.
40920         * MODULES.html.sh (file stream based Input/Output): Mention it.
40921
40922         tests: test some of the *-safer modules
40923         * modules/fopen-safer (Depends-on): Add fopen.
40924         * modules/fcntl-safer (Depends-on): Add fcntl.
40925         * modules/stdlib-safer (Depends-on): Add stdlib.
40926         (configure.ac): Set indicator.
40927         * modules/unistd-safer (configure.ac): Likewise.
40928         * modules/tmpfile-safer (configure.ac): Likewise.
40929         (Depends-on): Add tmpfile.
40930         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
40931         active.
40932         * tests/test-fopen.c (includes): Test safer versions when they are
40933         in use.
40934         * tests/test-open.c (includes): Likewise.
40935
40936         popen: fix cygwin 1.5 bug when stdin closed
40937         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
40938         * modules/popen: New file.
40939         * modules/popen-tests: Likewise.
40940         * tests/test-popen.c: Likewise.
40941         * m4/popen.m4: Likewise.
40942         * lib/popen.c: Likewise.
40943         * lib/stdio.in.h (popen): New declaration.
40944         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
40945         * modules/stdio (Makefile.am): Likewise.
40946         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
40947
40948 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
40949
40950         maint.mk: give full control over update-copyright exclusions
40951         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
40952         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
40953         (update-copyright): Don't force inclusion of top-level
40954         ChangeLog.  Don't force exclusion of all COPYING files, but make
40955         them the default exclusion instead.
40956
40957 2009-08-16  Bruno Haible  <bruno@clisp.org>
40958
40959         Fix test failures on Solaris 10.
40960         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
40961         tests when Solaris iconv() is used.
40962         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
40963         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
40964         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
40965         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
40966         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
40967
40968 2009-08-16  Bruno Haible  <bruno@clisp.org>
40969
40970         Fix test failures on Solaris 10.
40971         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
40972         'tr' program and pass it as first argument.
40973         * tests/test-pipe-filter-gi1.sh: Likewise.
40974         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
40975         program as first argument.
40976         * tests/test-pipe-filter-gi1.c (main): Likewise.
40977
40978 2009-08-16  Eric Blake  <ebb9@byu.net>
40979
40980         fpurge: fix previous commits
40981         * modules/fpurge (Makefile.am): Make replacement conditional,
40982         partially reverting 2007-04-29 change; missed in previous
40983         attempt.
40984         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
40985         is missing.
40986
40987 2009-08-16  Bruno Haible  <bruno@clisp.org>
40988
40989         Clarify fpurge's effect on the file position.
40990         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
40991         * tests/test-fpurge.c (main): Make a second pass for checking the file
40992         position.
40993
40994 2009-08-16  Bruno Haible  <bruno@clisp.org>
40995
40996         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
40997         declaration of fpurge is missing.
40998         * tests/test-fpurge.c (main): Check that the file has not more contents
40999         than expected. Close the file before removing it.
41000
41001 2009-08-15  Eric Blake  <ebb9@byu.net>
41002
41003         fpurge: don't wrap working cygwin implementation
41004         * lib/fpurge.c (fpurge): Fix comment typo.
41005         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
41006         1.7 to avoid replacement.
41007         * tests/test-fpurge.c (main): Enhance test.
41008
41009 2009-08-15  Eric Blake  <ebb9@byu.net>
41010         and Jim Meyering  <meyering@redhat.com>
41011
41012         test-update-copyright: skip if perl is insufficient
41013         * tests/test-update-copyright.sh: Failure to run maintainer tool
41014         should not cause testsuite failure on cygwin 1.5.
41015
41016 2009-08-14  Eric Blake  <ebb9@byu.net>
41017
41018         doc: mention more functions added in cygwin 1.7.0
41019         * doc/posix-headers/limits.texi (limits.h): Update for recent
41020         cygwin additions.
41021         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
41022         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
41023         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
41024         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
41025         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
41026
41027 2009-08-14  Eric Blake  <ebb9@byu.net>
41028
41029         maint.mk: simplify update-copyright rule
41030         * top/maint.mk (update-copyright-local): Delete, and document how
41031         to do it in cfg.mk instead.
41032         (update-copyright-exclude-regexp): Delete, and document how to do
41033         it in .x-update-copyright instead.
41034         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
41035         exclude ChangeLog.
41036
41037 2009-08-14  Bruno Haible  <bruno@clisp.org>
41038
41039         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
41040
41041 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41042
41043         maint.mk: support update-copyright-env
41044         * top/maint.mk (update-copyright-env): Define place-holder.
41045         (update-copyright): Expand $(update-copyright-env) before
41046         invoking update-copyright.
41047
41048 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41049
41050         update-copyright: implement forced reformatting
41051         * build-aux/update-copyright: Implement and document
41052         UPDATE_COPYRIGHT_FORCE.
41053         * tests/test-update-copyright.sh: Test it.
41054
41055 2009-08-14  Eric Blake  <ebb9@byu.net>
41056         and Bruno Haible  <bruno@clisp.org>
41057
41058         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
41059         * tests/test-locale.c: Revert previous patch related to NULL.
41060         * tests/test-stdio.c: Likewise.
41061         * tests/test-stdlib.c: Likewise.
41062         * tests/test-string.c: Likewise.
41063         * tests/test-unistd.c: Likewise.
41064         * modules/time-tests (Depends-on): Add verify.
41065         * modules/wchar-tests (Depends-on): Likewise.
41066         * tests/test-time.c: Test for NULL compliance.
41067         * tests/test-wchar.c: Likewise.
41068         * modules/locale (Depends-on): Add stddef.
41069         * modules/stdio (Depends-on): Likewise.
41070         * modules/stdlib (Depends-on): Likewise.
41071         * modules/string (Depends-on): Likewise.
41072         * modules/time (Depends-on): Likewise.
41073         * modules/unistd (Depends-on): Likewise.
41074         * modules/wchar (Depends-on): Likewise.
41075         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
41076         * lib/stdlib.in.h (includes): Likewise.
41077         * lib/string.in.h (includes): Likewise.
41078         * lib/time.in.h (includes): Likewise.
41079         * lib/unistd.in.h (includes): Likewise.
41080         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
41081         replaced.
41082         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
41083         * m4/stddef_h.m4: New file.
41084         * modules/stddef: Likewise.
41085         * lib/stddef.in.h: Likewise.
41086         * modules/stddef-tests: Likewise.
41087         * tests/test-stddef.c: Likewise.
41088         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
41089         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
41090         * doc/posix-headers/locale.texi (locale.h): Likewise.
41091         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
41092         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
41093         * doc/posix-headers/string.texi (string.h): Likewise.
41094         * doc/posix-headers/time.texi (time.h): Likewise.
41095         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
41096         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
41097
41098 2009-08-14  Eric Blake  <ebb9@byu.net>
41099
41100         doc: improve git diff of texinfo files
41101         * .gitattributes: Add rule for *.texi files, with hint on how to
41102         use it.
41103         Copied from m4, and based on a report by Bruno Haible.
41104
41105 2009-08-14  Bruno Haible  <bruno@clisp.org>
41106
41107         Disable multithread support by default on Cygwin 1.5.x for real.
41108         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
41109
41110 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41111
41112         update-copyright: much ado about intervals
41113         * build-aux/update-copyright: Implement and document
41114         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
41115         of copyright year intervals.
41116         Also, document UPDATE_COPYRIGHT_YEAR.
41117         * tests/test-update-copyright.sh: Test it.
41118
41119         update-copyright: convert 2-digit to 4-digit years
41120         * build-aux/update-copyright: Implement and document.
41121         * tests/test-update-copyright.sh: Update.
41122
41123 2009-08-14  Jim Meyering  <meyering@redhat.com>
41124
41125         test-exclude: avoid coreutils "make check" failure
41126         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
41127         just as in test-argmatch.c.
41128
41129 2009-08-13  Eric Blake  <ebb9@byu.net>
41130
41131         test-dup2: fix bad assumption
41132         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
41133         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
41134
41135         test-version-etc: fix CRLF portability issue
41136         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
41137         recognize \r.
41138         * tests/test-argp-version-etc-1.sh: Likewise.
41139
41140         getopt: update client modules
41141         * modules/argp (Depends-on): Use getopt-gnu.
41142         * modules/git-merge-changelog (Depends-on): Likewise.
41143         * modules/long-options (Depends-on): Likewise.
41144         * modules/xstrtol (Depends-on): Likewise.
41145
41146 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41147
41148         * tests/test-version-etc.sh: Don't fail on different
41149         project/version.  Don't fail on CRLF differences.  Rewrite to use
41150         multiple -e instead of multiple sed forks, suggested by Eric Blake
41151         <ebb9@byu.net>.
41152         * tests/test-argp-version-etc-1.sh: Likewise.
41153
41154 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41155
41156         * tests/test-version-etc.sh: Don't fail on different
41157         project/version.
41158
41159 2009-08-12  Bruno Haible  <bruno@clisp.org>
41160
41161         Tests for modules 'getopt-posix', 'getopt-gnu'.
41162         * modules/getopt-posix-tests: New file.
41163         * tests/test-getopt.c: New file.
41164         * tests/test-getopt.h: New file.
41165         * tests/test-getopt_long.h: New file.
41166
41167         New modules 'getopt-posix', 'getopt-gnu'.
41168         * modules/getopt-gnu: New file, renamed from modules/getopt.
41169         * modules/getopt-posix: New file.
41170         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
41171         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
41172         (gl_GETOPT): Remove macro.
41173         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
41174         Disable the test against BSD systems that declare optreset. Test
41175         against mingw bug. Test against lack of support of optional arguments
41176         on many platforms.
41177         * doc/glibc-headers/getopt.texi: Update module name and list of
41178         relevant platforms.
41179         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
41180         'getopt-gnu' and more portability problems.
41181         * NEWS: Mention the changes.
41182
41183 2009-08-12  Bruno Haible  <bruno@clisp.org>
41184
41185         Ensure that optarg etc. get declared by <unistd.h>.
41186         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
41187         AC_USE_SYSTEM_EXTENSIONS.
41188         * modules/getopt (Depends-on): Add 'extensions'.
41189
41190 2009-08-12  Bruno Haible  <bruno@clisp.org>
41191
41192         Avoid test link errors.
41193         * modules/pipe-filter-ii-tests (Makefile.am): Define
41194         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
41195         * modules/pipe-filter-gi-tests (Makefile.am): Define
41196         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
41197         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41198
41199 2009-08-12  Bruno Haible  <bruno@clisp.org>
41200
41201         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
41202         gl_GETOPT_SUBSTITUTE before.
41203         (gl_GETOPT): Use it.
41204         * m4/argp.m4 (gl_ARGP): Update.
41205         Reported by Sergey Poznyakoff.
41206
41207         * m4/getopt.m4: Reorder macros.
41208         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
41209         (gl_GETOPT_SUBSTITUTE): Remove macro.
41210
41211 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41212
41213         Minor improvement in gitlog-to-changelog
41214
41215         * build-aux/gitlog-to-changelog: New option `--format' makes
41216         output format string configurable.
41217
41218 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41219
41220         Optimize exclude: use hash tables for non-wildcard patterns.
41221
41222         * lib/exclude.c: Include hash.h and mbuiter.h
41223         (struct exclude_pattern, exclude_segment): New data types.
41224         (struct exclude): Rewrite.
41225         (fnmatch_pattern_has_wildcards): New function.
41226         (new_exclude_segment, free_exclude_segment): New functions.
41227         (excluded_file_pattern_p, excluded_file_name_p): New functions.
41228         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
41229         * lib/exclude.h (is_fnmatch_pattern): New prototype.
41230         * modules/exclude: Depend on hash and mbuiter.
41231
41232         * modules/exclude-tests: New file.
41233         * tests/test-exclude.c: New file.
41234         * tests/test-exclude1.sh: New file.
41235         * tests/test-exclude2.sh: New file.
41236         * tests/test-exclude3.sh: New file.
41237         * tests/test-exclude4.sh: New file.
41238         * tests/test-exclude5.sh: New file.
41239         * tests/test-exclude6.sh: New file.
41240         * tests/test-exclude7.sh: New file.
41241
41242 2009-08-12  Bruno Haible  <bruno@clisp.org>
41243
41244         Ensure that getopt() gets declared by <unistd.h>.
41245         * lib/unistd.in.h: Conditionally include getopt.h.
41246         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
41247         Set GNULIB_UNISTD_H_GETOPT.
41248         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41249         GNULIB_UNISTD_H_GETOPT.
41250         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
41251
41252 2009-08-12  Bruno Haible  <bruno@clisp.org>
41253
41254         Clarify logic.
41255         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
41256         gl_replace_getopt instead of GETOPT_H.
41257
41258 2009-08-12  Bruno Haible  <bruno@clisp.org>
41259
41260         * m4/getopt.m4: Add comments.
41261
41262 2009-08-12  Bruno Haible  <bruno@clisp.org>
41263
41264         Disable multithread support by default on Cygwin 1.5.x.
41265         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
41266         set gl_use_threads=no if not specified otherwise.
41267
41268 2009-08-11  Bruno Haible  <bruno@clisp.org>
41269
41270         Avoid compilation error on NetBSD 5.0.
41271         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
41272         * tests/test-stdio.c: Likewise.
41273         * tests/test-stdlib.c: Likewise.
41274         * tests/test-string.c: Likewise.
41275         * tests/test-unistd.c: Likewise.
41276         Reported by Greg Troxel <gdt@ir.bbn.com>
41277         at <https://savannah.gnu.org/support/?106973>.
41278
41279 2009-08-11  Bruno Haible  <bruno@clisp.org>
41280
41281         * modules/dup2-tests (Depends-on): Remove close.
41282
41283         Undo 2009-07-19 commit.
41284         * modules/acl-tests (Depends-on): Remove close.
41285         * modules/binary-io-tests (Depends-on): Likewise.
41286         * modules/closein-tests (Depends-on): Likewise.
41287         * modules/flock-tests (Depends-on): Likewise.
41288         * modules/fsync-tests (Depends-on): Likewise.
41289         * modules/lseek-tests (Depends-on): Likewise.
41290         * modules/pipe-tests (Depends-on): Likewise.
41291         * modules/posix_spawn-tests (Depends-on): Likewise.
41292         * modules/posix_spawnp-tests (Depends-on): Likewise.
41293         * modules/stat-time-tests (Depends-on): Likewise.
41294         * modules/yesno-tests (Depends-on): Likewise.
41295
41296 2009-08-10  Bruno Haible  <bruno@clisp.org>
41297
41298         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
41299
41300 2009-08-10  Bruno Haible  <bruno@clisp.org>
41301
41302         Fix a gcc warning.
41303         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
41304
41305 2009-08-10  Bruno Haible  <bruno@clisp.org>
41306
41307         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
41308         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
41309         not only the first time.
41310         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
41311         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
41312         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
41313         is 1, not only the the first time.
41314
41315 2009-08-10  Bruno Haible  <bruno@clisp.org>
41316
41317         Make it possible to use module 'gethostname' without module 'close'.
41318         * lib/unistd.in.h (close): Evoke a link error only if
41319         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41320         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41321         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41322         * modules/unistd (Makefile.am): Substitute
41323         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41324         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
41325         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41326         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
41327         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41328         * modules/sys_ioctl (Makefile.am): Substitute
41329         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41330         * modules/socket (configure.ac): On native Windows, set
41331         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
41332         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41333         Reported by Sam Steingold <sds@gnu.org>.
41334
41335 2009-08-10  Bruno Haible  <bruno@clisp.org>
41336
41337         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
41338         * modules/ioctl (configure.ac): Likewise.
41339
41340 2009-08-10  Bruno Haible  <bruno@clisp.org>
41341
41342         Avoid collision between gnulib wrapper and libintl wrapper.
41343         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
41344         already defined in intl/printf.c.
41345         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
41346         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
41347
41348 2009-08-09  Bruno Haible  <bruno@clisp.org>
41349
41350         Make <sys/select.h> really self-contained, also on Solaris 10.
41351         * lib/sys_select.in.h: Include <string.h>.
41352         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
41353         Solaris 10 problem.
41354         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
41355         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
41356         Reported by Jim Meyering.
41357
41358 2009-08-09  Bruno Haible  <bruno@clisp.org>
41359
41360         Avoid warnings from 'aclocal' that are due to a use of macro name
41361         AM_XGETTEXT_OPTION that is not defined in automake.
41362         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
41363         automake.
41364         * modules/error (configure.ac): Likewise.
41365         * modules/propername (configure.ac): Likewise.
41366         * modules/vasprintf (configure.ac): Likewise.
41367         * modules/verror (configure.ac): Likewise.
41368         * modules/xprintf (configure.ac): Likewise.
41369         * modules/xvasprintf (configure.ac): Likewise.
41370
41371 2009-08-08  Bruno Haible  <bruno@clisp.org>
41372
41373         Avoid compilation error in C++ mode.
41374         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
41375         Reported by Sam Steingold <sds@gnu.org>.
41376
41377 2009-08-08  Bruno Haible  <bruno@clisp.org>
41378
41379         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
41380         for the various Unix platforms.
41381         * doc/posix-headers/limits.texi: Update platforms list regarding
41382         HOST_NAME_MAX.
41383         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41384
41385 2009-08-07  Jim Meyering  <meyering@redhat.com>
41386
41387         selinux-at: fix typo in a comment
41388         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
41389         Spotted by Paolo Bonzini.
41390
41391         selinux-at: remove redundant m4 code, add documentation
41392         * modules/selinux-at (configure.ac): Remove redundant code.
41393         LIB_SELINUX is already set via the dependent module, selinux-h.
41394         (Include): Add quotes around selinux-at.h.
41395         * lib/selinux-at.h: Add documentation.
41396         Reported by Bruno Haible in
41397         http://marc.info/?l=gnulib-bug&m=124958988300749
41398
41399 2009-08-07  Bruno Haible  <bruno@clisp.org>
41400
41401         Avoid link error on MacOS X 10.3 and 10.4.
41402         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
41403         on non-ELF systems.
41404         * lib/argp-pv.c (argp_program_version): Likewise.
41405         Reported by Simon Josefsson.
41406
41407 2009-08-07  Simon Josefsson  <simon@josefsson.org>
41408
41409         * tests/test-version-etc.sh: Use $EXEEXT.
41410
41411 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
41412
41413         update-copyright: update documentation to point to maint.mk
41414         * build-aux/update-copyright: Here.
41415
41416 2009-08-06  Jim Meyering  <meyering@redhat.com>
41417
41418         maint.mk: support update-copyright-local
41419         * top/maint.mk (update-copyright-local): Define place-holder.
41420         (update-copyright): Depend on $(update-copyright-local).
41421
41422 2009-08-06  Jim Meyering  <meyering@redhat.com>
41423
41424         selinux-at: new module
41425         Initially written for coreutils, this module will soon be
41426         used by findutils, too.
41427         * MODULES.html.sh [Misc]: Add selinux-at.
41428         * lib/selinux-at.h: New file, from coreutils.
41429         * lib/selinux-at.c: Likewise.
41430         * modules/selinux-at: Likewise.
41431         (License): Change from LGPL to GPL, since it depends
41432         on the GPL'd openat module.
41433
41434         doc: update README
41435         * README: Remove references to cogito.
41436         Remove cvs-repo-updating instructions from 2007.
41437         Don't imply that CVS is better if you have limited disk space.
41438
41439 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41440
41441         update-copyright: support C-style comments
41442         * build-aux/update-copyright: Implement and document.
41443         * tests/test-update-copyright.sh: Test.
41444
41445 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41446
41447         update-copyright: support omitted "(C)"
41448         * build-aux/update-copyright: Implement and document.  Also,
41449         allow variable whitespace before "(C)".
41450         * tests/test-update-copyright.sh: Test.
41451
41452 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41453
41454         update-copyright: don't trip on non-FSF copyright statements
41455         * build-aux/update-copyright: Fix so that the first correctly
41456         formatted FSF copyright statement is recognized no matter what
41457         appears before it.  Update documentation.
41458         * tests/test-update-copyright.sh: Test that.
41459
41460 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41461
41462         update-copyright: clean up code a little
41463         * build-aux/update-copyright: Append "_re" to the name of any
41464         variable holding a regular expression.
41465         Replace "old" and "new" with "stmt" in variable names.
41466         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
41467         handled correctly.
41468         Format code more consistently.
41469
41470 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41471
41472         update-copyright-tests: improve portability
41473         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
41474         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
41475
41476 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41477
41478         update-copyright: support @copyright{} and &copy;
41479         * build-aux/update-copyright: Implement and document.
41480         * tests/test-update-copyright.sh: Test.
41481
41482 2009-08-04  Jim Meyering  <meyering@redhat.com>
41483
41484         update-copyright-tests: correctly test EOL=\r\n handling
41485         * tests/test-update-copyright.sh: Put \r at the end of some lines
41486         for the dos-eol tests.  Based on a patch by Joel E. Denny.
41487
41488         maint.mk: make update-copyright exclusion list more configurable
41489         * top/maint.mk (update-copyright): Default to excluding COPYING,
41490         but allow an override, in case someone does want to update that file.
41491
41492         maint.mk: don't update copyright date in COPYING
41493         * top/maint.mk (update-copyright): Exclude COPYING.
41494
41495         maint.mk: add a copyright-updating rule
41496         * top/maint.mk (update-copyright): New rule.
41497         Derived from coreutils/Makefile.am.
41498
41499         update-copyright: rename some variables
41500         * build-aux/update-copyright: Rename a few variables for clarity.
41501         Tweak syntax.  List Joel E. Denny as coauthor.
41502
41503 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41504
41505         update-copyright: fix bug for 2-digit last year and add tests
41506         * build-aux/update-copyright: Fix bug.
41507         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
41508         specified.
41509         * modules/update-copyright-tests: New
41510         * tests/test-update-copyright.sh: New.
41511
41512 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41513
41514         update-copyright: handle leading tabs in line prefix
41515         * build-aux/update-copyright: Count leading tabs as 8 spaces
41516         when computing margin.  This helps with the formatting of
41517         ChangeLogs, for example.
41518         Fix documentation a little.
41519
41520 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41521
41522         update-copyright: support EOL=\r\n
41523         * build-aux/update-copyright: Implement that.
41524
41525 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41526
41527         update-copyright: automatically format copyright statements
41528         * build-aux/update-copyright: Implement that.
41529         Also, be a little more predictable and safer by always failing
41530         when the full copyright format is not perfectly recognized as an
41531         unbroken whole.  Discussed at
41532         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
41533         Rewrite documentation.
41534
41535 2009-08-03  Bruno Haible  <bruno@clisp.org>
41536
41537         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
41538
41539 2009-08-02  Bruno Haible  <bruno@clisp.org>
41540
41541         Tests for module 'uname'.
41542         * modules/uname-tests: New file.
41543         * tests/test-uname.c: New file.
41544
41545         New module 'uname'.
41546         * lib/uname.c: New file.
41547         * m4/uname.m4: New file.
41548         * modules/uname: New file.
41549         * doc/posix-functions/uname.texi: Mention the new module.
41550
41551 2009-08-02  Bruno Haible  <bruno@clisp.org>
41552
41553         Tests for module 'sys_utsname'.
41554         * modules/sys_utsname-tests: New file.
41555         * tests/test-sys_utsname.c: New file.
41556
41557         New module 'sys_utsname'.
41558         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
41559         * m4/sys_utsname_h.m4: New file.
41560         * modules/sys_utsname: New file.
41561         * doc/posix-headers/sys_utsname.texi: Mention the new module.
41562
41563 2009-08-02  Bruno Haible  <bruno@clisp.org>
41564
41565         Implicitly initialize the sockets library.
41566         * lib/gethostname.c: Include sockets.h.
41567         (rpl_gethostname): Invoke gl_sockets_startup.
41568         * lib/socket.c: Include sockets.h.
41569         (rpl_socket): Invoke gl_sockets_startup.
41570         * modules/gethostname (Depends-on): Add sockets.
41571         * modules/socket (Depends-on): Likewise.
41572         * tests/test-poll.c: Don't include sockets.h.
41573         (main): Don't invoke gl_sockets_startup.
41574         * tests/test-select.c: Don't include sockets.h.
41575         (main): Don't invoke gl_sockets_startup.
41576
41577 2009-08-02  Bruno Haible  <bruno@clisp.org>
41578
41579         Allow multiple calls to gl_sockets_startup.
41580         * lib/sockets.c (initialized_sockets_version): New variable.
41581         (gl_sockets_startup): Do nothing if already called for this or a higher
41582         version.
41583         (gl_sockets_cleanup): Reset initialized_sockets_version.
41584
41585 2009-08-03  Simon Josefsson  <simon@josefsson.org>
41586
41587         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
41588         different project/version.
41589
41590 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
41591             Bruno Haible  <bruno@clisp.org>
41592
41593         Tests for module 'pipe-filter-gi'.
41594         * modules/pipe-filter-gi-tests: New file.
41595         * tests/test-pipe-filter-gi1.sh: New file.
41596         * tests/test-pipe-filter-gi1.c: New file.
41597         * tests/test-pipe-filter-gi2.sh: New file.
41598         * tests/test-pipe-filter-gi2-main.c: New file.
41599         * tests/test-pipe-filter-gi2-child.c: New file.
41600
41601         New module 'pipe-filter-gi'.
41602         * lib/pipe-filter-gi.c: New file.
41603         * modules/pipe-filter-gi: New file.
41604
41605 2009-08-02  Bruno Haible  <bruno@clisp.org>
41606             Paolo Bonzini  <bonzini@gnu.org>
41607
41608         Tests for module 'pipe-filter-ii'.
41609         * modules/pipe-filter-ii-tests: New file.
41610         * tests/test-pipe-filter-ii1.sh: New file.
41611         * tests/test-pipe-filter-ii1.c: New file.
41612         * tests/test-pipe-filter-ii2.sh: New file.
41613         * tests/test-pipe-filter-ii2-main.c: New file.
41614         * tests/test-pipe-filter-ii2-child.c: New file.
41615
41616         New module 'pipe-filter-ii'.
41617         * lib/pipe-filter.h: New file.
41618         * lib/pipe-filter-ii.c: New file.
41619         * lib/pipe-filter-aux.h: New file.
41620         * modules/pipe-filter-ii: New file.
41621
41622 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41623
41624         * lib/gc-libgcrypt.c: Change copyright to FSF.
41625         * lib/gc-gnulib.c: Likewise.
41626
41627 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
41628
41629         * lib/gethostname.c: Include limits.h.
41630
41631 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41632             Bruno Haible  <bruno@clisp.org>
41633
41634         Ensure HOST_NAME_MAX as part of the gethostname module.
41635         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
41636         define also HOST_NAME_MAX.
41637         * tests/test-gethostname.c: Include <limits.h>.
41638         (main): Check also HOST_NAME_MAX.
41639         * doc/posix-headers/limits.texi: Document the mingw problem.
41640
41641 2009-08-02  Bruno Haible  <bruno@clisp.org>
41642
41643         * lib/gethostname.c (gethostname): Fix handling of large len argument.
41644         Add comments.
41645
41646 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41647
41648         * lib/gethostname.c: Add Windows wrapper.
41649         * m4/gethostname.m4: Look for gethostname in -lws2_32.
41650         * modules/gethostname: Depend on sys_socket & errno, for also
41651         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
41652         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
41653
41654 2009-07-31  Jim Meyering  <meyering@redhat.com>
41655
41656         getloadavg: fix symbol name in comment
41657         * lib/getloadavg.c: Correct a typo I introduced when adding
41658         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
41659         Matt Kraai spotted the problem.
41660
41661 2009-07-29  Matt Kraai  <mkraai@beckman.com>
41662
41663         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
41664         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
41665         code also if ! defined N_NAME_POINTER.
41666         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
41667         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
41668         but the n_name member is a 12-byte array.
41669
41670 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
41671
41672         update-copyright: generalize comment handling
41673         * build-aux/update-copyright: Handle copyright statements
41674         within more comment styles.
41675         Document usage.
41676         Report any file with an external copyright holder or parse failure.
41677
41678 2009-07-29  Jim Meyering  <meyering@redhat.com>
41679
41680         mktime: correct setting of REPLACE_MKTIME
41681         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
41682
41683         update-copyright: new module
41684         * modules/update-copyright: New file.
41685         * build-aux/update-copyright: New file.
41686         * MODULES.html.sh (maint+release support): Add update-copyright.
41687
41688 2009-07-27  Bruno Haible  <bruno@clisp.org>
41689
41690         Fix compilation error when <ctime> is used and mktime is replaced.
41691         * lib/time.in.h (mktime): New declaration.
41692         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
41693         REPLACE_MKTIME instead of defining mktime in config.h.
41694         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
41695         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
41696         Reported by Ross McFarland <rwmcfa1@neces.com>.
41697
41698 2009-07-27  Bruno Haible  <bruno@clisp.org>
41699
41700         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
41701         Reported by Matt Kraai <mkraai@beckman.com>.
41702
41703 2009-07-25  Jim Meyering  <meyering@redhat.com>
41704
41705         maint.mk: avoid warnings about missing files
41706         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
41707         diagnostic when .prev-version does not exist.
41708         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
41709         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
41710         nonexistent cfg.mk.
41711         Suggestions from Simon Josefsson.
41712
41713 2009-07-25  Bruno Haible  <bruno@clisp.org>
41714
41715         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
41716         defined as macros. Needed on QNX 6.4.1.
41717         Reported by Matt Kraai <mkraai@beckman.com>.
41718
41719 2009-07-23  Jim Meyering  <meyering@redhat.com>
41720
41721         maint.mk: invoke "make dist" with a working value of XZ_OPT
41722         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
41723
41724 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
41725
41726         Make fseeko.c compile on QNX.
41727         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
41728
41729 2009-07-22  Peter Simons  <simons@cryp.to>
41730
41731         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
41732         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
41733         * lib/md4.h: Likewise.
41734         * lib/md5.h: Likewise.
41735         * lib/sha1.h: Likewise.
41736         * lib/sha256.h: Likewise.
41737         * lib/sha512.h: Likewise.
41738
41739         tests-sha1: don't assign literal string to 'char *' variable
41740         * tests/test-sha1.c (main): Declare locals with "const" to match
41741         attributes of the right hand side.
41742
41743 2009-07-21  Eric Blake  <ebb9@byu.net>
41744
41745         dup2: fix more mingw problems
41746         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
41747         fd to itself.
41748         * doc/posix-functions/dup2.texi (dup2): Document the bug.
41749         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
41750         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
41751         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
41752         care of mingw bugs.
41753
41754 2009-07-21  Jim Meyering  <meyering@redhat.com>
41755
41756         vc-list-files: avoid failure when /bin/sh is dash
41757         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
41758         On some Debian based systems, /bin/sh is a symlink to dash, and running
41759         this command would omit the "/" following each 'tests' prefix:
41760           dash -x build-aux/vc-list-files -C . tests
41761         That is because bash and dash work differently:
41762           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
41763           bash ok
41764           dash odd
41765
41766 2009-07-21  Eric Blake  <ebb9@byu.net>
41767
41768         dup2-tests: test previous patch
41769         * modules/dup2-tests: New file.
41770         * tests/test-dup2.c: Likewise.
41771         * tests/test-open.c (main): Avoid unspecified behavior.
41772         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
41773         test.
41774
41775         dup2: work around mingw and cygwin 1.5 bug
41776         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
41777         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41778         * modules/unistd (Makefile.am): Substitute it.
41779         * lib/unistd.in.h (dup2): Declare the replacement.
41780         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
41781         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
41782         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
41783         * modules/execute (Depends-on): Add dup2.
41784         * modules/fseterr (Depends-on): Likewise.
41785         * modules/pipe (Depends-on): Likewise.
41786         * modules/posix_spawn-internal (Depends-on): Likewise.
41787
41788 2009-07-21  Bruno Haible  <bruno@clisp.org>
41789
41790         * modules/.gitattributes: New file.
41791
41792 2009-07-20  Bruno Haible  <bruno@clisp.org>
41793
41794         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
41795         (main): Use it.
41796
41797 2009-07-20  Eric Blake  <ebb9@byu.net>
41798
41799         test-pipe: make a bit more robust.
41800         * tests/test-pipe.c (myerr): Allow error messages regardless of
41801         what we do to stderr.
41802         (test_pipe): Rearrange to avoid deadlock.
41803         (child_main): Try a larger read, to ensure we avoided deadlock.
41804         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
41805         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
41806         if misused.
41807
41808 2009-07-19  Jim Meyering  <meyering@redhat.com>
41809
41810         fts: avoid false-positive cycle-detection
41811         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
41812         for each new command line argument.
41813
41814 2009-07-19  Bruno Haible  <bruno@clisp.org>
41815
41816         Fix build error on mingw with the modules sys_select and unistd.
41817         * modules/acl-tests (Depends-on): Add close.
41818         * modules/binary-io-tests (Depends-on): Likewise.
41819         * modules/closein-tests (Depends-on): Likewise.
41820         * modules/flock-tests (Depends-on): Likewise.
41821         * modules/fsync-tests (Depends-on): Likewise.
41822         * modules/lseek-tests (Depends-on): Likewise.
41823         * modules/pipe-tests (Depends-on): Likewise.
41824         * modules/posix_spawn-tests (Depends-on): Likewise.
41825         * modules/posix_spawnp-tests (Depends-on): Likewise.
41826         * modules/stat-time-tests (Depends-on): Likewise.
41827         * modules/yesno-tests (Depends-on): Likewise.
41828
41829 2009-07-19  Bruno Haible  <bruno@clisp.org>
41830
41831         Unify conditionals.
41832         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
41833         macros, not at the compiler macros.
41834         * lib/pipe.c: Likewise.
41835         * lib/execute.c: Likewise.
41836         * lib/spawni.c: Likewise.
41837
41838 2009-07-19  Bruno Haible  <bruno@clisp.org>
41839
41840         Fix handling of closed stdin/stdout/stderr on mingw.
41841         * lib/w32spawn.h: Include unistd.h.
41842         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
41843         file descriptor with O_NOINHERIT flag.
41844         (fd_safer_noinherit): New function, based on fd-safer.c.
41845         (dup_safer_noinherit): New function, based on dup-safer.c.
41846         (undup_safer_noinherit): New function.
41847         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
41848         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
41849         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
41850         instead of fd_safer.
41851         * tests/test-pipe.c: Include <windows.h>.
41852         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
41853         result.
41854
41855         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
41856         from main.
41857         (test_pipe): Pass an extra argument for disambiguation.
41858         (main): Invoke parent_main or child_main.
41859
41860         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
41861         consistently.
41862
41863 2009-07-18  Eric Blake  <ebb9@byu.net>
41864
41865         test-pipe: fix mingw build
41866         * tests/test-pipe.c (main): Avoid fcntl on mingw.
41867
41868 2009-07-18  Bruno Haible  <bruno@clisp.org>
41869
41870         * modules/pipe-tests (Makefile.am): Fix typo.
41871
41872 2009-07-18  Eric Blake  <ebb9@byu.net>
41873
41874         error: fix mingw build
41875         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
41876         Reported by Bruno Haible.
41877
41878         error: avoid undefined use of stdout
41879         * lib/error.c (error, error_at_line): Check that fd 1 is open
41880         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
41881         is handling faults and the close_stdout module wants to report the
41882         detection of closed stdout as an error.
41883
41884 2009-07-17  Eric Blake  <ebb9@byu.net>
41885
41886         pipe: be robust in face of closed fds
41887         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
41888         should cause child to misbehave.
41889         * modules/pipe-tests: New module.
41890         * tests/test-pipe.c: New file.
41891         * tests/test-pipe.sh: New file.
41892         Reported by Akim Demaille.
41893
41894 2009-07-14  Bruno Haible  <bruno@clisp.org>
41895
41896         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
41897         Reported by anonymous kc.
41898
41899 2009-07-07  Jim Meyering  <meyering@redhat.com>
41900
41901         maint.mk: don't look for translatable strings in *.m4 or *.mk
41902         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
41903         when searching for translatable strings.
41904
41905 2009-07-05  Jim Meyering  <meyering@redhat.com>
41906
41907         remove superfluous parentheses in STREQ definition
41908         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
41909         * lib/getugroups.c (STREQ): Likewise.
41910         * lib/fnmatch.c (STREQ): Likewise.
41911         Spotted by Bruno Haible.
41912
41913 2009-07-04  Jim Meyering  <meyering@redhat.com>
41914
41915         argv-iter: new module
41916         * MODULES.html.sh: Add argv-iter.
41917         * lib/argv-iter.c, lib/argv-iter.h: New files.
41918         * modules/argv-iter: New file.
41919         * modules/argv-iter-tests: New file.
41920         * tests/test-argv-iter.c: Test it.
41921
41922 2009-07-04  Bruno Haible  <bruno@clisp.org>
41923
41924         Fix assertion.
41925         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
41926         contains more exact copies of a given entry than file2, leave the extra
41927         copies unpaired rather than aborting.
41928         Reported by Eric Blake.
41929
41930 2009-07-02  Bruno Haible  <bruno@clisp.org>
41931
41932         Speedup git-merge-changelog for git cherry-pick.
41933         * lib/git-merge-changelog.c (struct entries_mapping): New type.
41934         (entries_mapping_get): New function, extracted from compute_mapping.
41935         (entries_mapping_reverse_get): New function.
41936         (compute_mapping): Add a 'full' argument. Return the result in a
41937         'struct entries_mapping'.
41938         (main): Update. Access the mappings through entries_mapping_get.
41939         Reported by Eric Blake.
41940
41941 2009-07-02  Bruno Haible  <bruno@clisp.org>
41942
41943         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
41944         best_i.
41945
41946 2009-07-02  Bruno Haible  <bruno@clisp.org>
41947
41948         Speed up approximate search for matching ChangeLog entries.
41949         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
41950         argument. Call fstrcmp_bounded instead of fstrcmp.
41951         (compute_mapping, try_split_merged_entry, main): Update callers.
41952
41953 2009-07-02  Bruno Haible  <bruno@clisp.org>
41954
41955         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
41956
41957 2009-06-30  Bruno Haible  <bruno@clisp.org>
41958
41959         Reduce the number of uc_is_cased calls.
41960         * lib/unicase.h (casing_suffix_context_t): Add
41961         'first_char_except_ignorable' field.
41962         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
41963         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
41964         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
41965         Update initializer.
41966         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
41967         case-ignorable characters.
41968         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
41969         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
41970         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
41971         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
41972         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
41973
41974 2009-06-30  Bruno Haible  <bruno@clisp.org>
41975
41976         Tests for module 'unicase/ignorable'.
41977         * modules/unicase/ignorable-tests: New file.
41978         * tests/unicase/test-ignorable.c: New file, generated by
41979         gen-uni-tables.
41980
41981         Tests for module 'unicase/cased'.
41982         * modules/unicase/cased-tests: New file.
41983         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
41984         * tests/unicase/test-predicate-part1.h: New file, derived from
41985         tests/unictype/test-predicate-part1.h.
41986         * tests/unicase/test-predicate-part2.h: New file, same as
41987         tests/unictype/test-predicate-part2.h.
41988
41989         Fix evaluation of "Before C" condition of FINAL_SIGMA.
41990         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
41991         (output_casing_properties): New function.
41992         (main): Call it.
41993         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
41994         * lib/unicase/cased.c: Include unictype/bitmap.h.
41995         (uc_is_cased): Define through a bitmap lookup.
41996         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
41997         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
41998         (uc_is_case_ignorable): Define through a bitmap lookup.
41999         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
42000         lib/unictype/bitmap.h.
42001         (Depends-on): Add inline. Clean up.
42002         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
42003         lib/unictype/bitmap.h.
42004         (Depends-on): Add inline. Clean up.
42005         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
42006         recognition.
42007         * tests/unicase/test-u16-tolower.c (main): Likewise.
42008         * tests/unicase/test-u32-tolower.c (main): Likewise.
42009
42010 2009-06-30  Bruno Haible  <bruno@clisp.org>
42011
42012         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
42013         * lib/unicase/u16-casemap.c: Likewise.
42014         * lib/unicase/u32-casemap.c: Likewise.
42015
42016 2009-06-29  Bruno Haible  <bruno@clisp.org>
42017
42018         Define u32_casefold as a wrapper around u32_ct_casefold.
42019         * lib/unicase/u32-casefold.c: Update.
42020         * modules/unicase/u32-casefold (Depends-on): Add
42021         unicase/u32-ct-casefold, unicase/empty-prefix-context,
42022         unicase/empty-suffix-context. Clean up.
42023
42024         Define u16_casefold as a wrapper around u16_ct_casefold.
42025         * lib/unicase/u16-casefold.c: Update.
42026         * modules/unicase/u16-casefold (Depends-on): Add
42027         unicase/u16-ct-casefold, unicase/empty-prefix-context,
42028         unicase/empty-suffix-context. Clean up.
42029
42030         Define u8_casefold as a wrapper around u8_ct_casefold.
42031         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
42032         * lib/unicase/u8-casefold.c: Update.
42033         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
42034         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42035
42036         Define u32_totitle as a wrapper around u32_ct_totitle.
42037         * lib/unicase/u32-totitle.c: Update.
42038         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
42039         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42040
42041         Define u16_totitle as a wrapper around u16_ct_totitle.
42042         * lib/unicase/u16-totitle.c: Update.
42043         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
42044         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42045
42046         Define u8_totitle as a wrapper around u8_ct_totitle.
42047         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
42048         functions.
42049         (FUNC): Delegate to U_CT_TOTITLE.
42050         * lib/unicase/u8-totitle.c: Update.
42051         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
42052         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42053
42054         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
42055         invocation.
42056         * modules/unicase/u32-tolower (Depends-on): Add
42057         unicase/empty-prefix-context, unicase/empty-suffix-context.
42058
42059         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
42060         invocation.
42061         * modules/unicase/u16-tolower (Depends-on): Add
42062         unicase/empty-prefix-context, unicase/empty-suffix-context.
42063
42064         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
42065         * modules/unicase/u8-tolower (Depends-on): Add
42066         unicase/empty-prefix-context, unicase/empty-suffix-context.
42067
42068         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
42069         invocation.
42070         * modules/unicase/u32-toupper (Depends-on): Add
42071         unicase/empty-prefix-context, unicase/empty-suffix-context.
42072
42073         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
42074         invocation.
42075         * modules/unicase/u16-toupper (Depends-on): Add
42076         unicase/empty-prefix-context, unicase/empty-suffix-context.
42077
42078         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
42079         * modules/unicase/u8-toupper (Depends-on): Add
42080         unicase/empty-prefix-context, unicase/empty-suffix-context.
42081
42082         New module 'unicase/u32-ct-casefold'.
42083         * lib/unicase/u32-ct-casefold.c: New file.
42084         * modules/unicase/u32-ct-casefold: New file.
42085
42086         New module 'unicase/u16-ct-casefold'.
42087         * lib/unicase/u16-ct-casefold.c: New file.
42088         * modules/unicase/u16-ct-casefold: New file.
42089
42090         New module 'unicase/u8-ct-casefold'.
42091         * lib/unicase/u8-ct-casefold.c: New file.
42092         * lib/unicase/u-ct-casefold.h: New file, derived from
42093         lib/unicase/u-casefold.h.
42094         * modules/unicase/u8-ct-casefold: New file.
42095
42096         New module 'unicase/u32-ct-totitle'.
42097         * lib/unicase/u32-ct-totitle.c: New file.
42098         * modules/unicase/u32-ct-totitle: New file.
42099
42100         New module 'unicase/u16-ct-totitle'.
42101         * lib/unicase/u16-ct-totitle.c: New file.
42102         * modules/unicase/u16-ct-totitle: New file.
42103
42104         New module 'unicase/u8-ct-totitle'.
42105         * lib/unicase/u8-ct-totitle.c: New file.
42106         * lib/unicase/u-ct-totitle.h: New file, derived from
42107         lib/unicase/u-totitle.h.
42108         * modules/unicase/u8-ct-totitle: New file.
42109
42110         New module 'unicase/u32-ct-tolower'.
42111         * lib/unicase/u32-ct-tolower.c: New file.
42112         * modules/unicase/u32-ct-tolower: New file.
42113
42114         New module 'unicase/u16-ct-tolower'.
42115         * lib/unicase/u16-ct-tolower.c: New file.
42116         * modules/unicase/u16-ct-tolower: New file.
42117
42118         New module 'unicase/u8-ct-tolower'.
42119         * lib/unicase/u8-ct-tolower.c: New file.
42120         * modules/unicase/u8-ct-tolower: New file.
42121
42122         New module 'unicase/u32-ct-toupper'.
42123         * lib/unicase/u32-ct-toupper.c: New file.
42124         * modules/unicase/u32-ct-toupper: New file.
42125
42126         New module 'unicase/u16-ct-toupper'.
42127         * lib/unicase/u16-ct-toupper.c: New file.
42128         * modules/unicase/u16-ct-toupper: New file.
42129
42130         New module 'unicase/u8-ct-toupper'.
42131         * lib/unicase/u8-ct-toupper.c: New file.
42132         * modules/unicase/u8-ct-toupper: New file.
42133
42134         Add context arguments to u*_casemap functions.
42135         * lib/unicase/unicasemap.h: Include unicase.h.
42136         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
42137         suffix_context arguments.
42138         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
42139         functions.
42140         (FUNC): Add prefix_context and suffix_context arguments. Use
42141         uc_is_cased and uc_is_case_ignorable.
42142         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
42143         * lib/unicase/u16-casemap.c: Likewise.
42144         * lib/unicase/u32-casemap.c: Likewise.
42145         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
42146         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42147         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
42148         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42149         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
42150         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42151
42152         New module 'unicase/u32-suffix-context'.
42153         * lib/unicase/u32-suffix-context.c: New file.
42154         * modules/unicase/u32-suffix-context: New file.
42155
42156         New module 'unicase/u16-suffix-context'.
42157         * lib/unicase/u16-suffix-context.c: New file.
42158         * modules/unicase/u16-suffix-context: New file.
42159
42160         New module 'unicase/u8-suffix-context'.
42161         * lib/unicase/u8-suffix-context.c: New file.
42162         * lib/unicase/u-suffix-context.h: New file.
42163         * modules/unicase/u8-suffix-context: New file.
42164
42165         New module 'unicase/empty-suffix-context'.
42166         * lib/unicase/empty-suffix-context.c: New file.
42167         * modules/unicase/empty-suffix-context: New file.
42168
42169         New module 'unicase/u32-prefix-context'.
42170         * lib/unicase/u32-prefix-context.c: New file.
42171         * modules/unicase/u32-prefix-context: New file.
42172
42173         New module 'unicase/u16-prefix-context'.
42174         * lib/unicase/u16-prefix-context.c: New file.
42175         * modules/unicase/u16-prefix-context: New file.
42176
42177         New module 'unicase/u8-prefix-context'.
42178         * lib/unicase/u8-prefix-context.c: New file.
42179         * lib/unicase/u-prefix-context.h: New file.
42180         * lib/unicase/context.h: New file.
42181         * modules/unicase/u8-prefix-context: New file.
42182
42183         New module 'unicase/empty-prefix-context'.
42184         * lib/unicase/empty-prefix-context.c: New file.
42185         * modules/unicase/empty-prefix-context: New file.
42186
42187         New module 'unicase/ignorable'.
42188         * lib/unicase/ignorable.c: New file.
42189         * modules/unicase/ignorable: New file.
42190
42191         New module 'unicase/cased'.
42192         * lib/unicase/caseprop.h: New file.
42193         * lib/unicase/cased.c: New file.
42194         * modules/unicase/cased: New file.
42195
42196         New functions for case mapping of substrings.
42197         * lib/unicase.h (casing_prefix_context_t): New type.
42198         (unicase_empty_prefix_context): New variable.
42199         (u8_casing_prefix_context, u16_casing_prefix_context,
42200         u32_casing_prefix_context, u8_casing_prefixes_context,
42201         u16_casing_prefixes_context, u32_casing_prefixes_context): New
42202         declarations.
42203         (casing_suffix_context_t): New type.
42204         (unicase_empty_suffix_context): New variable.
42205         (u8_casing_suffix_context, u16_casing_suffix_context,
42206         u32_casing_suffix_context, u8_casing_suffixes_context,
42207         u16_casing_suffixes_context, u32_casing_suffixes_context,
42208         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
42209         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
42210         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
42211         declarations.
42212
42213 2009-06-28  Jim Meyering  <meyering@redhat.com>
42214
42215         boostrap: indent only with spaces
42216         * build-aux/bootstrap: Indent only with spaces, never TABs.
42217
42218         bootstrap: split long lines
42219         * build-aux/bootstrap: Keep line length < 80.
42220
42221         bootstrap: sync from coreutils
42222         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
42223         just as autoreconf does.  Verify a list of prerequisite
42224         package-name,version-number pairs if defined in bootstrap.conf.
42225         Refer to README-prereq, if prerequisites are not satisfied.
42226
42227 2009-06-27  Eric Blake  <ebb9@byu.net>
42228
42229         tests: add test for bogus NULL definition
42230         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
42231         * tests/test-stdlib.c: Likewise.
42232         * tests/test-string.c: Likewise.
42233         * tests/test-locale.c: Likewise.
42234         * tests/test-unistd.c: Likewise.
42235         * modules/stdio-tests (Depends-on): Add verify.
42236         * modules/stdlib-tests (Depends-on): Likewise.
42237         * modules/string-tests (Depends-on): Likewise.
42238         * modules/locale-tests (Depends-on): Likewise.
42239         * modules/unistd-tests (Depends-on): Likewise.
42240
42241 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
42242
42243         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
42244         self-explaining comment.
42245         * m4/selinux-selinux-h: Update serial.
42246         (gl_LIBSELINUX): New macro, adding a warning for missing development
42247         packages to code extracted from...
42248         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
42249         Add warning for missing development packages here, too.
42250
42251 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
42252
42253         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
42254
42255 2009-06-25  Eric Blake  <ebb9@byu.net>
42256
42257         version-etc: fix regression
42258         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
42259         gcc.
42260         (version_etc): Use it, to catch bugs with trailing NULL.
42261         * lib/version-etc.c (version_etc_arn): Delete unused argument.
42262         (version_etc_va): Fix logic bug.
42263         * modules/version-etc-tests: Add test.
42264         * tests/test-version-etc.c: New file.
42265         * tests/test-version-etc.sh: Likewise.
42266
42267 2009-06-25  Sam Steingold  <sds@gnu.org>
42268
42269         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
42270         mbtowc declaration.
42271
42272 2009-06-25  Eric Blake  <ebb9@byu.net>
42273
42274         fpurge: migrate into <stdio.h>
42275         * lib/fpurge.h: Delete...
42276         * lib/stdio.in.h (fpurge): ...and declare here, instead.
42277         * lib/fpurge.c (fpurge): Change declaring header.
42278         * modules/fpurge (Files): Drop deleted file.
42279         (Depends-on): Add stdio.
42280         (configure.ac): Set witness.
42281         * modules/stdio (Makefile.am): Support fpurge macros.
42282         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42283         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
42284         * lib/fflush.c: Update client.
42285         * tests/test-fpurge.c: Likewise.
42286         * NEWS: Mention the change.
42287
42288 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42289
42290         * lib/argp-version-etc.c (program_authors): Add const
42291         qualifier.
42292         * lib/version-etc.c: Fix typos in the comments.
42293         * modules/argp-version-etc: Depends on version-etc.
42294
42295 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42296
42297         argp-version-etc: new module.
42298
42299         * lib/argp-version-etc.c: New file.
42300         * lib/argp-version-etc.h: New file.
42301         * modules/argp-version-etc: New file.
42302         * modules/argp-version-etc-tests: New file.
42303         * tests/test-argp-version-etc.c: New test.
42304         * tests/test-argp-version-etc-1.sh: New test.
42305
42306 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42307
42308         Provide additional interfaces and documentation for version-etc
42309         module.
42310
42311         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
42312         interfaces.
42313         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
42314         prototypes.
42315
42316 2009-06-24  Bruno Haible  <bruno@clisp.org>
42317
42318         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
42319         HAVE_LIB${NAME} macro.
42320         Reported by Sam Steingold <sds@gnu.org>.
42321
42322 2009-06-23  Simon Josefsson  <simon@josefsson.org>
42323
42324         * modules/hash-tests (test_hash_LDADD): Link to libintl when
42325         needed.
42326
42327 2009-06-21  Bruno Haible  <bruno@clisp.org>
42328
42329         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
42330         work.
42331         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
42332         together with LIB${NAME}, LTLIB${NAME}.
42333         Reported by Sam Steingold <sds@gnu.org>.
42334
42335 2009-06-20  Jim Meyering  <meyering@redhat.com>
42336
42337         tests: make sc_require_test_exit_idiom more generic
42338         * top/maint.mk (Exit_witness_file): New overridable variable.
42339         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
42340         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
42341
42342 2009-06-19  Jim Meyering  <meyering@redhat.com>
42343
42344         hash: reverse order of src/dst parameters in an internal interface
42345         * lib/hash.c (transfer_entries): Reverse order of parameters to
42346         put DST before SRC.  Adjust callers.
42347
42348         tests: test-hash: avoid wholesale duplication
42349         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
42350         Instead, use a loop and add a single conditional.
42351
42352         tests: test-hash: allow seed selection via a command line argument
42353         * tests/test-hash.c (get_seed): New function.
42354         (main): Use it.
42355
42356 2009-06-19  Eric Blake  <ebb9@byu.net>
42357
42358         hash: avoid memory leak on allocation failure
42359         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
42360         failure.  Factor repeated algorithm...
42361         (transfer_entries): ...into new helper routine.
42362         (hash_delete): React to hash_rehash return value.
42363
42364         hash: reduce memory pressure in hash_rehash no-op case
42365         * lib/hash.c (next_prime): Avoid overflow.
42366         (hash_initialize): Factor bucket size computation...
42367         (compute_bucket_size): ...into new helper function.
42368         (hash_rehash): Use new function and open coding to reduce memory
42369         pressure, and avoid a memory leak in USE_OBSTACK code.
42370         Reported by Jim Meyering.
42371
42372 2009-06-18  Eric Blake  <ebb9@byu.net>
42373
42374         hash: make rotation more obvious
42375         * modules/hash (Depends-on): Add bitrotate and stdint.
42376         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
42377         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
42378         (SIZE_MAX): Rely on headers for definition.
42379         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
42380         (raw_hasher): Use rotr_sz.
42381         Suggested by Jim Meyering.
42382
42383         hash: fix memory leak in last patch
42384         * lib/hash.c (hash_rehash): Avoid memory leak.
42385
42386         hash: avoid no-op rehashing
42387         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
42388
42389         hash: provide default callback functions
42390         * lib/hash.c (raw_hasher, raw_comparator): New functions.
42391         (hash_initialize): Use them as defaults.
42392         * tests/test-hash.c (main): Test this.
42393
42394         hash: minor optimization
42395         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
42396         when possible.
42397         (hash_initialize): Document this promise.
42398         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
42399         * tests/test-hash.c (hash_compare_strings): Test this.
42400
42401 2009-06-18  Bruno Haible  <bruno@clisp.org>
42402
42403         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
42404         going to be replaced anyway.
42405
42406 2009-06-18  Bruno Haible  <bruno@clisp.org>
42407
42408         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
42409         in one place.
42410         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
42411         be replaced anyway.
42412
42413 2009-06-18  Eric Blake  <ebb9@byu.net>
42414
42415         hash: check for resize before insertion
42416         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
42417         threshold before insertion, so that a pathological hash_rehash
42418         that fills every bucket can still trigger another rehash.
42419
42420 2009-06-18  Jim Meyering  <meyering@redhat.com>
42421
42422         hash-tests: add a loop around the small tests
42423         * tests/test-hash.c (main): Repeat small tests with selected
42424         small initial table sizes.
42425
42426 2009-06-17  Eric Blake  <ebb9@byu.net>
42427
42428         hash: minor cleanups
42429         * lib/hash.h (hash_entry): Make opaque, by moving...
42430         * lib/hash.c (hash_entry): ...here.
42431         (hash_insert): Clarify restrictions on what can be inserted.
42432         (hash_get_next): Clarify when it is safe to remove an element
42433         during traversal.
42434         (check_tuning): Skip verification when tuning is known safe.
42435         (hash_initialize): Clarify restrictions on tuning.
42436
42437 2009-06-17  Jim Meyering  <jim@meyering.net>
42438         and Eric Blake  <ebb9@byu.net>
42439
42440         hash-tests: new module
42441         * modules/hash-tests: New file.
42442         * tests/test-hash.c: New file.
42443
42444 2009-06-17  Eric Blake  <ebb9@byu.net>
42445
42446         strstr-simple: document new module
42447         * MODULES.html.sh: Document new module.
42448
42449         strstr, strcasestr: replace on platforms with broken memchr
42450         * modules/strstr: Split into...
42451         * modules/strstr-simple: ...new module that does not care about
42452         performance, but does care about glibc bug.
42453         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
42454         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
42455         if platform memchr is broken, per Debian bug 521737.
42456         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
42457         memchr.
42458         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
42459         * doc/posix-functions/strstr.texi (strstr): Document the fix.
42460         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42461         * modules/mountlist (Depends-on): Add strstr-simple.
42462         * modules/gen-uni-tables (Depends-on): Likewise.
42463         * modules/argz (Depends-on): Add strstr.
42464
42465 2009-06-17  Bruno Haible  <bruno@clisp.org>
42466
42467         * modules/posix_spawn-internal (Depends-on): Add errno.
42468
42469 2009-06-17  Bruno Haible  <bruno@clisp.org>
42470
42471         Define missing ESTALE on Interix 3.5.
42472         * lib/errno.in.h (ESTALE): Assign a value if missing.
42473         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
42474         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
42475         missing.
42476         * doc/posix-headers/errno.texi: Mention the Interix bug.
42477         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
42478
42479 2009-06-15  Eric Blake  <ebb9@byu.net>
42480
42481         memchr, memchr2: add valgrind exception
42482         * lib/memchr.valgrind: New file.
42483         * lib/memchr2.valgrind: New file.
42484         * modules/memchr (Files): Distribute valgrind file.
42485         * modules/memchr2 (Files): Likewise.
42486
42487         docs: memchr is no longer obsolete
42488         * MODULES.html.sh: Move memchr from obsolete to string.h section.
42489         * lib/string.in.h (memchr): Simplify logic.
42490
42491 2009-06-14  Jim Meyering  <meyering@redhat.com>
42492
42493         link-follow: fix the "checking..." message to not mention trailing slash
42494         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
42495         never considered trailing slashes.
42496
42497 2009-06-14  Bruno Haible  <bruno@clisp.org>
42498
42499         * m4/memchr.m4: Mention also the bug on IA-64.
42500         * doc/posix-functions/memchr.texi: Likewise.
42501
42502 2009-06-12  Eric Blake  <ebb9@byu.net>
42503
42504         memchr: detect broken x86_64 and alpha implementations
42505         * modules/memchr-tests (Depends-on): Move mmap detection...
42506         * modules/memchr (Depends-on): ...here.
42507         (configure.ac): Set indicator.
42508         * lib/string.in.h (memchr): Declare replacement.
42509         * modules/string (Makefile.am): Trigger replacement.
42510         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42511         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
42512         bugs.
42513         * doc/posix-functions/memchr.texi (memchr): Document the bug.
42514         * modules/getpagesize (License): Relax license.
42515
42516 2009-06-11  Bruno Haible  <bruno@clisp.org>
42517
42518         * lib/idpriv.h: Add more references.
42519
42520 2009-06-08  Bruno Haible  <bruno@clisp.org>
42521
42522         Tests for module 'idpriv-droptemp'.
42523         * modules/idpriv-droptemp-tests: New file.
42524         * tests/test-idpriv-droptemp.sh: New file.
42525         * tests/test-idpriv-droptemp.su.sh: New file.
42526         * tests/test-idpriv-droptemp.c: New file.
42527
42528         New module 'idpriv-droptemp'.
42529         * lib/idpriv-droptemp.c: New file.
42530         * modules/idpriv-droptemp: New file.
42531
42532 2009-06-08  Bruno Haible  <bruno@clisp.org>
42533
42534         Tests for module 'idpriv-drop'.
42535         * modules/idpriv-drop-tests: New file.
42536         * tests/test-idpriv-drop.sh: New file.
42537         * tests/test-idpriv-drop.su.sh: New file.
42538         * tests/test-idpriv-drop.c: New file.
42539
42540         New module 'idpriv-drop'.
42541         * lib/idpriv.h: New file.
42542         * lib-idpriv-drop.c: New file.
42543         * m4/idpriv.m4: New file.
42544         * modules/idpriv-drop: New file.
42545
42546 2009-06-08  Bruno Haible  <bruno@clisp.org>
42547
42548         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
42549         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42550         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42551         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42552         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42553         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42554         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42555
42556 2009-06-08  Eric Blake  <ebb9@byu.net>
42557
42558         test-strstr: use memory fence, when possible
42559         * tests/test-strstr.c (main): Use memory fence, in order to be
42560         more likely to trigger Debian bug 521737.
42561         * modules/strstr-tests (Files): Pull in additional files.
42562
42563         memchr: no longer obsolete, for wider field testing
42564         * modules/memchr (Status, Notice): Delete, this module is no
42565         longer obsolete.
42566         * modules/vasnprintf (Depends-on): Add memchr.
42567
42568 2009-06-07  Jim Meyering  <meyering@redhat.com>
42569
42570         hash: declare some functions with the warn_unused_result attribute
42571         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
42572
42573 2009-06-07  Bruno Haible  <bruno@clisp.org>
42574
42575         * tests/test-alignof.c: Don't test int64_t if it does not exist.
42576         Reported by Eric Blake.
42577
42578 2009-06-06  Eric Blake  <ebb9@byu.net>
42579
42580         test-alignof: fix typo with long double
42581         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
42582         compiler error.
42583
42584 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
42585
42586         Escape non-texinfo { and }s.
42587         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
42588         markup error.
42589
42590 2009-06-04  Jim Meyering  <meyering@redhat.com>
42591
42592         gitlog-to-changelog: don't infloop on an empty commit log
42593         * build-aux/gitlog-to-changelog: Warn about an empty log message.
42594         Reported by Boris Petersen <transacid@centerim.org>.
42595
42596 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
42597
42598         version-etc: extend for packagers
42599         Add three new configure options, intended for packagers:
42600           --with-packager="packager name"
42601           --with-packager-version="packager-specific version"
42602           --with-packager-bug-reports="packager bug reporting"
42603         An example with coreutils:
42604           $ ./configure \
42605             --with-packager=Gentoo \
42606             --with-packager-bug-report=http://bugs.gentoo.org/ \
42607             --with-packager-version="patchset 1.6"
42608           $ ./src/ls --version | head -n2
42609           ls (GNU coreutils) 7.1-dirty
42610           Packaged by Gentoo (patchset 1.6)
42611         Note that the bug reporting info via --help doesn't show up because
42612         coreutils uses its own custom emit_bug_reporting_address() implementation
42613         in src/system.h.  If it didn't, it'd look like:
42614           $ ./src/ls --help | tail -n4
42615           Report bugs to <bug-coreutils@gnu.org>.
42616           Report Gentoo bugs to <http://bugs.gentoo.org/>.
42617           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
42618           General help using GNU software: <http://www.gnu.org/gethelp/>.
42619         * lib/version-etc.c: Print new information, if provided.
42620         * m4/version-etc.m4: New file.
42621         * modules/version-etc (Files): Add m4/version-etc.m4.
42622         (configure.ac): Add gl_VERSION_ETC.
42623
42624 2009-05-31  Bruno Haible  <bruno@clisp.org>
42625
42626         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
42627         and 'int64_t'.
42628         * modules/alignof-tests (Dependencies): Add stdint.
42629         Reported by Eric Blake.
42630
42631 2009-05-31  Bruno Haible  <bruno@clisp.org>
42632
42633         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
42634         restriction due to compiler bugs.
42635         Reported by Eric Blake.
42636
42637 2009-05-31  Simon Josefsson  <simon@josefsson.org>
42638             Bruno Haible  <bruno@clisp.org>
42639
42640         Fix test-alignof failure.
42641         * lib/alignof.h (alignof_slot): New macro.
42642         (alignof_type): New macro, with the same semantics as the previous
42643         'alignof'.
42644         (alignof): Alias to alignof_slot.
42645         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
42646         check that the results are usable as constant expressions.
42647
42648 2009-05-31  Bruno Haible  <bruno@clisp.org>
42649
42650         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
42651         * tests/test-memchr.c (main): Check that memchr does not read past the
42652         first occurrence of the byte.
42653         * tests/test-strstr.c (main): Update comment.
42654         Suggested by Eric Blake.
42655
42656 2009-05-30  Bruno Haible  <bruno@clisp.org>
42657
42658         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
42659         detail how to use dumpbin.
42660         Reported by David Byron <dbyron@dbyron.com>.
42661
42662 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42663
42664         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
42665
42666 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42667
42668         * m4/manywarnings.m4: Add GCC 4.4 warnings.
42669
42670 2009-05-28  Bruno Haible  <bruno@clisp.org>
42671
42672         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
42673         build-aux/ files.
42674
42675 2009-05-28  Simon Josefsson  <simon@josefsson.org>
42676
42677         * gnulib-tool (func_import): Transform license on build-aux/ files too.
42678
42679 2009-05-27  Simon Josefsson  <simon@josefsson.org>
42680
42681         * gnulib-tool (sed_transform_main_lib_file)
42682         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
42683         regexps.
42684
42685 2009-05-26  Simon Josefsson  <simon@josefsson.org>
42686
42687         * tests/test-strstr.c: Add another self-test.
42688         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
42689         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
42690
42691 2009-05-23  Bruno Haible  <bruno@clisp.org>
42692
42693         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
42694         change.
42695
42696 2009-05-21  Bruno Haible  <bruno@clisp.org>
42697
42698         Simplify use of mode_t varargs.
42699         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
42700         uses 'mode_t' or 'int'.
42701         * lib/openat.c (openat): Likewise.
42702         * lib/open-safer.c (open_safer): Likewise.
42703         * m4/mode_t.m4: New file.
42704         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
42705         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
42706         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
42707         * modules/open (Files): Add m4/mode_t.m4.
42708         * modules/openat (Files): Likewise.
42709         * modules/fcntl-safer (Files): Likewise.
42710         Suggested by Eric Blake.
42711
42712 2009-05-21  Pádraig Brady  <P@draigbrady.com>
42713
42714         * doc/glibc-functions/fallocate.texi: New file.
42715         * doc/gnulib.texi: Include it.
42716
42717 2009-05-21  Eric Blake  <ebb9@byu.net>
42718             Bruno Haible  <bruno@clisp.org>
42719
42720         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
42721         invocations.
42722         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42723
42724 2009-05-21  Eric Blake  <ebb9@byu.net>
42725             Bruno Haible  <bruno@clisp.org>
42726
42727         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
42728         include_next. Fix of 2008-11-20 commit.
42729         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
42730         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
42731         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
42732         NEXT_MATH_H.
42733         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
42734         instead of NEXT_MATH_H.
42735
42736 2009-05-21  Bruno Haible  <bruno@clisp.org>
42737
42738         Avoid redefinition warnings for SIZE_MAX.
42739         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
42740         Reported by Simon Josefsson.
42741
42742 2009-05-21  Bruno Haible  <bruno@clisp.org>
42743
42744         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
42745         AC_CACHE_VAL.
42746
42747 2009-05-20  Bruno Haible  <bruno@clisp.org>
42748
42749         Make zeroptr.h work on mingw.
42750         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
42751         mprotect.
42752         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
42753         * modules/memchr2-tests (configure.ac): Likewise.
42754         * modules/memcmp-tests (configure.ac): Likewise.
42755         * modules/memmem-tests (configure.ac): Likewise.
42756         * modules/memrchr-tests (configure.ac): Likewise.
42757         Reported by Simon Josefsson.
42758
42759 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42760
42761         * tests/test-glob.c: Include string.h for strcmp prototype.
42762
42763 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42764
42765         * modules/getdelim (Depends-on): Add explicit stdint, although it
42766         was implicitly already pulled in via realloc-posix.
42767         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
42768
42769 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42770
42771         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
42772         G. Christensen" <tgc@jupiterrise.com>.
42773         * m4/sys_socket_h.m4: Check for sa_family_t.
42774         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
42775         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
42776         * tests/test-sys_socket.c: Check that sa_family_t works.
42777
42778 2009-05-18  Eric Blake  <ebb9@byu.net>
42779
42780         maint.mk: allow gnulib_dir in VPATH build
42781         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
42782
42783 2009-05-15  Jim Meyering  <meyering@redhat.com>
42784
42785         maint.mk: Give gnulib_dir a default definition.
42786         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
42787         Thus, most packages no longer need to specify this variable in cfg.mk
42788
42789 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
42790
42791         rename.m4: fix typos that would make non-mingw cross-configure fail
42792         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
42793
42794 2009-05-13  Eric Blake  <ebb9@byu.net>
42795
42796         mmap-anon: avoid out-of-order autoconf expansion
42797         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
42798         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
42799         * modules/memchr-tests (Depends-on): Add extensions.
42800         * modules/memchr2-tests (Depends-on): Add extensions.
42801         * modules/memcmp-tests (Depends-on): Add extensions.
42802         * modules/memmem-tests (Depends-on): Add extensions.
42803         * modules/memrchr-tests (Depends-on): Add extensions.
42804
42805 2009-05-13  Bruno Haible  <bruno@clisp.org>
42806
42807         Make some tests ISO C 99 compliant.
42808         * tests/zerosize-ptr.h: New file.
42809         * tests/test-memchr.c: Include zerosize-ptr.h.
42810         (main): Use a zero-size object pointer instead of NULL.
42811         * tests/test-memchr2.c: Include zerosize-ptr.h.
42812         (main): Use a zero-size object pointer instead of NULL.
42813         * tests/test-memcmp.c: Include zerosize-ptr.h.
42814         (main): Use a zero-size object pointer instead of NULL.
42815         * tests/test-memmem.c: Include zerosize-ptr.h.
42816         (main): Use a zero-size object pointer instead of NULL.
42817         * tests/test-memrchr.c: Include zerosize-ptr.h.
42818         (main): Use a zero-size object pointer instead of NULL.
42819         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
42820         m4/mmap-anon.m4.
42821         (Depends-on): Add getpagesize.
42822         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42823         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
42824         m4/mmap-anon.m4.
42825         (Depends-on): Add getpagesize.
42826         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42827         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
42828         m4/mmap-anon.m4.
42829         (Depends-on): Add getpagesize.
42830         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42831         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
42832         m4/mmap-anon.m4.
42833         (Depends-on): Add getpagesize.
42834         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42835         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
42836         m4/mmap-anon.m4.
42837         (Depends-on): Add getpagesize.
42838         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42839
42840 2009-05-12  Bruno Haible  <bruno@clisp.org>
42841
42842         Tests for module 'alignof'.
42843         * modules/alignof-tests: New file.
42844         * tests/test-alignof.c: New file.
42845
42846 2009-05-12  Bruno Haible  <bruno@clisp.org>
42847
42848         Fix alignof macro.
42849         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
42850         vendor compilers that are always correct.
42851
42852 2009-05-12  Bruno Haible  <bruno@clisp.org>
42853
42854         Make the MAP_ANONYMOUS detection work on HP-UX 11.
42855         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
42856         not whether its fully works.
42857
42858 2009-05-12  Bruno Haible  <bruno@clisp.org>
42859
42860         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
42861
42862 2009-05-12  Jim Meyering  <meyering@redhat.com>
42863
42864         * top/maint.mk: Adjust backslash alignment.
42865
42866 2009-05-11  Simon Josefsson  <simon@josefsson.org>
42867
42868         * top/maint.mk: Make $(srcdir)/build-aux configurable.
42869
42870 2009-05-11  Eric Blake  <ebb9@byu.net>
42871
42872         argp: avoid undefined behavior
42873         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
42874         macros.
42875
42876 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42877
42878         * tests/test-vc-list-files-git.sh: Do git config of user.email and
42879         user.name to prevent git commit from complaining.
42880
42881 2009-05-10  Bruno Haible  <bruno@clisp.org>
42882
42883         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
42884         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
42885         it rewrites every file name only once.
42886         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
42887
42888 2009-05-08  Bruno Haible  <bruno@clisp.org>
42889
42890         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
42891         instead of 'max'.
42892
42893 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42894
42895         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
42896         sockaddr_storage test.
42897
42898 2009-05-07  Simon Josefsson  <simon@josefsson.org>
42899
42900         * modules/sys_socket (Makefile.am): Substitute
42901         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
42902         * m4/sys_socket_h.m4: Check for sockaddr_storage.
42903         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
42904         * tests/test-sys_socket.c: Check sockaddr_storage.
42905
42906 2009-05-08  Bruno Haible  <bruno@clisp.org>
42907
42908         New module 'alignof'.
42909         * lib/alignof.h: New file.
42910         * modules/alignof: New file.
42911
42912 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42913             Bruno Haible  <bruno@clisp.org>
42914
42915         Fix test-file-has-acl on FreeBSD.
42916         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
42917         mask is implicitly added.
42918         * tests/test-file-has-acl.c: Include <signal.h>.
42919         (main): Terminate the test after 5 seconds.
42920         * modules/acl-tests (configure.ac): Check for alarm function.
42921
42922 2009-05-04  Bruno Haible  <bruno@clisp.org>
42923
42924         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
42925         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
42926         * modules/errno (configure.ac): Drop AC_REQUIRE.
42927         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
42928         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
42929
42930 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42931
42932         * modules/glob-tests: New module.
42933         * tests/test-glob.c: Add.
42934
42935 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42936
42937         * modules/fnmatch-tests: New module.
42938         * tests/test-fnmatch.c: Add.
42939
42940 2009-05-04  Eric Blake  <ebb9@byu.net>
42941
42942         maint: make the new no-submodule-changes rule VPATH-safe
42943         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
42944
42945 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42946             Bruno Haible  <bruno@clisp.org>
42947
42948         acl: Fix infinite loop on FreeBSD.
42949         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
42950         of return value from acl_get_entry.
42951         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
42952         Likewise.
42953
42954 2009-05-03  Bruno Haible  <bruno@clisp.org>
42955
42956         * lib/acl-internal.h (acl_entries): Clarify return value.
42957         * lib/acl_entries.c (acl_entries): Likewise.
42958
42959 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42960
42961         Bug fix in acl module.
42962         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
42963
42964 2009-05-03  Bruno Haible  <bruno@clisp.org>
42965
42966         Create gperf-generated file in the source dir, not in the build dir.
42967         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
42968         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
42969         * modules/unicase/locale-language (unicase/locale-languages.h):
42970         Likewise.
42971         * modules/unicase/special-casing (unicase/special-casing-table.h):
42972         Likewise.
42973         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
42974         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
42975         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
42976         Reported by Ralf Wildenhues.
42977
42978 2009-05-03  Bruno Haible  <bruno@clisp.org>
42979
42980         * modules/fnmatch (Description, configure.ac): Taken from
42981         fnmatch-posix.
42982         * modules/fnmatch-posix: Turn into a symbolic reference to the
42983         'fnmatch' module, and deprecate.
42984         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
42985
42986 2009-05-03  Bruno Haible  <bruno@clisp.org>
42987
42988         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
42989         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
42990         Reported by Ralf Wildenhues.
42991
42992 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42993
42994         * m4/fnmatch.m4: Fix fnmatch re-define.
42995
42996 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42997
42998         priv-set: new module and tests; adapt write-any-file
42999         * lib/priv-set.c: New file.
43000         * lib/priv-set.h: New file.
43001         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
43002         * lib/write-any-file.c: Simplify by using priv-set module.
43003         * m4/priv-set.m4: New file.
43004         * modules/priv-set: New file.
43005         * modules/unlinkdir: Add dependency on priv-set module.
43006         * modules/write-any-file: Likewise.
43007
43008         Tests for module 'priv-set'.
43009         * modules/priv-set-tests: New file.
43010         * tests/test-priv-set.c: New file.
43011
43012 2009-05-03  Jim Meyering  <meyering@redhat.com>
43013             Bruno Haible  <bruno@clisp.org>
43014
43015         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
43016         use the converted UTF-8 variant of the name instead.
43017
43018 2009-05-03  Jim Meyering  <meyering@redhat.com>
43019
43020         tests: tighten some getdate tests
43021         * tests/test-getdate.c (main): Tighten tests: require equality,
43022         not just greater than.  Set TZ envvar to UTC0.
43023
43024 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
43025
43026         getdate: correctly interpret "next monday" when run on a Monday
43027         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
43028         that e.g., "next tues" (when run on a tuesday) results in a date
43029         that is one week in the future, and not today's date.
43030         I.e., add a week when the wday is the same as the current one.
43031         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
43032         and earlier by Martin Bernreuther and Jan Minář.
43033         * tests/test-getdate.c (main): Check that "next DAY" is always in
43034         the future and that "last DAY" is always in the past.
43035
43036 2009-05-02  Jim Meyering  <meyering@redhat.com>
43037
43038         build: ensure that a release build fails when a submodule is unclean
43039         * top/maint.mk (no-submodule-changes): New rule.
43040         (alpha beta major): Depend on it.
43041
43042 2009-05-02  Bruno Haible  <bruno@clisp.org>
43043
43044         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
43045         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
43046         shell variable gl_fnmatch_required to detect which variant is
43047         requested.
43048         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
43049         gl_FUNC_FNMATCH_POSIX.
43050         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
43051         exclude fnmatch-posix.
43052
43053 2009-05-02  Bruno Haible  <bruno@clisp.org>
43054
43055         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
43056         * modules/mbsrtowcs (License): Change to LGPLv2+.
43057         * modules/strnlen1 (License): Likewise.
43058         Reported by Simon Josefsson.
43059
43060 2009-05-02  Bruno Haible  <bruno@clisp.org>
43061
43062         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
43063         "cross".
43064         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
43065         gnulib-tool was called with option --source-base=lib.
43066
43067 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43068
43069         Use automake *-local hooks without commands, for extensibility.
43070         * modules/localcharset (Makefile.am): Rename install-exec-local
43071         rule to install-exec-localcharset, and make it a prerequisite of
43072         install-exec-local.  Likewise, rename the uninstall-local rule to
43073         uninstall-localcharset, and make it a prerequisite of the former.
43074
43075 2009-05-01  Bruno Haible  <bruno@clisp.org>
43076
43077         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
43078         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43079         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
43080         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
43081         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
43082         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43083         m4/locale-zh.m4, m4/codeset.m4.
43084
43085         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43086         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
43087         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43088         m4/locale-zh.m4.
43089
43090         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
43091         REPLACE_WCRTOMB if mbstate_t must be replaced.
43092         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
43093         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
43094
43095 2009-05-01  Bruno Haible  <bruno@clisp.org>
43096
43097         Avoid compiler warnings when redefining macros defined by <libintl.h>.
43098         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
43099         dngettext, dcngettext, textdomain, bindtextdomain,
43100         bind_textdomain_codeset): Undefine before redefining.
43101
43102 2009-04-30  Bruno Haible  <bruno@clisp.org>
43103
43104         Fix bug introduced on 2009-04-25.
43105         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
43106         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
43107         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
43108         is defined.
43109         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
43110         is defined.
43111         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
43112         is defined.
43113         Reported by Elbert_Pol <elbert.pol@gmail.com>.
43114
43115 2009-04-28  Bruno Haible  <bruno@clisp.org>
43116
43117         Comment tweaks.
43118         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
43119         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
43120         * lib/unicase.h (u*_casexfrm): Likewise.
43121         Reported by Paolo Bonzini.
43122
43123 2009-04-28  Bruno Haible  <bruno@clisp.org>
43124
43125         Fix a compilation error.
43126         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
43127         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
43128         Reported by Jim Meyering.
43129
43130 2009-04-27  Bruno Haible  <bruno@clisp.org>
43131
43132         New module 'libunistring'.
43133         * modules/libunistring: New file.
43134         * m4/libunistring.m4: New file.
43135         * MODULES.html.sh (Unicode string functions): Add it.
43136
43137 2009-04-27  Eric Blake  <ebb9@byu.net>
43138
43139         maint.mk: allow package-specific header to provide <config.h>
43140         * top/maint.mk (sc_require_config_h): New variable.
43141         (sc_require_config_h, sc_require_config_h_first): Use it.
43142
43143 2009-04-27  Simon Josefsson  <simon@josefsson.org>
43144
43145         * top/maint.mk (sc_avoid_if_before_free): Except
43146         useless-if-before-free script.
43147
43148 2009-04-27  Eric Blake  <ebb9@byu.net>
43149
43150         maintainer-makefile: depend on all required helper scripts
43151         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
43152         useless-if-before-free.
43153         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
43154         version, rather than assuming gnulib checkout is available.
43155         Reported by Simen Josefsson.
43156
43157 2009-04-26  Bruno Haible  <bruno@clisp.org>
43158
43159         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
43160         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
43161         "../" or "..".
43162
43163 2009-04-26  Bruno Haible  <bruno@clisp.org>
43164
43165         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
43166         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
43167         AC_LIB_HAVE_LINKFLAGS.
43168
43169 2009-04-26  Bruno Haible  <bruno@clisp.org>
43170
43171         Simplify calling convention of u*_conv_from_encoding.
43172         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
43173         u32_conv_from_encoding): Expect a resultbuf argument and return the
43174         result directly as a pointer.
43175         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
43176         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
43177         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
43178         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
43179         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
43180         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43181         Update.
43182         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
43183         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
43184         * lib/vasnprintf.c (VASNPRINTF): Update.
43185         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
43186         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
43187         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
43188         * NEWS: Mention the change.
43189
43190 2009-04-26  Bruno Haible  <bruno@clisp.org>
43191
43192         Simplify calling convention of u*_conv_to_encoding.
43193         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
43194         u32_conv_to_encoding): Expect a resultbuf argument and return the
43195         result directly as a pointer.
43196         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43197         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
43198         freeing scaled_offsets if mem_iconveha failed.
43199         * lib/unicase/u-casexfrm.h (FUNC): Update.
43200         * lib/uninorm/u-normxfrm.h (FUNC): Update.
43201         * lib/vasnprintf.c (VASNPRINTF): Update.
43202         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
43203         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
43204         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
43205         * NEWS: Mention the change.
43206
43207 2009-04-26  Bruno Haible  <bruno@clisp.org>
43208
43209         Avoid test failures on AIX and OSF/1.
43210         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
43211         malloc(0).
43212         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43213         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43214         Likewise.
43215         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
43216         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
43217         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
43218         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
43219         * doc/posix-functions/malloc.texi: Document the portability problem
43220         related to malloc(0).
43221
43222 2009-04-26  Bruno Haible  <bruno@clisp.org>
43223
43224         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
43225         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
43226         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
43227
43228 2009-04-25  Bruno Haible  <bruno@clisp.org>
43229
43230         Avoid link error when creating a namespace clean library.
43231         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
43232         as macro with arguments if already defined as an alias.
43233         * lib/signbitf.c (gl_signbitf): Don't undefine.
43234         * lib/signbitd.c (gl_signbitd): Don't undefine.
43235         * lib/signbitl.c (gl_signbitl): Don't undefine.
43236
43237 2009-04-25  Jim Meyering  <meyering@redhat.com>
43238
43239         vc-list-files: fix another quoting bug
43240         * build-aux/vc-list-files: Avoid sed backslash expansion
43241         of pathological directory names.
43242
43243 2009-04-25  Eric Blake  <ebb9@byu.net>
43244
43245         vc-list-files: fix shell quoting error
43246         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
43247         timestamp.
43248
43249 2009-04-25  Jim Meyering  <meyering@redhat.com>
43250
43251         vc-list-files: restore lost functionality with subdir argument
43252         * build-aux/vc-list-files: When given a non-"." sub-directory
43253         argument, substitute the $dir/ prefix back onto each resulting name.
43254         Otherwise, coreutils' root_tests check would fail.
43255
43256 2009-04-24  Eric Blake  <ebb9@byu.net>
43257
43258         vc-list-files: ignore git symlinks
43259         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
43260         than ls-files, to ignore git symlinks.
43261
43262         maint.mk: import improvements from m4
43263         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
43264         (move_if_change): Delete unused macro.
43265         (news-date-check, vc-diff-check): Support VPATH builds.
43266         (announcement): Likewise.  Split --bootstrap-tools list...
43267         (boostrap-tools): ...into separate list, which can be overridden
43268         in cfg.mk.
43269         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
43270         requiring dependency on useless-if-before-free module.
43271         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
43272         Support VPATH builds.
43273
43274 2009-04-24  Jim Meyering  <meyering@redhat.com>
43275
43276         maint.mk: remove coreutils-specific rules and variables
43277         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
43278         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
43279         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
43280
43281         maint.mk: remove obsolete rule
43282         * top/maint.mk (rel-check): Remove rule.
43283         (WGET, WGETFLAGS): Remove now-unused variables.
43284
43285 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43286
43287         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
43288         consistency.
43289
43290         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
43291         '$(PATH_SEPARATOR)' instead of ':'.
43292
43293 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43294
43295         * lib/getopt1.c (main): Use 'const' for static array.
43296
43297 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43298
43299         * top/maint.mk: Sync with coreutils.
43300         * NEWS: Explain incompatibilities.
43301
43302 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43303             Bruno Haible  <bruno@clisp.org>
43304
43305         Fix cross-compilation results.
43306         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
43307         statement, as third argument of AC_TRY_RUN.
43308         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
43309         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
43310         Likewise.
43311         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
43312         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
43313         Likewise.
43314         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
43315         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
43316         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
43317
43318 2009-04-20  Bruno Haible  <bruno@clisp.org>
43319
43320         Avoid test failure on mingw.
43321         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
43322
43323 2009-04-20  Bruno Haible  <bruno@clisp.org>
43324
43325         Avoid compilation error on mingw.
43326         * modules/localename-tests (Depends-on): Add locale.
43327
43328 2009-04-19  Bruno Haible  <bruno@clisp.org>
43329
43330         Support for building a shared library on Windows platforms.
43331         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
43332         (main): Test the presence of UNINORM_NFC here.
43333         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
43334         (main): Test the presence of UNINORM_NFD here.
43335         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
43336         (main): Test the presence of UNINORM_NFKC here.
43337         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
43338         (main): Test the presence of UNINORM_NFKD here.
43339
43340 2009-04-19  Bruno Haible  <bruno@clisp.org>
43341
43342         Avoid a compiler warning.
43343         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
43344         Change type of variable 'sequence'.
43345
43346 2009-04-19  Bruno Haible  <bruno@clisp.org>
43347
43348         * modules/configmake (Makefile.am): When the contents of configmake.h
43349         does not change, arrange to preserve its modification time.
43350
43351 2009-04-17  Simon Josefsson  <simon@josefsson.org>
43352
43353         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
43354         gettext domain.
43355
43356 2009-04-16  Jim Meyering  <meyering@redhat.com>
43357
43358         useless-if-before-free: improve conversion code
43359         * build-aux/useless-if-before-free: Adjust code-in-comment to match
43360         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
43361
43362 2009-04-14  Bruno Haible  <bruno@clisp.org>
43363
43364         * modules/fcntl (Depends-on): Add extensions.
43365         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
43366
43367 2009-04-12  Ben Pfaff  <blp@gnu.org>
43368
43369         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
43370         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
43371
43372 2009-03-20  Ben Pfaff  <blp@gnu.org>
43373
43374         Make rename replace existing destinations on Windows.
43375         * m4/rename.m4: Add test for Mingw.
43376         * lib/rename.c: Add rename replacement that uses MoveFileEx with
43377         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
43378         * doc/posix-functions/rename.texi: Document.
43379
43380 2009-04-10  Bruno Haible  <bruno@clisp.org>
43381
43382         New include file "iconveh.h".
43383         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
43384         * lib/striconveh.h: Include it.
43385         (enum iconv_ilseq_handler): Remove definition.
43386         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
43387         striconveh.h.
43388         * lib/striconveha.c: Include striconveh.h.
43389         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
43390         * modules/striconveh (Files): Add lib/iconveh.h.
43391         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
43392         lib/striconveh.h.
43393
43394 2009-04-10  Bruno Haible  <bruno@clisp.org>
43395
43396         * lib/uniconv.h: Update comment.
43397
43398 2009-04-10  Bruno Haible  <bruno@clisp.org>
43399
43400         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
43401         always.
43402         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
43403         * lib/unistr/u16-mbtouc-aux.c: Likewise.
43404         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
43405         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
43406         "unistring-notinline.h", so that the function gets defined always.
43407         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
43408         * lib/unistr/u8-uctomb.c: Likewise.
43409         * lib/unistr/u16-mbtouc.c: Likewise.
43410         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
43411         * lib/unistr/u16-uctomb.c: Likewise.
43412         * lib/unistr/u32-mbtouc.c: Likewise.
43413         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
43414         * lib/unistr/u32-uctomb.c: Likewise.
43415
43416 2009-04-10  Bruno Haible  <bruno@clisp.org>
43417
43418         Mark 'utime' obsolete.
43419         * modules/utime (Status, Notice): New sections.
43420         Suggested by Jim Meyering.
43421
43422         Fix cross-compile guess for utime test.
43423         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
43424         autoconf.
43425         * doc/posix-functions/utime.texi: Give more precisions.
43426         Reported by Jan <ipif@ymail.com>.
43427
43428 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
43429
43430         filevercmp: correct today's change
43431         * lib/filevercmp.c: Also handle coreutils' test inputs.
43432         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
43433
43434         Fix regression in 'filevercmp' module. Thanks Sven Joachim
43435         for reporting it.
43436         * lib/filevercmp.c: Special handle for "", "." and "..".
43437         * tests/test-filevercmp.c: Enlarge the set suite.
43438
43439 2009-04-07  Jim Meyering  <meyering@redhat.com>
43440
43441         useless-if-before-free: show how to remove braced useless free, too
43442         * build-aux/useless-if-before-free: still only in a comment, though.
43443
43444 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
43445
43446         maint.mk: import changes to syntax-check macros from coreutils
43447         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
43448         Use them in the relevant macros.
43449
43450 2009-04-06  Bruno Haible  <bruno@clisp.org>
43451
43452         Fix unportable use of bit-fields.
43453         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
43454         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
43455         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
43456
43457 2009-04-06  Bruno Haible  <bruno@clisp.org>
43458
43459         Avoid test failures on AIX and OSF/1.
43460         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
43461         that malloc(0) = NULL.
43462         * tests/unicase/test-u8-tolower.c (check): Likewise.
43463         * tests/unicase/test-u8-totitle.c (check): Likewise.
43464         * tests/unicase/test-u8-toupper.c (check): Likewise.
43465         * tests/unicase/test-u16-casefold.c (check): Likewise.
43466         * tests/unicase/test-u16-tolower.c (check): Likewise.
43467         * tests/unicase/test-u16-totitle.c (check): Likewise.
43468         * tests/unicase/test-u16-toupper.c (check): Likewise.
43469         * tests/unicase/test-u32-casefold.c (check): Likewise.
43470         * tests/unicase/test-u32-tolower.c (check): Likewise.
43471         * tests/unicase/test-u32-totitle.c (check): Likewise.
43472         * tests/unicase/test-u32-toupper.c (check): Likewise.
43473         * tests/uninorm/test-u8-nfc.c (check): Likewise.
43474         * tests/uninorm/test-u8-nfd.c (check): Likewise.
43475         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
43476         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
43477         * tests/uninorm/test-u16-nfc.c (check): Likewise.
43478         * tests/uninorm/test-u16-nfd.c (check): Likewise.
43479         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
43480         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
43481         * tests/uninorm/test-u32-nfc.c (check): Likewise.
43482         * tests/uninorm/test-u32-nfd.c (check): Likewise.
43483         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
43484         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
43485
43486 2009-04-05  Bruno Haible  <bruno@clisp.org>
43487
43488         Work around an autoconf limitation.
43489         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
43490         comment line if it would be longer than 3 KB.
43491
43492 2009-04-05  Bruno Haible  <bruno@clisp.org>
43493
43494         Avoid test failure with libiconv-1.13.
43495         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
43496         of the expected test results.
43497
43498 2009-04-05  Bruno Haible  <bruno@clisp.org>
43499
43500         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
43501         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
43502         that it should be installed.
43503
43504 2009-04-05  Bruno Haible  <bruno@clisp.org>
43505
43506         * gnulib-tool: New option --copy-file.
43507         (func_usage): Document it.
43508         (func_dest_tmpfilename): Moved out of func_import.
43509         (func_add_file, func_update_file): New functions, extracted from
43510         func_import.
43511         (func_import): Update.
43512
43513 2009-04-05  Karl Berry  <karl@gnu.org>
43514
43515         * README: prominently mention gnulib-tool.
43516         Rearrange sections so getting the code is near the top.
43517
43518 2009-04-05  Bruno Haible  <bruno@clisp.org>
43519
43520         * lib/unicase.h: Mention u*_cmp2.
43521         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43522         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
43523         * lib/unicase/ulc-casecmp.c: Likewise.
43524         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
43525         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
43526         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
43527         unistr/u8-cmp.
43528         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
43529         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
43530         unistr/u16-cmp.
43531         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
43532         unistr/u32-cmp.
43533
43534         * lib/uninorm.h: Mention u*_cmp2.
43535         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43536         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
43537         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
43538         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
43539         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
43540         unistr/u8-cmp.
43541         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
43542         unistr/u16-cmp.
43543         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
43544         unistr/u32-cmp.
43545
43546         New module 'unistr/u32-cmp2'.
43547         * lib/unistr/u32-cmp2.c: New file.
43548         * modules/unistr/u32-cmp2: New file.
43549
43550         New module 'unistr/u16-cmp2'.
43551         * lib/unistr/u16-cmp2.c: New file.
43552         * modules/unistr/u16-cmp2: New file.
43553
43554         New module 'unistr/u8-cmp2'.
43555         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
43556         * lib/unistr/u8-cmp2.c: New file.
43557         * lib/unistr/u-cmp2.h: New file.
43558         * modules/unistr/u8-cmp2: New file.
43559
43560 2009-04-05  Bruno Haible  <bruno@clisp.org>
43561
43562         * lib/unictype.h (uc_property_is_valid): New macro.
43563         * tests/unictype/test-pr_byname.c (main): Use it.
43564
43565         * lib/unistr.h: Doc fixes.
43566         * lib/uniconv.h: Doc fixes.
43567         * lib/unictype.h: Doc fixes.
43568
43569 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
43570
43571         Port coreutils 7.2 to Solaris 8.
43572
43573         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
43574         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
43575         for Solaris 8.  This is a bit of a hack, as it means it's the
43576         caller's responsibility to add -lnsl if needed, but most likely it
43577         won't be needed since only getaddrinfo uses this and getaddrinfo
43578         isn't needed on Solaris 8.
43579
43580         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
43581         problem to Solaris 8 encountered with coreutils 7.2, which
43582         resulted in a message "fnmatch.c:292: warning: passing argument 4
43583         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
43584         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
43585
43586 2009-04-03  Simon Josefsson  <simon@josefsson.org>
43587
43588         * m4/ld-version-script.m4: Add FIXME comment.
43589
43590 2009-04-02  Simon Josefsson  <simon@josefsson.org>
43591
43592         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
43593         SOVERSION variable.
43594
43595 2009-04-02  Bruno Haible  <bruno@clisp.org>
43596
43597         * Makefile (info, html, dvi, pdf): Combine the rules.
43598         Suggested by Jim Meyering.
43599
43600 2009-04-01  Bruno Haible  <bruno@clisp.org>
43601
43602         * Makefile (info, html, dvi, pdf): New targets.
43603         Reported by Reuben Thomas <rrt@sc3d.org>.
43604
43605 2009-04-01  Bruno Haible  <bruno@clisp.org>
43606
43607         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
43608         can be put into PATH.
43609         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
43610
43611 2009-04-01  Bruno Haible  <bruno@clisp.org>
43612
43613         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
43614
43615 2009-04-01  Bruno Haible  <bruno@clisp.org>
43616
43617         Rename module 'visibility'.
43618         * modules/lib-symbol-visibility: Renamed from modules/visibility.
43619         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
43620         * doc/gnulib.texi: Update.
43621         * MODULES.html.sh (Misc): Update.
43622         * NEWS: Mention the change.
43623
43624 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43625
43626         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
43627         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
43628         Eric Blake <ebb9@byu.net> for review.
43629         * MODULES.html.sh: Add lib-msvc-compat.
43630         * doc/gnulib.texi: Link to new section.
43631         * m4/ld-output-def.m4: New file.
43632         * doc/ld-output-def.texi: New file.
43633
43634 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43635
43636         Rename ld-version-script to lib-symbol-versions.  Suggested by
43637         Bruno Haible <bruno@clisp.org>.
43638         * modules/ld-version-script: Renamed to lib-symbol-versions.
43639         * doc/ld-version-script.texi: Fix module name.
43640         * MODULES.html.sh: Add lib-symbol-versions.
43641
43642 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43643
43644         * modules/u64-tests: New file.
43645         * tests/test-u64.c: New file.
43646
43647 2009-03-04  Simon Josefsson  <simon@josefsson.org>
43648
43649         * MODULES.html.sh: Mention u64.
43650         * modules/u64: New module.
43651         * modules/crypto/sha512: Depend on u64 module instead of providing
43652         u64.h.
43653
43654 2009-03-27  Eric Blake  <ebb9@byu.net>
43655
43656         test-strerror: make debugging EAI_SYSTEM easier
43657         * modules/getaddrinfo-tests (Depends-on): Add strerror.
43658         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
43659         failure was EAI_SYSTEM.
43660
43661 2009-03-25  Bruno Haible  <bruno@clisp.org>
43662
43663         Fix a problem with --enable-relocatable on Solaris 7.
43664         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
43665         since 2008-02-24.
43666
43667 2009-03-25  Eric Blake  <ebb9@byu.net>
43668
43669         test-sockets: avoid gcc warning
43670         * tests/test-sockets.c (main): Silence compiler warning.
43671
43672 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
43673
43674         New modules nproc, pthread, contributed by Glen Lenker.
43675
43676         * MODULES.html.sh: Add pthread, nproc.
43677         * lib/nproc.c: New file.
43678         * lib/nproc.h: New file.
43679         * lib/pthread.in.h: New file.
43680         * m4/pthread.m4: New file.
43681         * modules/nproc: New file.
43682         * modules/pthread: New file.
43683
43684 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43685
43686         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
43687         New variable.
43688
43689 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
43690
43691         filevercmp: handle simple~ and numbered.~3~ backup suffixes
43692         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
43693         * tests/test-filevercmp.c: Add tests for backup suffixes.
43694
43695 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43696
43697         * modules/stdlib (Depends-on): Add stdint, needed when defining
43698         struct random_data on, for example, HP-UX 10.20.  Reported by
43699         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43700
43701 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43702
43703         * lib/readline.c (readline): Call fflush on stdout after printing
43704         prompt.
43705
43706 2009-03-20  Bruno Haible  <bruno@clisp.org>
43707
43708         Remove dependency from 'close' module to -lws2_32 on native Windows.
43709         * lib/close-hook.h: New file.
43710         * lib/close-hook.c: New file.
43711         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
43712         w32sock.h.
43713         (_gl_close_fd_maybe_socket): Remove function.
43714         (rpl_close): Invoke execute_all_close_hooks instead of
43715         _gl_close_fd_maybe_socket.
43716         * lib/sockets.c: Include close-hook.h, w32sock.h.
43717         (close_fd_maybe_socket): New function, essentially from lib/close.c.
43718         (close_sockets_hook): New variable.
43719         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
43720         (gl_sockets_cleanup): Unregister it.
43721         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
43722         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
43723         * modules/close-hook: New file.
43724         * modules/close (Files): Remove lib/w32sock.h.
43725         (Depends-on): Add close-hook.
43726         (Link): Remove section.
43727         * modules/sockets (Files): Add lib/w32sock.h.
43728         (Depends-on): Add close-hook.
43729         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
43730         invocation.
43731         * NEWS: Mention that LIB_CLOSE is gone.
43732
43733 2009-03-23  Eric Blake  <ebb9@byu.net>
43734
43735         signal-tests: test previous patch
43736         * tests/test-signal.c: New file.
43737         * modules/signal-tests: Likewise.
43738
43739         signal.h: always support 'volatile sig_atomic_t'
43740         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
43741         (gl_SIGNAL_H_DEFAULTS): Add a default.
43742         * modules/signal (Makefile.am): Substitute if needed.
43743         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
43744         users can blindly add volatile.
43745         * doc/posix-headers/signal.texi (signal.h): Document it.
43746         Reported by Matthew Woehlke.
43747
43748 2009-03-23  Jim Meyering  <meyering@redhat.com>
43749
43750         pathmax: PATH_MAX: use pathconf only when available
43751         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
43752         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
43753         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
43754         This avoids a link failure in a PSP cross-compilation environment
43755         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
43756
43757         * lib/vasnprintf.c (divide): Fix typo in comment.
43758
43759 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43760
43761         * gnulib-tool (func_filter_filelist): Fix comment.
43762
43763 2009-03-20  Bruno Haible  <bruno@clisp.org>
43764
43765         Make sockets.h self-contained.
43766         * lib/sockets.c: Include sockets.h first.
43767         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
43768
43769 2009-03-19  Eric Blake  <ebb9@byu.net>
43770
43771         doc: mention more functions added in cygwin 1.7.0
43772         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
43773         addition.
43774         * doc/posix-functions/log2f.texi: Likewise.
43775
43776 2009-03-19  Jim Meyering  <meyering@redhat.com>
43777
43778         fsusage: avoid syntax error due to statement-before-declaration
43779         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
43780         after all declarations.  Reported by Matthew Woehlke in
43781         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
43782
43783 2009-03-18  Eric Blake  <ebb9@byu.net>
43784
43785         build-aux/compile: sync from automake
43786         * build-aux/compile: New file, from automake.
43787         * config/srclist.txt: Mention build-aux/compile.
43788
43789 2009-03-17  Bruno Haible  <bruno@clisp.org>
43790
43791         * lib/git-merge-changelog.c: Fix typo in comment.
43792         Reported by Reuben Thomas <rrt@sc3d.org>.
43793
43794 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
43795
43796         * m4/regex.m4: update and improve help for
43797         --without-included-regex.
43798
43799 2009-03-17  Simon Josefsson  <simon@josefsson.org>
43800
43801         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
43802         failure on missing include files.
43803
43804 2009-03-17  Eric Blake  <ebb9@byu.net>
43805
43806         doc: mention more functions added in cygwin 1.7.0
43807         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
43808         addition.
43809         * doc/posix-functions/fwscanf.texi: Likewise.
43810         * doc/posix-functions/swprintf.texi: Likewise.
43811         * doc/posix-functions/swscanf.texi: Likewise.
43812         * doc/posix-functions/vfwprintf.texi: Likewise.
43813         * doc/posix-functions/vfwscanf.texi: Likewise.
43814         * doc/posix-functions/vswprintf.texi: Likewise.
43815         * doc/posix-functions/vswscanf.texi: Likewise.
43816         * doc/posix-functions/vwprintf.texi: Likewise.
43817         * doc/posix-functions/vwscanf.texi: Likewise.
43818         * doc/posix-functions/wcscasecmp.texi: Likewise.
43819         * doc/posix-functions/wcsdup.texi: Likewise.
43820         * doc/posix-functions/wcsftime.texi: Likewise.
43821         * doc/posix-functions/wcsncasecmp.texi: Likewise.
43822         * doc/posix-functions/wprintf.texi: Likewise.
43823         * doc/posix-functions/wscanf.texi: Likewise.
43824         * doc/glibc-functions/gethostbyname2.texi: Likewise.
43825
43826 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43827
43828         maint.mk: really add $(AM_MAKEFLAGS)
43829         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
43830         was inadvertently omitted in the last commit.
43831         Spotted by Bruno Haible.
43832
43833         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
43834         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
43835         $(AM_MAKEFLAGS)' rather than plain `make'.
43836
43837         gnulib-tool: execute $MAKE not make
43838         * gnulib-tool: Default $MAKE to 'make'.
43839         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
43840         than make.  Initialize $MAKE in the do-autobuild script.
43841
43842         gnulib-tool: use $MAKE not make in generated files
43843         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
43844         make, in generated files.  Initialize $MAKE in the do-autobuild
43845         script.
43846
43847         * top/GNUmakefile (_have-git-version-gen): Fix typo.
43848
43849         GNUmakefile: disable parallelism only for multiple, recursive targets
43850         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
43851         additions in the Makefile.
43852         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
43853         by Automake.
43854         (.NOTPARALLEL): Only disable parallel builds if multiple targets
43855         are listed on the command line and at least one of them is
43856         listed in $(ALL_RECURSIVE_TARGETS).
43857
43858 2009-03-14  Bruno Haible  <bruno@clisp.org>
43859
43860         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
43861         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
43862         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
43863         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
43864         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
43865         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
43866         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
43867         unistr/u8-uctomb.
43868         * modules/unistr/u8-strchr (Depends-on): Likewise.
43869         * modules/unistr/u8-strrchr (Depends-on): Likewise.
43870         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
43871         unistr/u16-uctomb.
43872         * modules/unistr/u16-strchr (Depends-on): Likewise.
43873         * modules/unistr/u16-strrchr (Depends-on): Likewise.
43874
43875 2009-03-12  Bruno Haible  <bruno@clisp.org>
43876
43877         Work around select() bug on Interix 3.5.
43878         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
43879         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
43880         * m4/select.m4: New file.
43881         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
43882         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
43883         * modules/select (Files): Add m4/select.m4.
43884         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
43885         * modules/nanosleep (Depends-on): Add select.
43886         * modules/poll (Depends-on): Likewise.
43887         * doc/posix-functions/select.texi: Mention the Interix bug.
43888         Reported by Markus Duft <mduft@gentoo.org>.
43889
43890         * lib/select.c: Renamed from lib/winsock-select.c.
43891         * modules/select (Files): Add lib/select.c, remove
43892         lib/winsock-select.c.
43893         (configure.ac): Update.
43894
43895 2009-03-12  Jim Meyering  <meyering@redhat.com>
43896
43897         avoid gcc warnings about unused macro definitions
43898         * lib/readtokens.c (STREQ): Remove unused definition.
43899         * lib/xmalloc.c (SIZE_MAX): Likewise.
43900         * lib/openat-die.c (N_): Likewise.
43901         * lib/mountlist.c (SIZE_MAX): Remove definition.
43902         Instead, include <stdint.h>.
43903         * lib/readutmp.c: Likewise.
43904         * modules/readutmp (Depends-on): Add stdint.
43905         * modules/mountlist (Depends-on): Add stdint.
43906         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
43907
43908 2009-03-10  Bruno Haible  <bruno@clisp.org>
43909
43910         Tests for module 'mbmemcasecoll'.
43911         * modules/mbmemcasecoll-tests: New file.
43912         * tests/test-mbmemcasecoll1.sh: New file.
43913         * tests/test-mbmemcasecoll2.sh: New file.
43914         * tests/test-mbmemcasecoll3.sh: New file.
43915         * tests/test-mbmemcasecoll.c: New file.
43916
43917         New module 'mbmemcasecoll'.
43918         * lib/mbmemcasecoll.h: New file.
43919         * lib/mbmemcasecoll.c: New file.
43920         * modules/mbmemcasecoll: New file.
43921
43922         * tests/test-mbmemcasecmp.h: New file, extracted from
43923         tests/test-mbmemcasecmp.c.
43924         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
43925         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
43926         (main): Update.
43927         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
43928
43929 2009-03-09  Bruno Haible  <bruno@clisp.org>
43930
43931         Tests for module 'mbmemcasecmp'.
43932         * modules/mbmemcasecmp-tests: New file.
43933         * tests/test-mbmemcasecmp1.sh: New file.
43934         * tests/test-mbmemcasecmp2.sh: New file.
43935         * tests/test-mbmemcasecmp3.sh: New file.
43936         * tests/test-mbmemcasecmp.c: New file.
43937
43938         New module 'mbmemcasecmp'.
43939         * lib/mbmemcasecmp.h: New file.
43940         * lib/mbmemcasecmp.c: New file.
43941         * modules/mbmemcasecmp: New file.
43942
43943 2009-03-09  Bruno Haible  <bruno@clisp.org>
43944
43945         Tests for module 'unicase/ulc-casecoll'.
43946         * modules/unicase/ulc-casecoll-tests: New file.
43947         * tests/unicase/test-ulc-casecoll1.sh: New file.
43948         * tests/unicase/test-ulc-casecoll2.sh: New file.
43949         * tests/unicase/test-ulc-casecoll.c: New file.
43950
43951         New module 'unicase/ulc-casecoll'.
43952         * lib/unicase.h (ulc_casecoll): New declaration.
43953         * lib/unicase/ulc-casecoll.c: New file.
43954         * modules/unicase/ulc-casecoll: New file.
43955
43956         New module 'unicase/ulc-casexfrm'.
43957         * lib/unicase.h (ulc_casexfrm): New declaration.
43958         * lib/unicase/ulc-casexfrm.c: New file.
43959         * modules/unicase/ulc-casexfrm: New file.
43960
43961 2009-03-09  Bruno Haible  <bruno@clisp.org>
43962
43963         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
43964         invocations.
43965
43966         * m4/mbscasecmp.m4: Remove file.
43967         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
43968         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
43969
43970         * m4/mbscasestr.m4: Remove file.
43971         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
43972         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
43973
43974         * m4/mbschr.m4: Remove file.
43975         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
43976         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
43977
43978         * m4/mbscspn.m4: Remove file.
43979         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
43980         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
43981
43982         * m4/mbslen.m4: Remove file.
43983         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
43984         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
43985
43986         * m4/mbsncasecmp.m4: Remove file.
43987         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
43988         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
43989
43990         * m4/mbsnlen.m4: Remove file.
43991         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
43992         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
43993
43994         * m4/mbspbrk.m4: Remove file.
43995         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
43996         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
43997
43998         * m4/mbspcasecmp.m4: Remove file.
43999         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
44000         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
44001
44002         * m4/mbsrchr.m4: Remove file.
44003         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
44004         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
44005
44006         * m4/mbssep.m4: Remove file.
44007         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
44008         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
44009
44010         * m4/mbsspn.m4: Remove file.
44011         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
44012         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
44013
44014         * m4/mbsstr.m4: Remove file.
44015         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
44016         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
44017
44018         * m4/mbstok_r.m4: Remove file.
44019         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
44020         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
44021
44022         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
44023
44024         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
44025         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
44026
44027         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
44028
44029 2009-03-08  Bruno Haible  <bruno@clisp.org>
44030
44031         Tests for module 'unicase/ulc-casecmp'.
44032         * modules/unicase/ulc-casecmp-tests: New file.
44033         * tests/unicase/test-ulc-casecmp1.sh: New file.
44034         * tests/unicase/test-ulc-casecmp2.sh: New file.
44035         * tests/unicase/test-ulc-casecmp.c: New file.
44036
44037         New module 'unicase/ulc-casecmp'.
44038         * lib/unicase.h (ulc_casecmp): New declaration.
44039         * lib/unicase/ulc-casecmp.c: New file.
44040         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
44041         'const SRC_UNIT *'.
44042         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
44043         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
44044         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
44045         * modules/unicase/ulc-casecmp: New file.
44046
44047         Tests for module 'unicase/u32-is-cased'.
44048         * modules/unicase/u32-is-cased-tests: New file.
44049         * tests/unicase/test-u32-is-cased.c: New file.
44050
44051         Tests for module 'unicase/u16-is-cased'.
44052         * modules/unicase/u16-is-cased-tests: New file.
44053         * tests/unicase/test-u16-is-cased.c: New file.
44054
44055         Tests for module 'unicase/u8-is-cased'.
44056         * modules/unicase/u8-is-cased-tests: New file.
44057         * tests/unicase/test-u8-is-cased.c: New file.
44058         * tests/unicase/test-is-cased.h: New file.
44059
44060         New module 'unicase/u32-is-cased'.
44061         * lib/unicase/u32-is-cased.c: New file.
44062         * modules/unicase/u32-is-cased: New file.
44063
44064         New module 'unicase/u16-is-cased'.
44065         * lib/unicase/u16-is-cased.c: New file.
44066         * modules/unicase/u16-is-cased: New file.
44067
44068         New module 'unicase/u8-is-cased'.
44069         * lib/unicase/u8-is-cased.c: New file.
44070         * lib/unicase/u-is-cased.h: New file.
44071         * modules/unicase/u8-is-cased: New file.
44072
44073         Tests for module 'unicase/u32-is-casefolded'.
44074         * modules/unicase/u32-is-casefolded-tests: New file.
44075         * tests/unicase/test-u32-is-casefolded.c: New file.
44076
44077         Tests for module 'unicase/u16-is-casefolded'.
44078         * modules/unicase/u16-is-casefolded-tests: New file.
44079         * tests/unicase/test-u16-is-casefolded.c: New file.
44080
44081         Tests for module 'unicase/u8-is-casefolded'.
44082         * modules/unicase/u8-is-casefolded-tests: New file.
44083         * tests/unicase/test-u8-is-casefolded.c: New file.
44084         * tests/unicase/test-is-casefolded.h: New file.
44085
44086         New module 'unicase/u32-is-casefolded'.
44087         * lib/unicase/u32-is-casefolded.c: New file.
44088         * modules/unicase/u32-is-casefolded: New file.
44089
44090         New module 'unicase/u16-is-casefolded'.
44091         * lib/unicase/u16-is-casefolded.c: New file.
44092         * modules/unicase/u16-is-casefolded: New file.
44093
44094         New module 'unicase/u8-is-casefolded'.
44095         * lib/unicase/u8-is-casefolded.c: New file.
44096         * modules/unicase/u8-is-casefolded: New file.
44097
44098         Tests for module 'unicase/u32-is-titlecase'.
44099         * modules/unicase/u32-is-titlecase-tests: New file.
44100         * tests/unicase/test-u32-is-titlecase.c: New file.
44101
44102         Tests for module 'unicase/u16-is-titlecase'.
44103         * modules/unicase/u16-is-titlecase-tests: New file.
44104         * tests/unicase/test-u16-is-titlecase.c: New file.
44105
44106         Tests for module 'unicase/u8-is-titlecase'.
44107         * modules/unicase/u8-is-titlecase-tests: New file.
44108         * tests/unicase/test-u8-is-titlecase.c: New file.
44109         * tests/unicase/test-is-titlecase.h: New file.
44110
44111         New module 'unicase/u32-is-titlecase'.
44112         * lib/unicase/u32-is-titlecase.c: New file.
44113         * modules/unicase/u32-is-titlecase: New file.
44114
44115         New module 'unicase/u16-is-titlecase'.
44116         * lib/unicase/u16-is-titlecase.c: New file.
44117         * modules/unicase/u16-is-titlecase: New file.
44118
44119         New module 'unicase/u8-is-titlecase'.
44120         * lib/unicase/u8-is-titlecase.c: New file.
44121         * modules/unicase/u8-is-titlecase: New file.
44122
44123         Tests for module 'unicase/u32-is-lowercase'.
44124         * modules/unicase/u32-is-lowercase-tests: New file.
44125         * tests/unicase/test-u32-is-lowercase.c: New file.
44126
44127         Tests for module 'unicase/u16-is-lowercase'.
44128         * modules/unicase/u16-is-lowercase-tests: New file.
44129         * tests/unicase/test-u16-is-lowercase.c: New file.
44130
44131         Tests for module 'unicase/u8-is-lowercase'.
44132         * modules/unicase/u8-is-lowercase-tests: New file.
44133         * tests/unicase/test-u8-is-lowercase.c: New file.
44134         * tests/unicase/test-is-lowercase.h: New file.
44135
44136         New module 'unicase/u32-is-lowercase'.
44137         * lib/unicase/u32-is-lowercase.c: New file.
44138         * modules/unicase/u32-is-lowercase: New file.
44139
44140         New module 'unicase/u16-is-lowercase'.
44141         * lib/unicase/u16-is-lowercase.c: New file.
44142         * modules/unicase/u16-is-lowercase: New file.
44143
44144         New module 'unicase/u8-is-lowercase'.
44145         * lib/unicase/u8-is-lowercase.c: New file.
44146         * modules/unicase/u8-is-lowercase: New file.
44147
44148         Tests for module 'unicase/u32-is-uppercase'.
44149         * modules/unicase/u32-is-uppercase-tests: New file.
44150         * tests/unicase/test-u32-is-uppercase.c: New file.
44151
44152         Tests for module 'unicase/u16-is-uppercase'.
44153         * modules/unicase/u16-is-uppercase-tests: New file.
44154         * tests/unicase/test-u16-is-uppercase.c: New file.
44155
44156         Tests for module 'unicase/u8-is-uppercase'.
44157         * modules/unicase/u8-is-uppercase-tests: New file.
44158         * tests/unicase/test-u8-is-uppercase.c: New file.
44159         * tests/unicase/test-is-uppercase.h: New file.
44160
44161         New module 'unicase/u32-is-uppercase'.
44162         * lib/unicase/u32-is-uppercase.c: New file.
44163         * modules/unicase/u32-is-uppercase: New file.
44164
44165         New module 'unicase/u16-is-uppercase'.
44166         * lib/unicase/u16-is-uppercase.c: New file.
44167         * modules/unicase/u16-is-uppercase: New file.
44168
44169         New module 'unicase/u8-is-uppercase'.
44170         * lib/unicase/u8-is-uppercase.c: New file.
44171         * modules/unicase/u8-is-uppercase: New file.
44172
44173         New module 'unicase/u32-is-invariant'.
44174         * lib/unicase/u32-is-invariant.c: New file.
44175         * modules/unicase/u32-is-invariant: New file.
44176
44177         New module 'unicase/u16-is-invariant'.
44178         * lib/unicase/u16-is-invariant.c: New file.
44179         * modules/unicase/u16-is-invariant: New file.
44180
44181         New module 'unicase/u8-is-invariant'.
44182         * lib/unicase/u8-is-invariant.c: New file.
44183         * lib/unicase/invariant.h: New file.
44184         * lib/unicase/u-is-invariant.h: New file.
44185         * modules/unicase/u8-is-invariant: New file.
44186
44187         Tests for module 'unicase/u32-casecoll'.
44188         * modules/unicase/u32-casecoll-tests: New file.
44189         * tests/unicase/test-u32-casecoll.c: New file.
44190
44191         Tests for module 'unicase/u16-casecoll'.
44192         * modules/unicase/u16-casecoll-tests: New file.
44193         * tests/unicase/test-u16-casecoll.c: New file.
44194
44195         Tests for module 'unicase/u8-casecoll'.
44196         * modules/unicase/u8-casecoll-tests: New file.
44197         * tests/unicase/test-u8-casecoll.c: New file.
44198
44199         New module 'unicase/u32-casecoll'.
44200         * lib/unicase/u32-casecoll.c: New file.
44201         * modules/unicase/u32-casecoll: New file.
44202
44203         New module 'unicase/u16-casecoll'.
44204         * lib/unicase/u16-casecoll.c: New file.
44205         * modules/unicase/u16-casecoll: New file.
44206
44207         New module 'unicase/u8-casecoll'.
44208         * lib/unicase/u8-casecoll.c: New file.
44209         * lib/unicase/u-casecoll.h: New file.
44210         * modules/unicase/u8-casecoll: New file.
44211
44212         New module 'unicase/u32-casexfrm'.
44213         * lib/unicase/u32-casexfrm.c: New file.
44214         * modules/unicase/u32-casexfrm: New file.
44215
44216         New module 'unicase/u16-casexfrm'.
44217         * lib/unicase/u16-casexfrm.c: New file.
44218         * modules/unicase/u16-casexfrm: New file.
44219
44220         New module 'unicase/u8-casexfrm'.
44221         * lib/unicase/u8-casexfrm.c: New file.
44222         * lib/unicase/u-casexfrm.h: New file.
44223         * modules/unicase/u8-casexfrm: New file.
44224
44225         Tests for module 'unicase/u32-casecmp'.
44226         * modules/unicase/u32-casecmp-tests: New file.
44227         * tests/unicase/test-u32-casecmp.c: New file.
44228
44229         Tests for module 'unicase/u16-casecmp'.
44230         * modules/unicase/u16-casecmp-tests: New file.
44231         * tests/unicase/test-u16-casecmp.c: New file.
44232
44233         Tests for module 'unicase/u8-casecmp'.
44234         * modules/unicase/u8-casecmp-tests: New file.
44235         * tests/unicase/test-u8-casecmp.c: New file.
44236         * tests/unicase/test-casecmp.h: New file.
44237
44238         New module 'unicase/u32-casecmp'.
44239         * lib/unicase/u32-casecmp.c: New file.
44240         * modules/unicase/u32-casecmp: New file.
44241
44242         New module 'unicase/u16-casecmp'.
44243         * lib/unicase/u16-casecmp.c: New file.
44244         * modules/unicase/u16-casecmp: New file.
44245
44246         New module 'unicase/u8-casecmp'.
44247         * lib/unicase/u8-casecmp.c: New file.
44248         * lib/unicase/u-casecmp.h: New file.
44249         * modules/unicase/u8-casecmp: New file.
44250
44251         Tests for module 'unicase/u32-casefold'.
44252         * modules/unicase/u32-casefold-tests: New file.
44253         * tests/unicase/test-u32-casefold.c: New file.
44254
44255         Tests for module 'unicase/u16-casefold'.
44256         * modules/unicase/u16-casefold-tests: New file.
44257         * tests/unicase/test-u16-casefold.c: New file.
44258
44259         Tests for module 'unicase/u8-casefold'.
44260         * modules/unicase/u8-casefold-tests: New file.
44261         * tests/unicase/test-u8-casefold.c: New file.
44262
44263         New module 'unicase/u32-casefold'.
44264         * lib/unicase/u32-casefold.c: New file.
44265         * modules/unicase/u32-casefold: New file.
44266
44267         New module 'unicase/u16-casefold'.
44268         * lib/unicase/u16-casefold.c: New file.
44269         * modules/unicase/u16-casefold: New file.
44270
44271         New module 'unicase/u8-casefold'.
44272         * lib/unicase/u8-casefold.c: New file.
44273         * lib/unicase/u-casefold.h: New file.
44274         * modules/unicase/u8-casefold: New file.
44275
44276         New module 'unicase/tocasefold'.
44277         * lib/unicase/casefold.h: New file.
44278         * lib/unicase/tocasefold.c: New file.
44279         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
44280         * modules/unicase/tocasefold: New file.
44281
44282         Tests for module 'unicase/u32-totitle'.
44283         * modules/unicase/u32-totitle-tests: New file.
44284         * tests/unicase/test-u32-totitle.c: New file.
44285
44286         Tests for module 'unicase/u16-totitle'.
44287         * modules/unicase/u16-totitle-tests: New file.
44288         * tests/unicase/test-u16-totitle.c: New file.
44289
44290         Tests for module 'unicase/u8-totitle'.
44291         * modules/unicase/u8-totitle-tests: New file.
44292         * tests/unicase/test-u8-totitle.c: New file.
44293
44294         New module 'unicase/u32-totitle'.
44295         * lib/unicase/u32-totitle.c: New file.
44296         * modules/unicase/u32-totitle: New file.
44297
44298         New module 'unicase/u16-totitle'.
44299         * lib/unicase/u16-totitle.c: New file.
44300         * modules/unicase/u16-totitle: New file.
44301
44302         New module 'unicase/u8-totitle'.
44303         * lib/unicase/u8-totitle.c: New file.
44304         * lib/unicase/u-totitle.h: New file.
44305         * modules/unicase/u8-totitle: New file.
44306
44307         Tests for module 'unicase/u32-tolower'.
44308         * modules/unicase/u32-tolower-tests: New file.
44309         * tests/unicase/test-u32-tolower.c: New file.
44310
44311         Tests for module 'unicase/u16-tolower'.
44312         * modules/unicase/u16-tolower-tests: New file.
44313         * tests/unicase/test-u16-tolower.c: New file.
44314
44315         Tests for module 'unicase/u8-tolower'.
44316         * modules/unicase/u8-tolower-tests: New file.
44317         * tests/unicase/test-u8-tolower.c: New file.
44318
44319         New module 'unicase/u32-tolower'.
44320         * lib/unicase/u32-tolower.c: New file.
44321         * modules/unicase/u32-tolower: New file.
44322
44323         New module 'unicase/u16-tolower'.
44324         * lib/unicase/u16-tolower.c: New file.
44325         * modules/unicase/u16-tolower: New file.
44326
44327         New module 'unicase/u8-tolower'.
44328         * lib/unicase/u8-tolower.c: New file.
44329         * modules/unicase/u8-tolower: New file.
44330
44331         Tests for module 'unicase/u32-toupper'.
44332         * modules/unicase/u32-toupper-tests: New file.
44333         * tests/unicase/test-u32-toupper.c: New file.
44334
44335         Tests for module 'unicase/u16-toupper'.
44336         * modules/unicase/u16-toupper-tests: New file.
44337         * tests/unicase/test-u16-toupper.c: New file.
44338
44339         Tests for module 'unicase/u8-toupper'.
44340         * modules/unicase/u8-toupper-tests: New file.
44341         * tests/unicase/test-u8-toupper.c: New file.
44342
44343         New module 'unicase/u32-toupper'.
44344         * lib/unicase/u32-toupper.c: New file.
44345         * modules/unicase/u32-toupper: New file.
44346
44347         New module 'unicase/u16-toupper'.
44348         * lib/unicase/u16-toupper.c: New file.
44349         * modules/unicase/u16-toupper: New file.
44350
44351         New module 'unicase/u8-toupper'.
44352         * lib/unicase/u8-toupper.c: New file.
44353         * modules/unicase/u8-toupper: New file.
44354
44355         New module 'unicase/u32-casemap'.
44356         * lib/unicase/u32-casemap.c: New file.
44357         * modules/unicase/u32-casemap: New file.
44358
44359         New module 'unicase/u16-casemap'.
44360         * lib/unicase/u16-casemap.c: New file.
44361         * modules/unicase/u16-casemap: New file.
44362
44363         New module 'unicase/u8-casemap'.
44364         * lib/unicase/unicasemap.h: New file.
44365         * lib/unicase/u8-casemap.c: New file.
44366         * lib/unicase/u-casemap.h: New file.
44367         * modules/unicase/u8-casemap: New file.
44368
44369         New module 'unicase/special-casing'.
44370         * lib/unicase/special-casing.h: New file.
44371         * lib/unicase/special-casing.c: New file.
44372         * lib/unicase/special-casing-table.gperf: New file, generated by
44373         gen-uni-tables.c.
44374         * modules/unicase/special-casing: New file.
44375
44376         Tests for module 'unicase/locale-language'.
44377         * modules/unicase/locale-language-tests: New file.
44378         * tests/unicase/test-locale-language.sh: New file.
44379         * tests/unicase/test-locale-language.c: New file.
44380
44381         New module 'unicase/locale-language'.
44382         * lib/unicase/locale-language.c: New file.
44383         * lib/unicase/locale-languages.gperf: New file.
44384         * modules/unicase/locale-language: New file.
44385
44386         Generate more tables for case conversion and case folding.
44387         * lib/gen-uni-tables.c (SCC_*): New enum items.
44388         (struct special_casing_rule): New type.
44389         (casing_rules, num_casing_rules, allocated_casing_rules): New
44390         variables.
44391         (add_casing_rule, fill_casing_rules): New functions.
44392         (struct casefold_rule): New type.
44393         (casefolding_rules, num_casefolding_rules,
44394         allocated_casefolding_rules): New variables.
44395         (fill_casefolding_rules): New function.
44396         (unicode_casefold): New variable.
44397         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
44398         sort_casing_rules, output_casing_rules): New functions.
44399         (main): Accept to more arguments: SpecialCasing.txt and
44400         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
44401         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
44402         Output mapping for casefolding.
44403
44404         * lib/unicase.h: Include stdbool.h, uninorm.h.
44405         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
44406         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
44407         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
44408         arguments.
44409         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
44410         resultp arguments.
44411         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
44412         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
44413         resultp arguments.
44414         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
44415         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
44416         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
44417         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
44418         declarations.
44419         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
44420
44421 2009-03-08  Bruno Haible  <bruno@clisp.org>
44422
44423         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44424         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
44425         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
44426         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44427
44428 2009-03-07  Bruno Haible  <bruno@clisp.org>
44429
44430         Adjust u*_normcmp, u*_normcoll API.
44431         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44432         u16_normcoll, u32_normcoll): Change failure conventions.
44433         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
44434         errno and return -1.
44435         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44436
44437 2009-03-07  Bruno Haible  <bruno@clisp.org>
44438
44439         Tests for module 'uninorm/u32-normcoll'.
44440         * modules/uninorm/u32-normcoll-tests: New file.
44441         * tests/uninorm/test-u32-normcoll.c: New file.
44442
44443         Tests for module 'uninorm/u16-normcoll'.
44444         * modules/uninorm/u16-normcoll-tests: New file.
44445         * tests/uninorm/test-u16-normcoll.c: New file.
44446
44447         Tests for module 'uninorm/u8-normcoll'.
44448         * modules/uninorm/u8-normcoll-tests: New file.
44449         * tests/uninorm/test-u8-normcoll.c: New file.
44450
44451 2009-03-07  Bruno Haible  <bruno@clisp.org>
44452
44453         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
44454         tests/uninorm/test-u32-normcmp.c.
44455         * tests/uninorm/test-u32-normcmp.c: Include it.
44456         (test_nonascii): New function, extracted from main. Add some more
44457         tests.
44458         (main): Invoke test_ascii and test_nonascii.
44459         * modules/uninorm/u32-normcmp-tests (Files): Add
44460         tests/uninorm/test-u32-normcmp.h.
44461         (Depends-on): Remove uninorm/u32-normcmp.
44462
44463         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
44464         tests/uninorm/test-u16-normcmp.c.
44465         * tests/uninorm/test-u16-normcmp.c: Include it.
44466         (test_nonascii): New function, extracted from main. Add some more
44467         tests.
44468         (main): Invoke test_ascii and test_nonascii.
44469         * modules/uninorm/u16-normcmp-tests (Files): Add
44470         tests/uninorm/test-u16-normcmp.h.
44471         (Depends-on): Remove uninorm/u16-normcmp.
44472
44473         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
44474         tests/uninorm/test-u8-normcmp.c.
44475         * tests/uninorm/test-u8-normcmp.c: Include it.
44476         (test_nonascii): New function, extracted from main. Add some more
44477         tests.
44478         (main): Invoke test_ascii and test_nonascii.
44479         * modules/uninorm/u8-normcmp-tests (Files): Add
44480         tests/uninorm/test-u8-normcmp.h.
44481         (Depends-on): Remove uninorm/u8-normcmp.
44482
44483 2009-03-07  Bruno Haible  <bruno@clisp.org>
44484
44485         New module 'uninorm/u32-normcoll'.
44486         * lib/uninorm/u32-normcoll.c: New file.
44487         * modules/uninorm/u32-normcoll: New file.
44488
44489         New module 'uninorm/u16-normcoll'.
44490         * lib/uninorm/u16-normcoll.c: New file.
44491         * modules/uninorm/u16-normcoll: New file.
44492
44493         New module 'uninorm/u8-normcoll'.
44494         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
44495         declarations.
44496         * lib/uninorm/u8-normcoll.c: New file.
44497         * lib/uninorm/u-normcoll.h: New file.
44498         * modules/uninorm/u8-normcoll: New file.
44499
44500         New module 'uninorm/u32-normxfrm'.
44501         * lib/uninorm/u32-normxfrm.c: New file.
44502         * modules/uninorm/u32-normxfrm: New file.
44503
44504         New module 'uninorm/u16-normxfrm'.
44505         * lib/uninorm/u16-normxfrm.c: New file.
44506         * modules/uninorm/u16-normxfrm: New file.
44507
44508         New module 'uninorm/u8-normxfrm'.
44509         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
44510         declarations.
44511         * lib/uninorm/u8-normxfrm.c: New file.
44512         * lib/uninorm/u-normxfrm.h: New file.
44513         * modules/uninorm/u8-normxfrm: New file.
44514
44515 2009-03-07  Bruno Haible  <bruno@clisp.org>
44516
44517         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
44518         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
44519         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
44520
44521 2009-03-07  Bruno Haible  <bruno@clisp.org>
44522
44523         New module 'memxfrm'.
44524         * lib/memxfrm.h: New file.
44525         * lib/memxfrm.c: New file.
44526         * modules/memxfrm: New file.
44527
44528 2009-03-07  Bruno Haible  <bruno@clisp.org>
44529
44530         New module 'memcmp2'.
44531         * lib/memcmp2.h: New file.
44532         * lib/memcmp2.c: New file.
44533         * modules/memcmp2: New file.
44534
44535 2009-03-07  Bruno Haible  <bruno@clisp.org>
44536
44537         Tests for module 'uninorm/decomposing-form'.
44538         * modules/uninorm/decomposing-form-tests: New file.
44539         * tests/uninorm/test-decomposing-form.c: New file.
44540
44541         New module 'uninorm/decomposing-form'.
44542         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
44543         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
44544         Add 'decomposing_variant' field.
44545         * lib/uninorm/decomposing-form.c: New file.
44546         * lib/uninorm/nfc.c (uninorm_nfc): Update.
44547         * lib/uninorm/nfd.c (uninorm_nfd): Update.
44548         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
44549         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
44550         * modules/uninorm/decomposing-form: New file.
44551         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
44552         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
44553
44554 2009-03-07  Bruno Haible  <bruno@clisp.org>
44555
44556         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
44557         strings.
44558
44559 2009-03-06  Bruno Haible  <bruno@clisp.org>
44560
44561         Tests for module 'uninorm/u32-normcmp'.
44562         * tests/uninorm/test-u32-normcmp.c: New file.
44563         * modules/uninorm/u32-normcmp-tests: New file.
44564
44565         Tests for module 'uninorm/u16-normcmp'.
44566         * tests/uninorm/test-u16-normcmp.c: New file.
44567         * modules/uninorm/u16-normcmp-tests: New file.
44568
44569         Tests for module 'uninorm/u8-normcmp'.
44570         * tests/uninorm/test-u8-normcmp.c: New file.
44571         * modules/uninorm/u8-normcmp-tests: New file.
44572
44573         New module 'uninorm/u32-normcmp'.
44574         * lib/uninorm/u32-normcmp.c: New file.
44575         * modules/uninorm/u32-normcmp: New file.
44576
44577         New module 'uninorm/u16-normcmp'.
44578         * lib/uninorm/u16-normcmp.c: New file.
44579         * modules/uninorm/u16-normcmp: New file.
44580
44581         New module 'uninorm/u8-normcmp'.
44582         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
44583         declarations.
44584         * lib/uninorm/u8-normcmp.c: New file.
44585         * lib/uninorm/u-normcmp.h: New file.
44586         * modules/uninorm/u8-normcmp: New file.
44587
44588 2009-03-06  Bruno Haible  <bruno@clisp.org>
44589
44590         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
44591         Reported by Eric Blake.
44592
44593 2009-03-06  Eric Blake  <ebb9@byu.net>
44594             Bruno Haible  <bruno@clisp.org>
44595
44596         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
44597         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
44598         condition.
44599         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44600         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
44601         condition.
44602         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44603
44604 2009-03-06  Eric Blake  <ebb9@byu.net>
44605
44606         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
44607         to avoid compiler warnings.
44608         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
44609
44610 2009-03-05  Bruno Haible  <bruno@clisp.org>
44611
44612         * tests/test-ftell.c (main): Disable test beyond end of file on
44613         FreeMiNT.
44614         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44615
44616 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
44617
44618         * lib/filevercmp.c: Move hidden files up in ordering.
44619         * tests/test-filevercmp.c: Add tests for hidden files.
44620
44621 2009-03-04  Bruno Haible  <bruno@clisp.org>
44622
44623         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
44624         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
44625         AM_CFLAGS.
44626         Reported by Simon Josefsson.
44627
44628 2009-03-03  Bruno Haible  <bruno@clisp.org>
44629
44630         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
44631         Reported by Simon Josefsson.
44632
44633         * doc/ld-version-script.texi: Update node reference.
44634
44635 2009-03-03  Bruno Haible  <bruno@clisp.org>
44636
44637         * modules/visibility (License): Change to 'unlimited'.
44638         Suggested by Simon Josefsson.
44639
44640 2009-03-03  Jim Meyering  <meyering@redhat.com>
44641
44642         unlinkdir: cannot_unlink_dir may modify process state
44643         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
44644         it's neither thread-safe nor appropriate for use in a library.
44645
44646 2009-03-03  Eric Blake  <ebb9@byu.net>
44647
44648         test-closein: silence test under Darwin
44649         * tests/test-closein.sh: Ignore stderr from cat, since we don't
44650         care if it dies from EPIPE or EBADF.
44651
44652 2009-03-03  Bruno Haible  <bruno@clisp.org>
44653
44654         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
44655         earlier.
44656         * doc/visibility.texi: Fix @node and @section.
44657
44658 2009-03-03  Simon Josefsson  <simon@josefsson.org>
44659
44660         * doc/gnulib.texi: Link to sections for ld version script and
44661         visibility.
44662         * doc/visibility.texi: Add @node and @section.
44663         * modules/ld-version-script: New module.
44664         * m4/ld-version-script.m4: New file.
44665         * doc/ld-version-script.texi: New file.
44666
44667 2009-03-02  David Lutterkort  <lutter@redhat.com>
44668
44669         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
44670         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44671
44672 2009-03-02  Bruno Haible  <bruno@clisp.org>
44673
44674         * doc/visibility.texi: Mention libtool's -export-symbols option.
44675
44676 2009-03-02  Jim Meyering  <meyering@redhat.com>
44677
44678         announce-gen: new option: --no-print-checksums
44679         * build-aux/announce-gen (usage): Describe it.
44680         (print_checksums): Print a newline here, not in the [*] footnote.
44681         (main): Honor it.
44682
44683 2009-03-01  Bruno Haible  <bruno@clisp.org>
44684
44685         Use socklen_t in the native Windows replacements prototypes.
44686         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
44687         instead of 'int'.
44688         * lib/getsockopt.c (rpl_getsockopt): Likewise.
44689         * lib/setsockopt.c (rpl_setsockopt): Likewise.
44690         * modules/getsockopt (Depends-on): Add socklen.
44691         * modules/setsockopt (Depends-on): Add socklen.
44692
44693 2009-03-01  Bruno Haible  <bruno@clisp.org>
44694
44695         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
44696         least 4.2.
44697
44698 2009-03-01  Eric Blake  <ebb9@byu.net>
44699             Bruno Haible  <bruno@clisp.org>
44700
44701         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
44702         error messages.
44703         * lib/wait-process.c (wait_subprocess): Omit error message about
44704         deadly signal sent to the child of termsigp != NULL.
44705
44706 2009-03-01  Eric Blake  <ebb9@byu.net>
44707
44708         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
44709
44710 2009-03-01  Bruno Haible  <bruno@clisp.org>
44711
44712         Avoid a gcc warning.
44713         * tests/test-sched.c (b): Make global.
44714         Reported by Eric Blake.
44715
44716 2009-01-19  Martin Lambers  <marlam@marlam.de>
44717
44718         Provide POSIX semantics for socket timeout options on W32.
44719         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
44720         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
44721         * modules/setsockopt: Depend on sys_time module for struct timeval.
44722         * modules/getsockopt: Depend on sys_time module for struct timeval.
44723
44724 2009-03-01  Simon Josefsson  <simon@josefsson.org>
44725
44726         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
44727         __USE_GNU, for consistency with netdb.in.h.
44728         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44729
44730 2009-03-01  Bruno Haible  <bruno@clisp.org>
44731
44732         More support for FreeMiNT.
44733         * lib/fseeko.c (rpl_fseeko): Complete last commit.
44734         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44735
44736 2009-03-01  Bruno Haible  <bruno@clisp.org>
44737
44738         More support for FreeMiNT.
44739         * lib/fpurge.c (fpurge): Correct last commit.
44740         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44741
44742 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44743
44744         Fix unportable awk script in vc-list-files.
44745         * build-aux/vc-list-files: In the replacement awk script, use
44746         substr with a second argument of 1, not zero.
44747         Report by Simon Josefsson.
44748
44749 2009-02-28  Bruno Haible  <bruno@clisp.org>
44750
44751         More support for FreeMiNT.
44752         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
44753         to FreeMiNT today.
44754         * lib/fwriting.c (fwriting): Likewise.
44755         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
44756
44757 2009-02-28  Bruno Haible  <bruno@clisp.org>
44758
44759         * tests/test-freadseek.c (main): Disable test beyond end of file on
44760         FreeMiNT.
44761         * tests/test-ftello.c (main): Likewise.
44762         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44763
44764 2009-02-28  Bruno Haible  <bruno@clisp.org>
44765
44766         Add tentative support for FreeMiNT.
44767         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
44768         * lib/fpurge.c (fpurge): Likewise.
44769         * lib/freadable.c (freadable): Likewise.
44770         * lib/freading.c (freading): Likewise.
44771         * lib/freadptr.c (freadptr): Likewise.
44772         * lib/freadseek.c (freadptrinc): Likewise.
44773         * lib/fseeko.c (rpl_fseeko): Likewise.
44774         * lib/fseterr.c (fseterr): Likewise.
44775         * lib/fwritable.c (fwritable): Likewise.
44776         * lib/fwriting.c (fwriting): Likewise.
44777         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
44778         Hourihane.
44779         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44780
44781 2009-02-28  Bruno Haible  <bruno@clisp.org>
44782
44783         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
44784         SIGCHLD.
44785         Reported by Jim Meyering.
44786
44787 2009-02-28  Bruno Haible  <bruno@clisp.org>
44788
44789         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
44790         Mention the results of these tests on various platforms.
44791         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
44792         order.
44793         * doc/posix-functions/printf.texi: Likewise.
44794         * doc/posix-functions/snprintf.texi: Likewise.
44795         * doc/posix-functions/sprintf.texi: Likewise.
44796         * doc/posix-functions/vfprintf.texi: Likewise.
44797         * doc/posix-functions/vprintf.texi: Likewise.
44798         * doc/posix-functions/vsnprintf.texi: Likewise.
44799         * doc/posix-functions/vsprintf.texi: Likewise.
44800         * doc/glibc-functions/obstack_printf.texi: Likewise.
44801         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
44802
44803 2009-02-28  Bruno Haible  <bruno@clisp.org>
44804
44805         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
44806         Reported by Loïc Minier <lool@dooz.org>.
44807
44808 2009-02-27  Bruno Haible  <bruno@clisp.org>
44809
44810         * gnulib-tool (func_import): Make the sed expression used to create the
44811         sed script for updating the .gitignore file POSIX compliant.
44812         Reported by Eric Blake.
44813
44814 2009-02-27  Bruno Haible  <bruno@clisp.org>
44815
44816         * gnulib-tool (sed): Don't alias as "sed --posix".
44817         Reported by Eric Blake.
44818
44819 2009-02-27  Bruno Haible  <bruno@clisp.org>
44820
44821         Avoid test link errors.
44822         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
44823         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
44824         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
44825         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
44826         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44827
44828 2009-02-27  Bruno Haible  <bruno@clisp.org>
44829
44830         Avoid spurious "(cached)" in configure output.
44831         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
44832         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
44833         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
44834         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
44835         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
44836         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
44837         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
44838         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
44839         Reported by Eric Blake.
44840
44841 2009-02-27  Eric Blake  <ebb9@byu.net>
44842
44843         printf: fix regression in previous patch
44844         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
44845
44846 2009-02-27  Bruno Haible  <bruno@clisp.org>
44847
44848         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
44849         value.
44850         * lib/stdint.in.h: Likewise.
44851         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
44852
44853 2009-02-27  Eric Blake  <ebb9@byu.net>
44854
44855         doc: mention more functions added in cygwin 1.7.0
44856         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
44857         addition.
44858         * doc/posix-functions/open_wmemstream.texi: Likewise.
44859         * doc/posix-functions/wcsnlen.texi: Likewise.
44860         * doc/posix-functions/wcsnrtombs.texi: Likewise.
44861         * doc/posix-functions/wcstod.texi: Likewise.
44862         * doc/posix-functions/wcstof.texi: Likewise.
44863         * doc/posix-functions/wcstoimax.texi: Likewise.
44864         * doc/posix-functions/wcstok.texi: Likewise.
44865         * doc/posix-functions/wcstoumax.texi: Likewise.
44866
44867         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
44868         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
44869         * doc/posix-functions/fprintf.texi: Update.
44870         * doc/posix-functions/printf.texi: Update.
44871         * doc/posix-functions/snprintf.texi: Update.
44872         * doc/posix-functions/sprintf.texi: Update.
44873         * doc/posix-functions/vfprintf.texi: Update.
44874         * doc/posix-functions/vprintf.texi: Update.
44875         * doc/posix-functions/vsnprintf.texi: Update.
44876         * doc/posix-functions/vsprintf.texi: Update.
44877         * doc/glibc-functions/obstack_printf.texi: Update.
44878         * doc/glibc-functions/obstack_vprintf.texi: Update.
44879
44880 2009-02-26  Eric Blake  <ebb9@byu.net>
44881
44882         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
44883         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
44884         compilation bug by using runtime conversion.
44885         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
44886         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
44887         * modules/ceill-tests (Files): Use nan.h.
44888         * modules/floorl-tests (Files): Likewise.
44889         * modules/frexpl-tests (Files): Likewise.
44890         * modules/isnanl-tests (Files): Likewise.
44891         * modules/ldexpl-tests (Files): Likewise.
44892         * modules/roundl-tests (Files): Likewise.
44893         * modules/truncl-tests (Files): Likewise.
44894         * tests/test-ceill.c (main): Use a working NaN.
44895         * tests/test-floorl.c (main): Likewise.
44896         * tests/test-frexpl.c (main): Likewise.
44897         * tests/test-isnan.c (test_long_double): Likewise.
44898         * tests/test-isnanl.h (main): Likewise.
44899         * tests/test-ldexpl.h (main): Likewise.
44900         * tests/test-roundl.h (main): Likewise.
44901         * tests/test-truncl.h (main): Likewise.
44902         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
44903
44904 2009-02-26  Eric Blake  <ebb9@byu.net>
44905             Bruno Haible  <bruno@clisp.org>
44906
44907         Work around a *printf bug with %ls on Solaris.
44908         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
44909         precision is specified, sprintf stops converting the wide string
44910         argument when the number of bytes that have been produced by this
44911         conversion equals or exceeds the precision.
44912         * doc/posix-functions/fprintf.texi: Update.
44913         * doc/posix-functions/printf.texi: Update.
44914         * doc/posix-functions/snprintf.texi: Update.
44915         * doc/posix-functions/sprintf.texi: Update.
44916         * doc/posix-functions/vfprintf.texi: Update.
44917         * doc/posix-functions/vprintf.texi: Update.
44918         * doc/posix-functions/vsnprintf.texi: Update.
44919         * doc/posix-functions/vsprintf.texi: Update.
44920         * doc/glibc-functions/obstack_printf.texi: Update.
44921         * doc/glibc-functions/obstack_vprintf.texi: Update.
44922
44923 2009-02-26  Eric Blake  <ebb9@byu.net>
44924
44925         stdlib: favor compiler check of random.h
44926         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
44927         to avoid an ObjC random.h installed by Swarm.
44928
44929 2009-02-26  Bruno Haible  <bruno@clisp.org>
44930
44931         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
44932         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
44933         Reported by Gary V. Vaughan <gary@gnu.org>.
44934
44935 2009-02-26  Bruno Haible  <bruno@clisp.org>
44936
44937         Fix *printf behaviour regarding the %ls directive.
44938         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
44939         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
44940         NEED_PRINTF_DIRECTIVE_LS.
44941         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
44942         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44943         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44944         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
44945         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
44946         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
44947         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
44948         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44949         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44950         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44951         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44952         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
44953         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44954         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44955         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44956         * doc/posix-functions/fprintf.texi: Update.
44957         * doc/posix-functions/printf.texi: Update.
44958         * doc/posix-functions/snprintf.texi: Update.
44959         * doc/posix-functions/sprintf.texi: Update.
44960         * doc/posix-functions/vfprintf.texi: Update.
44961         * doc/posix-functions/vprintf.texi: Update.
44962         * doc/posix-functions/vsnprintf.texi: Update.
44963         * doc/posix-functions/vsprintf.texi: Update.
44964         * doc/glibc-functions/obstack_printf.texi: Update.
44965         * doc/glibc-functions/obstack_vprintf.texi: Update.
44966         Reported by Eric Blake.
44967
44968 2009-02-25  Bruno Haible  <bruno@clisp.org>
44969
44970         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
44971         with known value.
44972         Reported by Gary V. Vaughan <gary@gnu.org>.
44973
44974 2009-02-25  Bruno Haible  <bruno@clisp.org>
44975
44976         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
44977         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
44978         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
44979         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
44980         Reported by Gary V. Vaughan <gary@gnu.org>.
44981
44982 2009-02-25  Bruno Haible  <bruno@clisp.org>
44983
44984         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
44985         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
44986         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
44987         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
44988         Reported by Gary V. Vaughan <gary@gnu.org>.
44989
44990 2009-02-25  Eric Blake  <ebb9@byu.net>
44991
44992         tests: skip fseek/ftell tests if ungetc is broken
44993         * m4/ungetc.m4: New file.
44994         * modules/fseek-tests: Split test, so ungetc dependency is
44995         separate from rest of test.
44996         * modules/fseeko-tests: Likewise.
44997         * modules/ftell-tests: Likewise.
44998         * modules/ftello-tests: Likewise.
44999         * tests/test-fseek.c (main): Isolate ungetc dependency.
45000         * tests/test-fseeko.c (main): Likewise.
45001         * tests/test-ftell.c (main): Likewise.
45002         * tests/test-ftello.c (main): Likewise.
45003         * tests/test-fseek2.sh: New file.
45004         * tests/test-fseeko2.sh: Likewise.
45005         * tests/test-ftell2.sh: Likewise.
45006         * tests/test-ftello2.sh: Likewise.
45007
45008 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
45009
45010         test-getaddrinfo: fix usage of skip return code 77
45011         * tests/test-gettaddrinfo.c: Return skip code 77 only
45012         for first occurance of skip (4x77 is not 77)
45013
45014 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
45015
45016         strtod: avoid C99 decl-after-statement
45017         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
45018
45019 2009-02-24  Eric Blake  <ebb9@byu.net>
45020
45021         strtod: detect HP-UX 11.31 bug
45022         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
45023         Reported by Gary V. Vaughan.
45024
45025 2009-02-23  Bruno Haible  <bruno@clisp.org>
45026
45027         Fix invalid read past end of memory block.
45028         * lib/vasnprintf.c (DCHAR_SET): Define.
45029         (local_wcslen): Define only when needed.
45030         (local_strnlen, local_wcsnlen): New functions.
45031         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
45032         directives that involve a conversion ourselves.
45033         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
45034         wcsnlen, mbrtowc, wcrtomb.
45035         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
45036         * tests/test-vasprintf-posix.c (test_function): Likewise.
45037         * tests/test-snprintf-posix.h (test_function): Likewise.
45038         * tests/test-sprintf-posix.h (test_function): Likewise.
45039         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45040
45041 2009-02-22  Bruno Haible  <bruno@clisp.org>
45042
45043         Implement new clarified decomposition of Hangul syllables.
45044         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
45045         of type LTV, return only a pairwise decomposition.
45046         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
45047         Likewise.
45048         * tests/uninorm/test-decomposition.c (main): Updated expected result.
45049         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
45050         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
45051
45052 2009-02-22  Bruno Haible  <bruno@clisp.org>
45053
45054         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
45055         zero-length results and shrink excess allocated memory.
45056         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
45057         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
45058         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
45059         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
45060         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
45061         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
45062         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
45063         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
45064         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
45065         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
45066         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
45067         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
45068
45069 2009-02-21  Bruno Haible  <bruno@clisp.org>
45070
45071         * doc/gnulib.texi: Include safe-alloc.texi earlier.
45072         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
45073         spaces after a period. Put a space between a macro name and its
45074         argument list. Trivial rewordings.
45075         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
45076         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
45077         (main): Return 0 explicitly.
45078
45079 2009-02-21  Bruno Haible  <bruno@clisp.org>
45080
45081         Tests for module 'uninorm/filter'.
45082         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
45083         * modules/uninorm/filter-tests: New file.
45084
45085         New module 'uninorm/filter'.
45086         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
45087         uninorm_filter_flush, uninorm_filter_free): New declarations.
45088         * lib/uninorm/uninorm-filter.c: New file.
45089         * modules/uninorm/filter: New file.
45090
45091 2009-02-21  Bruno Haible  <bruno@clisp.org>
45092
45093         Tests for module 'uninorm/nfkc'.
45094         * tests/uninorm/test-nfkc.c: New file.
45095         * tests/uninorm/test-u8-nfkc.c: New file.
45096         * tests/uninorm/test-u16-nfkc.c: New file.
45097         * tests/uninorm/test-u32-nfkc.c: New file.
45098         * tests/uninorm/test-u32-nfkc-big.sh: New file.
45099         * tests/uninorm/test-u32-nfkc-big.c: New file.
45100         * modules/uninorm/nfkc-tests: New file.
45101
45102         New module 'uninorm/nfkc'.
45103         * lib/uninorm/nfkc.c: New file.
45104         * modules/uninorm/nfkc: New file.
45105
45106         Tests for module 'uninorm/nfkd'.
45107         * tests/uninorm/test-nfkd.c: New file.
45108         * tests/uninorm/test-u8-nfkd.c: New file.
45109         * tests/uninorm/test-u16-nfkd.c: New file.
45110         * tests/uninorm/test-u32-nfkd.c: New file.
45111         * tests/uninorm/test-u32-nfkd-big.sh: New file.
45112         * tests/uninorm/test-u32-nfkd-big.c: New file.
45113         * modules/uninorm/nfkd-tests: New file.
45114
45115         New module 'uninorm/nfkd'.
45116         * lib/uninorm/nfkd.c: New file.
45117         * modules/uninorm/nfkd: New file.
45118
45119         Tests for module 'uninorm/nfc'.
45120         * tests/uninorm/test-nfc.c: New file.
45121         * tests/uninorm/test-u8-nfc.c: New file.
45122         * tests/uninorm/test-u16-nfc.c: New file.
45123         * tests/uninorm/test-u32-nfc.c: New file.
45124         * tests/uninorm/test-u32-nfc-big.sh: New file.
45125         * tests/uninorm/test-u32-nfc-big.c: New file.
45126         * modules/uninorm/nfc-tests: New file.
45127
45128         New module 'uninorm/nfc'.
45129         * lib/uninorm/nfc.c: New file.
45130         * modules/uninorm/nfc: New file.
45131
45132         Tests for module 'uninorm/nfd'.
45133         * tests/uninorm/test-nfd.c: New file.
45134         * tests/uninorm/test-u8-nfd.c: New file.
45135         * tests/uninorm/test-u16-nfd.c: New file.
45136         * tests/uninorm/test-u32-nfd.c: New file.
45137         * tests/uninorm/test-u32-nfd-big.sh: New file.
45138         * tests/uninorm/test-u32-nfd-big.c: New file.
45139         * tests/uninorm/test-u32-normalize-big.h: New file.
45140         * tests/uninorm/test-u32-normalize-big.c: New file.
45141         * tests/uninorm/NormalizationTest.txt: New file, created from
45142         Unicode 5.1.0 NormalizationTest.txt.
45143         * modules/uninorm/nfd-tests: New file.
45144
45145         New module 'uninorm/nfd'.
45146         * lib/uninorm/nfd.c: New file.
45147         * modules/uninorm/nfd: New file.
45148
45149         New module 'uninorm/u32-normalize'.
45150         * lib/uninorm/u32-normalize.c: New file.
45151         * modules/uninorm/u32-normalize: New file.
45152
45153         New module 'uninorm/u16-normalize'.
45154         * lib/uninorm/u16-normalize.c: New file.
45155         * modules/uninorm/u16-normalize: New file.
45156
45157         New module 'uninorm/u8-normalize'.
45158         * lib/uninorm/u8-normalize.c: New file.
45159         * lib/uninorm/normalize-internal.h: New file.
45160         * lib/uninorm/u-normalize-internal.h: New file.
45161         * modules/uninorm/u8-normalize: New file.
45162
45163         New module 'uninorm/decompose-internal'.
45164         * lib/uninorm/decompose-internal.c: New file.
45165         * modules/uninorm/decompose-internal: New file.
45166
45167         Tests for module 'uninorm/composition'.
45168         * tests/uninorm/test-composition.c: New file.
45169         * modules/uninorm/composition-tests: New file.
45170
45171         New module 'uninorm/composition'.
45172         * lib/uninorm/composition.c: New file.
45173         * lib/uninorm/composition-table.gperf: New file, generated by
45174         gen-uni-tables.
45175         * modules/uninorm/composition: New file.
45176
45177         Tests for module 'uninorm/compat-decomposition'.
45178         * tests/uninorm/test-compat-decomposition.c: New file.
45179         * modules/uninorm/compat-decomposition-tests: New file.
45180
45181         New module 'uninorm/compat-decomposition'.
45182         * lib/uninorm/decompose-internal.h: New file.
45183         * lib/uninorm/compat-decomposition.c: New file.
45184         * modules/uninorm/compat-decomposition: New file.
45185
45186         Tests for module 'uninorm/canonical-decomposition'.
45187         * tests/uninorm/test-canonical-decomposition.c: New file.
45188         * modules/uninorm/canonical-decomposition-tests: New file.
45189
45190         New module 'uninorm/canonical-decomposition'.
45191         * lib/uninorm/canonical-decomposition.c: New file.
45192         * modules/uninorm/canonical-decomposition: New file.
45193
45194         Tests for module 'uninorm/decomposition'.
45195         * tests/uninorm/test-decomposition.c: New file.
45196         * modules/uninorm/decomposition-tests: New file.
45197
45198         New module 'uninorm/decomposition'.
45199         * lib/uninorm/decomposition.c: New file.
45200         * modules/uninorm/decomposition: New file.
45201
45202         New module 'uninorm/decomposition-table'.
45203         * lib/uninorm/decomposition-table.h: New file.
45204         * lib/uninorm/decomposition-table.c: New file.
45205         * lib/uninorm/decomposition-table1.h: New file, generated by
45206         gen-uni-tables.
45207         * lib/uninorm/decomposition-table2.h: New file, generated by
45208         gen-uni-tables.
45209         * modules/uninorm/decomposition-table: New file.
45210
45211         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
45212         (UC_DECOMP_*): New enumeration items.
45213         (get_decomposition): New function.
45214         (struct decomp_table): New type.
45215         (output_decomposition, output_decomposition_tables): New functions.
45216         (unicode_composition_exclusions): New variable.
45217         (fill_composition_exclusions, debug_output_composition_tables): New
45218         functions.
45219         (main): Accept one more argument. Invoke fill_composition_exclusions.
45220         Output decomposition and composition tables.
45221
45222         New module 'uninorm/base'.
45223         * lib/uninorm.h: New file.
45224         * lib/unictype.h: Update comment.
45225         * modules/uninorm/base: New file.
45226
45227 2009-02-21  David Lutterkort  <lutter@redhat.com>
45228
45229         Tests for module 'safe-alloc'.
45230         * tests/test-safe-alloc.c: New file.
45231         * modules/safe-alloc-tests: New file.
45232
45233         New module 'safe-alloc'.
45234         * lib/safe-alloc.h: New file.
45235         * lib/safe-alloc.c: New file.
45236         * m4/safe-alloc.m4: New file.
45237         * modules/safe-alloc: New file.
45238         * doc/safe-alloc.texi: New file.
45239         * doc/gnulib.texi: Include it.
45240         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
45241         safe-alloc.
45242
45243 2009-02-18  Bruno Haible  <bruno@clisp.org>
45244
45245         Fix link error on non-glibc systems.
45246         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
45247         variable.
45248         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45249
45250 2009-02-18  Jim Meyering  <meyering@redhat.com>
45251
45252         fts: avoid used-uninitialized error due to recent change
45253         * lib/fts.c (fts_read): Guard uses of the new member,
45254         parent->fts_n_dirs_remaining, since it's not relevant for
45255         the parent of a directory specified on the command-line.
45256
45257 2009-02-17  James Youngman  <jay@gnu.org>
45258             Bruno Haible  <bruno@clisp.org>
45259
45260         * m4/include_next.m4: Reformulate comment.
45261
45262 2009-02-16  Jim Meyering  <meyering@redhat.com>
45263
45264         fts: add #if guards so that the fts_lgpl module still builds
45265         * lib/fts.c: Guard just-added hash-table-using parts with
45266         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
45267         Reported by Simon Josefsson.
45268
45269 2009-02-15  Bruno Haible  <bruno@clisp.org>
45270
45271         * modules/array-mergesort-tests: New file.
45272         * tests/test-array-mergesort.c: New file.
45273
45274         New module 'array-mergesort'.
45275         * modules/array-mergesort: New file.
45276         * lib/array-mergesort.h: New file.
45277
45278 2009-02-15  Bruno Haible  <bruno@clisp.org>
45279
45280         Fix 2009-02-07 commit.
45281         * lib/gen-uni-tables.c (output_predicate, output_category,
45282         output_combclass, output_bidi_category, output_decimal_digit,
45283         output_digit, output_numeric, output_mirror, output_scripts,
45284         output_ident_category, output_simple_mapping): Fix format directives.
45285         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
45286
45287 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
45288
45289         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
45290         fixes are available from IBM.
45291
45292 2009-02-13  Jim Meyering  <meyering@redhat.com>
45293
45294         fts: arrange not to stat non-directories in more cases
45295         This makes GNU find (when it doesn't need to stat each file)
45296         *much* more efficient at traversing reiserfs file systems.
45297         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
45298         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
45299         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
45300         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
45301         (leaf_optimization_applies): New function.
45302         (LCO_hash, LCO_compare): New helper functions.
45303         (link_count_optimize_ok): New function.
45304         (fts_stat): Initialize new member (if dir).
45305         (fts_read): Decrement parent's fts_n_dirs_remaining count if
45306         we've just stat'ed a directory.  Skip the stat call when possible.
45307         ---
45308         Note this AFS-related exchange:
45309         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
45310         and note find's pioctl call in find/fstype.c.
45311         But that is necessary only if you want to enable the
45312         optimization for AFS, and for now, I don't.
45313
45314         fts: move a function definition "up" (no semantic change)
45315         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
45316         "up" to precede upcoming use of a related function.
45317
45318 2009-02-11  Jim Meyering  <meyering@redhat.com>
45319
45320         fts: correct internal computation of nlinks (optimization-related)
45321         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
45322         whether the current entry is a directory, so don't test it.
45323
45324 2009-02-10  Bruno Haible  <bruno@clisp.org>
45325
45326         Tests for module 'uniwbrk/ulc-wordbreaks'.
45327         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
45328         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
45329         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
45330
45331         Tests for module 'uniwbrk/u32-wordbreaks'.
45332         * modules/uniwbrk/u32-wordbreaks-tests: New file.
45333         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
45334
45335         Tests for module 'uniwbrk/u16-wordbreaks'.
45336         * modules/uniwbrk/u16-wordbreaks-tests: New file.
45337         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
45338
45339         Tests for module 'uniwbrk/u8-wordbreaks'.
45340         * modules/uniwbrk/u8-wordbreaks-tests: New file.
45341         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
45342
45343 2009-02-10  Bruno Haible  <bruno@clisp.org>
45344
45345         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
45346         property.
45347         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
45348         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
45349         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
45350
45351 2009-02-10  Simon Josefsson  <simon@josefsson.org>
45352
45353         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
45354         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
45355
45356 2009-02-10  Bruno Haible  <bruno@clisp.org>
45357
45358         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
45359         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
45360         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
45361         * lib/unilbrk/u8-possible-linebreaks.c: Update.
45362         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
45363         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
45364
45365 2009-02-09  Simon Josefsson  <simon@josefsson.org>
45366
45367         * lib/sockets.h (gl_fd_to_handle): New function.
45368
45369         * tests/test-sockets.c: Call gl_fd_to_handle.
45370
45371 2009-02-09  Bruno Haible  <bruno@clisp.org>
45372
45373         * doc/havelib.texi: Document the conventions on bi-arch systems.
45374
45375 2009-02-08  Bruno Haible  <bruno@clisp.org>
45376
45377         Document the AC_LIB_LINKFLAGS macro.
45378         * doc/havelib.texi: New file, mostly written on 2005-05-24.
45379         * doc/gnulib.texi: Include it.
45380
45381 2009-02-08  Bruno Haible  <bruno@clisp.org>
45382
45383         Fix wrong order of sections, compared to TOC.
45384         * doc/gnulib.texi: Include relocatable-maint.texi after the
45385         "Regular expressions" node, not before.
45386
45387 2009-02-08  Bruno Haible  <bruno@clisp.org>
45388
45389         Tests for module 'unicase/totitle'.
45390         * modules/unicase/totitle-tests: New file.
45391
45392         Tests for module 'unicase/tolower'.
45393         * modules/unicase/tolower-tests: New file.
45394
45395         Tests for module 'unicase/toupper'.
45396         * modules/unicase/toupper-tests: New file.
45397         * tests/unicase/test-mapping-part1.h: New file.
45398         * tests/unicase/test-mapping-part2.h: New file.
45399
45400         New module 'unicase/totitle'.
45401         * modules/unicase/totitle: New file.
45402         * lib/unicase/totitle.c: New file.
45403
45404         New module 'unicase/tolower'.
45405         * modules/unicase/tolower: New file.
45406         * lib/unicase/tolower.c: New file.
45407
45408         New module 'unicase/toupper'.
45409         * modules/unicase/toupper: New file.
45410         * lib/unicase/toupper.c: New file.
45411         * lib/unicase/simple-mapping.h: New file.
45412
45413         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
45414         (mapping_table): New structure.
45415         (output_simple_mapping): New function.
45416         (main): Invoke output_simple_mapping_test and output_simple_mapping.
45417         * modules/gen-uni-tables (Description): Update.
45418         * lib/unicase/toupper.h: New file, automatically generated by
45419         gen-uni-tables.
45420         * lib/unicase/tolower.h: New file, automatically generated by
45421         gen-uni-tables.
45422         * lib/unicase/totitle.h: New file, automatically generated by
45423         gen-uni-tables.
45424         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
45425         gen-uni-tables.
45426         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
45427         gen-uni-tables.
45428         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
45429         gen-uni-tables.
45430
45431         New module 'unicase/base'.
45432         * modules/unicase/base: New file.
45433         * lib/unicase.h: New file.
45434
45435 2009-02-08  Bruno Haible  <bruno@clisp.org>
45436
45437         New module 'uniwbrk/ulc-wordbreaks'.
45438         * modules/uniwbrk/ulc-wordbreaks: New file.
45439         * lib/uniwbrk/ulc-wordbreaks.c: New file.
45440
45441         New module 'uniwbrk/u32-wordbreaks'.
45442         * modules/uniwbrk/u32-wordbreaks: New file.
45443         * lib/uniwbrk/u32-wordbreaks.c: New file.
45444
45445         New module 'uniwbrk/u16-wordbreaks'.
45446         * modules/uniwbrk/u16-wordbreaks: New file.
45447         * lib/uniwbrk/u16-wordbreaks.c: New file.
45448
45449         New module 'uniwbrk/u8-wordbreaks'.
45450         * modules/uniwbrk/u8-wordbreaks: New file.
45451         * lib/uniwbrk/u8-wordbreaks.c: New file.
45452         * lib/uniwbrk/u-wordbreaks.h: New file.
45453
45454         New module 'uniwbrk/table'.
45455         * modules/uniwbrk/table: New file.
45456         * lib/uniwbrk/wbrktable.h: New file.
45457         * lib/uniwbrk/wbrktable.c: New file.
45458
45459         New module 'uniwbrk/wordbreak-property'.
45460         * modules/uniwbrk/wordbreak-property: New file.
45461         * lib/uniwbrk/wordbreak-property.c: New file.
45462
45463         * lib/gen-uni-tables.c (WBP_*): New enum items.
45464         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
45465         (unicode_org_wbp): New variable.
45466         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
45467         New functions.
45468         (wbp_table): New structure.
45469         (output_wbp, output_wbrk_tables): New functions.
45470         (main): Accept additional argument. Invoke fill_org_wbp,
45471         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
45472         output_wbrk_tables.
45473         * modules/gen-uni-tables (Description): Update.
45474         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
45475         gen-uni-tables.
45476
45477         New module 'uniwbrk/base'.
45478         * modules/uniwbrk/base: New file.
45479         * lib/uniwbrk.h: New file.
45480
45481 2009-02-08  Bruno Haible  <bruno@clisp.org>
45482
45483         Update to Unicode 5.1.0.
45484         * lib/gen-uni-tables.c (is_property_alphabetic): Include
45485         U+2185..U+2188.
45486         (is_property_default_ignorable_code_point): Don't include characters
45487         of category Cc or Cs and not-a-characters.
45488         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
45489         U+0D79, U+109E, U+109F, U+A60C.
45490         * lib/unictype/bidi_of.h: Regenerated.
45491         * lib/unictype/blocks.h: Regenerated.
45492         * lib/unictype/categ_C.h: Regenerated.
45493         * lib/unictype/categ_Cf.h: Regenerated.
45494         * lib/unictype/categ_Cn.h: Regenerated.
45495         * lib/unictype/categ_L.h: Regenerated.
45496         * lib/unictype/categ_Ll.h: Regenerated.
45497         * lib/unictype/categ_Lm.h: Regenerated.
45498         * lib/unictype/categ_Lo.h: Regenerated.
45499         * lib/unictype/categ_Lu.h: Regenerated.
45500         * lib/unictype/categ_M.h: Regenerated.
45501         * lib/unictype/categ_Mc.h: Regenerated.
45502         * lib/unictype/categ_Me.h: Regenerated.
45503         * lib/unictype/categ_Mn.h: Regenerated.
45504         * lib/unictype/categ_N.h: Regenerated.
45505         * lib/unictype/categ_Nd.h: Regenerated.
45506         * lib/unictype/categ_Nl.h: Regenerated.
45507         * lib/unictype/categ_No.h: Regenerated.
45508         * lib/unictype/categ_P.h: Regenerated.
45509         * lib/unictype/categ_Pd.h: Regenerated.
45510         * lib/unictype/categ_Pe.h: Regenerated.
45511         * lib/unictype/categ_Pf.h: Regenerated.
45512         * lib/unictype/categ_Pi.h: Regenerated.
45513         * lib/unictype/categ_Po.h: Regenerated.
45514         * lib/unictype/categ_Ps.h: Regenerated.
45515         * lib/unictype/categ_S.h: Regenerated.
45516         * lib/unictype/categ_Sk.h: Regenerated.
45517         * lib/unictype/categ_Sm.h: Regenerated.
45518         * lib/unictype/categ_So.h: Regenerated.
45519         * lib/unictype/categ_of.h: Regenerated.
45520         * lib/unictype/combining.h: Regenerated.
45521         * lib/unictype/ctype_alnum.h: Regenerated.
45522         * lib/unictype/ctype_alpha.h: Regenerated.
45523         * lib/unictype/ctype_graph.h: Regenerated.
45524         * lib/unictype/ctype_lower.h: Regenerated.
45525         * lib/unictype/ctype_print.h: Regenerated.
45526         * lib/unictype/ctype_punct.h: Regenerated.
45527         * lib/unictype/ctype_upper.h: Regenerated.
45528         * lib/unictype/decdigit.h: Regenerated.
45529         * lib/unictype/digit.h: Regenerated.
45530         * lib/unictype/mirror.h: Regenerated.
45531         * lib/unictype/numeric.h: Regenerated.
45532         * lib/unictype/pr_alphabetic.h: Regenerated.
45533         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
45534         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
45535         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
45536         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
45537         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
45538         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
45539         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
45540         * lib/unictype/pr_combining.h: Regenerated.
45541         * lib/unictype/pr_dash.h: Regenerated.
45542         * lib/unictype/pr_decimal_digit.h: Regenerated.
45543         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
45544         * lib/unictype/pr_deprecated.h: Regenerated.
45545         * lib/unictype/pr_diacritic.h: Regenerated.
45546         * lib/unictype/pr_extender.h: Regenerated.
45547         * lib/unictype/pr_format_control.h: Regenerated.
45548         * lib/unictype/pr_grapheme_base.h: Regenerated.
45549         * lib/unictype/pr_grapheme_extend.h: Regenerated.
45550         * lib/unictype/pr_grapheme_link.h: Regenerated.
45551         * lib/unictype/pr_id_continue.h: Regenerated.
45552         * lib/unictype/pr_id_start.h: Regenerated.
45553         * lib/unictype/pr_ideographic.h: Regenerated.
45554         * lib/unictype/pr_ignorable_control.h: Regenerated.
45555         * lib/unictype/pr_lowercase.h: Regenerated.
45556         * lib/unictype/pr_math.h: Regenerated.
45557         * lib/unictype/pr_numeric.h: Regenerated.
45558         * lib/unictype/pr_other_alphabetic.h: Regenerated.
45559         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
45560         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
45561         * lib/unictype/pr_other_id_continue.h: Regenerated.
45562         * lib/unictype/pr_other_lowercase.h: Regenerated.
45563         * lib/unictype/pr_other_math.h: Regenerated.
45564         * lib/unictype/pr_punctuation.h: Regenerated.
45565         * lib/unictype/pr_sentence_terminal.h: Regenerated.
45566         * lib/unictype/pr_soft_dotted.h: Regenerated.
45567         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
45568         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
45569         * lib/unictype/pr_unified_ideograph.h: Regenerated.
45570         * lib/unictype/pr_uppercase.h: Regenerated.
45571         * lib/unictype/pr_xid_continue.h: Regenerated.
45572         * lib/unictype/pr_xid_start.h: Regenerated.
45573         * lib/unictype/pr_zero_width.h: Regenerated.
45574         * lib/unictype/scripts.h: Regenerated.
45575         * lib/unictype/scripts_byname.gperf: Regenerated.
45576         * lib/unictype/sy_java_ident.h: Regenerated.
45577         * lib/unilbrk/lbrkprop1.h: Regenerated.
45578         * lib/unilbrk/lbrkprop2.h: Regenerated.
45579         * tests/unictype/test-categ_C.c: Regenerated.
45580         * tests/unictype/test-categ_Cf.c: Regenerated.
45581         * tests/unictype/test-categ_Cn.c: Regenerated.
45582         * tests/unictype/test-categ_L.c: Regenerated.
45583         * tests/unictype/test-categ_Ll.c: Regenerated.
45584         * tests/unictype/test-categ_Lm.c: Regenerated.
45585         * tests/unictype/test-categ_Lo.c: Regenerated.
45586         * tests/unictype/test-categ_Lu.c: Regenerated.
45587         * tests/unictype/test-categ_M.c: Regenerated.
45588         * tests/unictype/test-categ_Mc.c: Regenerated.
45589         * tests/unictype/test-categ_Me.c: Regenerated.
45590         * tests/unictype/test-categ_Mn.c: Regenerated.
45591         * tests/unictype/test-categ_N.c: Regenerated.
45592         * tests/unictype/test-categ_Nd.c: Regenerated.
45593         * tests/unictype/test-categ_Nl.c: Regenerated.
45594         * tests/unictype/test-categ_No.c: Regenerated.
45595         * tests/unictype/test-categ_P.c: Regenerated.
45596         * tests/unictype/test-categ_Pd.c: Regenerated.
45597         * tests/unictype/test-categ_Pe.c: Regenerated.
45598         * tests/unictype/test-categ_Pf.c: Regenerated.
45599         * tests/unictype/test-categ_Pi.c: Regenerated.
45600         * tests/unictype/test-categ_Po.c: Regenerated.
45601         * tests/unictype/test-categ_Ps.c: Regenerated.
45602         * tests/unictype/test-categ_S.c: Regenerated.
45603         * tests/unictype/test-categ_Sk.c: Regenerated.
45604         * tests/unictype/test-categ_Sm.c: Regenerated.
45605         * tests/unictype/test-categ_So.c: Regenerated.
45606         * tests/unictype/test-ctype_alnum.c: Regenerated.
45607         * tests/unictype/test-ctype_alpha.c: Regenerated.
45608         * tests/unictype/test-ctype_graph.c: Regenerated.
45609         * tests/unictype/test-ctype_lower.c: Regenerated.
45610         * tests/unictype/test-ctype_print.c: Regenerated.
45611         * tests/unictype/test-ctype_punct.c: Regenerated.
45612         * tests/unictype/test-ctype_upper.c: Regenerated.
45613         * tests/unictype/test-decdigit.h: Regenerated.
45614         * tests/unictype/test-digit.h: Regenerated.
45615         * tests/unictype/test-numeric.h: Regenerated.
45616         * tests/unictype/test-pr_alphabetic.c: Regenerated.
45617         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
45618         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
45619         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
45620         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
45621         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
45622         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
45623         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
45624         * tests/unictype/test-pr_combining.c: Regenerated.
45625         * tests/unictype/test-pr_dash.c: Regenerated.
45626         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
45627         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
45628         * tests/unictype/test-pr_deprecated.c: Regenerated.
45629         * tests/unictype/test-pr_diacritic.c: Regenerated.
45630         * tests/unictype/test-pr_extender.c: Regenerated.
45631         * tests/unictype/test-pr_format_control.c: Regenerated.
45632         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
45633         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
45634         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
45635         * tests/unictype/test-pr_id_continue.c: Regenerated.
45636         * tests/unictype/test-pr_id_start.c: Regenerated.
45637         * tests/unictype/test-pr_ideographic.c: Regenerated.
45638         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
45639         * tests/unictype/test-pr_lowercase.c: Regenerated.
45640         * tests/unictype/test-pr_math.c: Regenerated.
45641         * tests/unictype/test-pr_numeric.c: Regenerated.
45642         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
45643         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
45644         Regenerated.
45645         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
45646         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
45647         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
45648         * tests/unictype/test-pr_other_math.c: Regenerated.
45649         * tests/unictype/test-pr_punctuation.c: Regenerated.
45650         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
45651         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
45652         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
45653         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
45654         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
45655         * tests/unictype/test-pr_uppercase.c: Regenerated.
45656         * tests/unictype/test-pr_xid_continue.c: Regenerated.
45657         * tests/unictype/test-pr_xid_start.c: Regenerated.
45658         * tests/unictype/test-pr_zero_width.c: Regenerated.
45659
45660         Update to Unicode 5.1.0.
45661         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
45662         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
45663         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
45664         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
45665         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
45666         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
45667         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
45668         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
45669         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
45670         (nonspacing_table_ind): Update.
45671         * tests/uniwidth/test-uc_width2.sh: Update expected result.
45672
45673         Update to Unicode 5.1.0.
45674         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
45675         code transform.
45676         * lib/uniname/uniname.c (unicode_character_name,
45677         unicode_name_character): Add the range 0x1Fxxx to the code transform.
45678         * lib/uniname/uninames.h: Regenerated.
45679         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
45680
45681 2009-02-07  Bruno Haible  <bruno@clisp.org>
45682
45683         Merge gen-ctype and gen-lbrk into a single program.
45684         * lib/gen-uni-tables.c: New file, incorporating
45685         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
45686         Add directory prefixes to the names of the generated files.
45687         * lib/unictype/gen-ctype.c: Remove file.
45688         * lib/unilbrk/gen-lbrk.c: Remove file.
45689         * modules/gen-uni-tables: New file.
45690         * modules/unictype/gen-ctype: Remove file.
45691         * modules/unilbrk/gen-lbrk: Remove file.
45692
45693 2009-02-07  Bruno Haible  <bruno@clisp.org>
45694
45695         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
45696
45697         New module 'unistr/u32-strcoll'.
45698         * modules/unistr/u32-strcoll: New file.
45699         * lib/unistr/u32-strcoll.c: New file.
45700
45701         New module 'unistr/u16-strcoll'.
45702         * modules/unistr/u16-strcoll: New file.
45703         * lib/unistr/u16-strcoll.c: New file.
45704
45705         New module 'unistr/u8-strcoll'.
45706         * modules/unistr/u8-strcoll: New file.
45707         * lib/unistr/u8-strcoll.c: New file.
45708         * lib/unistr/u-strcoll.h: New file.
45709
45710 2009-02-07  Bruno Haible  <bruno@clisp.org>
45711
45712         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
45713         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45714         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45715         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
45716         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
45717         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
45718
45719 2009-02-07  Bruno Haible  <bruno@clisp.org>
45720
45721         Make 64-bit clean.
45722         * lib/unictype/gen-ctype.c (output_predicate, output_category,
45723         output_combclass, output_bidi_category, output_decimal_digit,
45724         output_digit, output_numeric, output_mirror, output_scripts,
45725         output_ident_category): Use proper width specifier in format strings.
45726
45727 2009-02-07  Bruno Haible  <bruno@clisp.org>
45728
45729         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
45730         failure behaviour.
45731
45732 2009-02-07  Jim Meyering  <meyering@redhat.com>
45733
45734         regex: avoid compilation failure with upcoming gcc-4.4
45735         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
45736         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
45737         "... error: integer overflow in preprocessor expression".
45738
45739 2009-02-05  Ben Pfaff  <blp@gnu.org>
45740
45741         Fix link errors on Windows when close module is used.
45742         * modules/close: Add $(LIB_CLOSE) to Link section.
45743         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
45744         $(LIB_CLOSE) on Windows.
45745
45746 2009-02-05  Jim Meyering  <meyering@redhat.com>
45747
45748         still avoid unused-parameter warnings, but do it cleanly
45749         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
45750         (get_fs_usage): Cast to void instead.
45751         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
45752         (dev_from_mount_options, read_file_system_list): Cast to void.
45753         Prompted by Bruno Haible.
45754
45755 2009-02-04  Jim Meyering  <meyering@redhat.com>
45756
45757         fsusage.c: correct copyright year
45758         * lib/fsusage.c: Reflect year in which the change is pushed into
45759
45760         avoid misc. warnings
45761         * lib/fsusage.c (UNUSED_PARAM): Define.
45762         (get_fs_usage): Mark parameter "disk" as unused.
45763         * lib/getugroups.c (getgrent): Use "void" in prototype.
45764         * lib/mountlist.c: Mark unused parameters.
45765         (read_file_system_list): Declare a local with "const".
45766         * lib/nanosleep.c (getnow): Declare static.
45767         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
45768
45769         dirfd: set errno upon failure
45770         * lib/dirfd.c: Include <errno.h>.
45771         Set errno to ENOTSUP when returning -1.
45772         * modules/dirfd (Depends-on): Add errno.
45773         Suggested by John Kodis <kodis@comcast.net>.
45774
45775 2009-02-01  Bruno Haible  <bruno@clisp.org>
45776
45777         Don't assume sizeof (long) >= sizeof (void *).
45778         * lib/memcmp.c: Include stdint.h.
45779         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
45780         srcp2 to 'const byte *'.
45781         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
45782         types to uintptr_t.
45783         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
45784         * modules/memcmp (Depends-on): Add stdint.
45785         Reported by Ozkan Sezer <sezeroz@gmail.com>.
45786
45787 2009-01-30  Eric Blake  <ebb9@byu.net>
45788
45789         fix more require-before-expand issues
45790         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
45791         expand, AC_PROG_AWK.
45792         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
45793
45794 2009-01-28  Eric Blake  <ebb9@byu.net>
45795
45796         version-etc: use consistent URL formatting
45797         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
45798         Improve formatting.  Use fputs for string without %.
45799
45800 2009-01-28  Jim Meyering  <meyering@redhat.com>
45801
45802         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
45803         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
45804         "underquoted definition of NAME" from autoconf-2.59.
45805
45806 2009-01-28  Bruno Haible  <bruno@clisp.org>
45807
45808         * doc/gnulib.texi: Add "Obsolete modules" to index.
45809
45810 2009-01-28  Jim Meyering  <meyering@redhat.com>
45811
45812         useless-if-before-free: recognize more variants
45813         * build-aux/useless-if-before-free: Also recognize e.g.,
45814         if (NULL != p) free (p);
45815
45816 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
45817
45818         test-getaddrinfo: skip (don't fail) this test when there's no network
45819         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
45820         on the presumption that it means you lack network access.
45821
45822 2009-01-26  Jim Meyering  <meyering@redhat.com>
45823
45824         fflush: avoid warnings on modern systems
45825         * lib/fflush.c (rpl_fflush): Move declarations of locals,
45826         pos and result, into scopes where they're used.
45827
45828 2009-01-26  Eric Blake  <ebb9@byu.net>
45829
45830         Silence warning reintroduced by recent extensions patch.
45831         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
45832         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
45833         autoconf.
45834
45835         Backport improved autoconf semantics of AC_DEFUN_ONCE.
45836         * m4/00gnulib.m4: New file.
45837         * gnulib-tool (func_get_filelist): Always use it.
45838         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
45839         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
45840
45841 2009-01-25  Bruno Haible  <bruno@clisp.org>
45842
45843         Make test-quotearg work on MacOS X and AIX.
45844         * tests/test-quotearg.sh: New file.
45845         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
45846         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
45847         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
45848         include <libintl.h>.
45849         (fake_locale): Remove variable.
45850         (gettext, dgettext, dcgettext): Remove functions.
45851         (main): Instead of setting a fake locale, set a real locale. Call
45852         textdomain and bindtextdomain.
45853         * modules/quotearg-tests (Files): Add the new files.
45854         (Depends-on): Add gettext, setenv, unsetenv.
45855         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
45856         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
45857         Augment TESTS_ENVIRONMENT.
45858
45859 2009-01-25  Bruno Haible  <bruno@clisp.org>
45860
45861         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
45862         fr_FR.ISO8859-1 locale on MacOS X.
45863         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
45864         ja_JP.eucJP locale on MacOS X.
45865         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
45866         zh_CN.GB18030 locale on MacOS X.
45867
45868 2009-01-25  Bruno Haible  <bruno@clisp.org>
45869
45870         Avoid link errors on MacOS X 10.3.
45871         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
45872         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45873
45874 2009-01-25  Bruno Haible  <bruno@clisp.org>
45875
45876         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45877         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
45878         * modules/pipe (Files): Remove m4/posix_spawn.m4.
45879         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45880         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
45881         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45882         posix_spawnattr_init, posix_spawnattr_setsigmask,
45883         posix_spawnattr_setflags, posix_spawnattr_destroy.
45884
45885         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45886         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
45887         * modules/execute (Files): Remove m4/posix_spawn.m4.
45888         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45889         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45890         posix_spawnattr_init, posix_spawnattr_setsigmask,
45891         posix_spawnattr_setflags, posix_spawnattr_destroy.
45892
45893 2009-01-25  Bruno Haible  <bruno@clisp.org>
45894
45895         * lib/glthread/threadlib.c: Include <stdlib.h>.
45896
45897 2009-01-25  Bruno Haible  <bruno@clisp.org>
45898
45899         * lib/glthread/threadlib.c (dummy): New declaration.
45900
45901 2009-01-25  Bruno Haible  <bruno@clisp.org>
45902
45903         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
45904         multibyte characters also for the GB18030 encoding. Don't crash when
45905         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
45906
45907 2009-01-25  Bruno Haible  <bruno@clisp.org>
45908
45909         Avoid redefining 'struct random_data' on OSF/1 5.1.
45910         * lib/stdlib.in.h: Include <random.h> if it exists.
45911         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
45912         HAVE_RANDOM_H. Include <random.h> when testing whether
45913         'struct random_data' exists.
45914         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
45915
45916 2009-01-25  Bruno Haible  <bruno@clisp.org>
45917
45918         Don't install charset.alias on MacOS X >= 10.3.
45919         * lib/localcharset.c (DARWIN7): New macro.
45920         (get_charset_aliases): Hardcode the result for Darwin7.
45921         * modules/localcharset (install-exec-local): Don't install
45922         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
45923
45924 2009-01-25  Bruno Haible  <bruno@clisp.org>
45925
45926         Don't install charset.alias on mingw and Cygwin.
45927         * modules/localcharset (install-exec-local): Don't install
45928         charset.alias on mingw and Cygwin, if the file does not yet exist.
45929         The result for these platforms is hardcoded in localcharset.c.
45930
45931 2009-01-25  Bruno Haible  <bruno@clisp.org>
45932
45933         Make it possible again to use AC_GNU_SOURCE together with gnulib.
45934         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
45935         before requiring AC_USE_SYSTEM_EXTENSIONS.
45936
45937 2009-01-25  Jim Meyering  <meyering@redhat.com>
45938
45939         c-strtod: avoid warnings
45940         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
45941         "assignment discards qualifiers from pointer target type" warnings.
45942
45943 2009-01-24  Bruno Haible  <bruno@clisp.org>
45944
45945         Add support for non-UTF-8 locales on MacOS X.
45946         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
45947         canonical encodings. For Darwin 7 and newer, don't map traditional
45948         encodings to UTF-8.
45949         Reported by Vincent Lefevre <vincent@vinc17.org>
45950         at <http://savannah.gnu.org/bugs/?25235>.
45951
45952 2009-01-24  Bruno Haible  <bruno@clisp.org>
45953
45954         * doc/gnulib.texi (Obsolete modules): New section.
45955         Reported by Mike Frysinger <vapier@gentoo.org>.
45956
45957 2009-01-24  Bruno Haible  <bruno@clisp.org>
45958
45959         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
45960         (%.dvi): New rule.
45961
45962 2009-01-24  Bruno Haible  <bruno@clisp.org>
45963
45964         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
45965         Reported by Eric Blake.
45966
45967 2009-01-24  Bruno Haible  <bruno@clisp.org>
45968
45969         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
45970         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
45971         Reported by Gary V. Vaughan <gary@gnu.org>.
45972
45973 2009-01-24  Bruno Haible  <bruno@clisp.org>
45974
45975         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
45976
45977 2009-01-23  Bruno Haible  <bruno@clisp.org>
45978
45979         Make c-strtod, c-strtold usable in libraries.
45980         * lib/c-strtod.c: Include string.h instead of xalloc.h.
45981         (C_STRTOD): Call strdup instead of xstrdup.
45982         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
45983         * modules/c-strtold (Depends-on): Likewise.
45984         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
45985         * NEWS: Mention the change.
45986         Reported by Michael Gold <mgold@ncf.ca>.
45987
45988 2009-01-23  Jim Meyering  <meyering@redhat.com>
45989
45990         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
45991         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
45992         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
45993
45994 2009-01-23  Simon Josefsson  <simon@josefsson.org>
45995
45996         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
45997         GNU CoreUtils.
45998         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
45999         * modules/version-etc (Description): Update.
46000
46001 2009-01-22  Bruno Haible  <bruno@clisp.org>
46002
46003         Cache the C locale object.
46004         * lib/c-strtod.c (c_locale_cache): New variable.
46005         (c_locale): New function.
46006         (C_STRTOD): Use it, and don't call freelocale.
46007         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
46008         Suggested by Paolo Bonzini.
46009
46010 2009-01-21  Bruno Haible  <bruno@clisp.org>
46011
46012         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
46013         conditions other than overflow.
46014
46015 2009-01-21  Bruno Haible  <bruno@clisp.org>
46016
46017         * lib/c-strtod.c: Include errno.h.
46018         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
46019         value from STRTOD_L and STRTOD.
46020
46021 2009-01-21  Bruno Haible  <bruno@clisp.org>
46022         and Jim Meyering  <meyering@redhat.com>
46023
46024         nanosleep: skip configure test (fail it) for apple universal builds
46025         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
46026         universal builds, assume that nanosleep does not work.
46027         * modules/nanosleep (Depends-on): Add multiarch.
46028
46029         mktime: skip configure test (fail it) for apple universal builds
46030         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
46031         universal builds, assume that mktime does not work.
46032         * modules/mktime (Depends-on): Add multiarch.
46033
46034 2009-01-21  Eric Blake  <ebb9@byu.net>
46035
46036         multiarch: avoid expand-before-require warning
46037         * modules/multiarch (configure.ac): Require, rather than expand,
46038         gl_MULTIARCH.
46039         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
46040         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
46041         enforce that all clients require it.  Partial reversion of
46042         2008-12-29 patch.
46043
46044         error: avoid expand-before-require warning
46045         * modules/errno (configure.ac): Require, rather than expand,
46046         gl_HEADER_ERRNO_H.
46047         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
46048         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
46049         enforce that all clients require it.
46050
46051         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
46052         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
46053         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
46054         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
46055
46056 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
46057
46058         Revert:
46059         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46060
46061         regex: do not depend on obsolete modules.
46062         * modules/regex: Remove memcmp and memmove.
46063
46064 2009-01-20  Bruno Haible  <bruno@clisp.org>
46065
46066         Make the 'link' module link on Windows NT 4.
46067         * lib/link.c (_WIN32_WINNT): Don't define.
46068         (CreateHardLinkFuncType): New type.
46069         (CreateHardLinkFunc, initialized): New variables.
46070         (initialize): New function.
46071         (link): Invoke CreateHardLink indirectly through the function pointer.
46072
46073 2009-01-20  Bruno Haible  <bruno@clisp.org>
46074
46075         Fix compilation failure on mingw.
46076         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
46077
46078 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
46079
46080         * doc/c-strtod.texi: Mention a couple of restrictions.
46081
46082 2009-01-20  Jim Meyering  <meyering@redhat.com>
46083
46084         gettimeofday: move more declarations out of functions
46085         * lib/gettimeofday.c: Move extern declarations of tzset and
46086         gmtime out of containing functions.  Prompted by Bruno Haible.
46087
46088 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46089
46090         regex: do not depend on obsolete modules.
46091         * modules/regex: Remove memcmp and memmove.
46092
46093 2009-01-19  Bruno Haible  <bruno@clisp.org>
46094
46095         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46096         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
46097         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46098         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
46099         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
46100
46101 2009-01-19  Bruno Haible  <bruno@clisp.org>
46102
46103         * tests/test-link.c: Include <errno.h>.
46104         (main): Exit with code 77 when a hard link cannot be created due to
46105         the file system.
46106         * tests/test-link.sh: Skip test when a hard link cannot be created due
46107         to the file system.
46108         Suggested by Eric Blake.
46109
46110 2009-01-19  Martin Lambers  <marlam@marlam.de>
46111
46112         * modules/link-tests: New file.
46113         * tests/test-link.sh: New file.
46114         * tests/test-link.c: New file.
46115
46116 2009-01-19  Eric Blake  <ebb9@byu.net>
46117
46118         doc: mention another function added in cygwin 1.7.0
46119         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
46120         Another new function in cygwin 1.7.
46121
46122 2009-01-19  Bruno Haible  <bruno@clisp.org>
46123
46124         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46125         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
46126         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
46127         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46128         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46129         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
46130         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
46131         * m4/md4.m4 (gl_MD4): Likewise.
46132         * m4/md5.m4 (gl_MD5): Likewise.
46133         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
46134         * m4/sha1.m4 (gl_SHA1): Likewise.
46135         * m4/sha256.m4 (gl_SHA256): Likewise.
46136         * m4/sha512.m4 (gl_SHA512): Likewise.
46137
46138 2009-01-19  Bruno Haible  <bruno@clisp.org>
46139
46140         * modules/uniname/uniname-tests (Depends-on): Add progname.
46141         * tests/uniname/test-uninames.c: Include progname.h.
46142         (main): Call set_program_name.
46143
46144         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
46145         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
46146         (main): Call set_program_name.
46147
46148         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
46149         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
46150         (main): Call set_program_name.
46151
46152         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
46153         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
46154         (main): Call set_program_name.
46155
46156         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
46157         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
46158         (main): Call set_program_name.
46159
46160         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
46161         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
46162         (main): Call set_program_name.
46163
46164         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
46165         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
46166         (main): Call set_program_name.
46167
46168         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
46169         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
46170         (main): Call set_program_name.
46171
46172         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
46173         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
46174         (main): Call set_program_name.
46175
46176 2009-01-19  Eric Blake  <ebb9@byu.net>
46177
46178         test-unistd: test previous patch
46179         * tests/test-unistd.c: Test *_FILENO macros.
46180
46181         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
46182         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46183         Guarantee a definition.
46184         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
46185         * modules/unistd-safer (Depends-on): Add dependency on unistd.
46186         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
46187         * lib/dup-safer.c (STDERR_FILENO): Likewise.
46188         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46189         Likewise.
46190         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
46191         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
46192         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46193         Likewise.
46194         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
46195         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
46196         (STDERR_FILENO): Likewise.
46197         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
46198         (STDERR_FILENO): Likewise.
46199         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
46200         (STDERR_FILENO): Likewise.
46201         Reported by Elbert Pol.
46202
46203 2009-01-19  Eric Blake  <ebb9@byu.net>
46204
46205         doc: mention more functions added in cygwin 1.7.0
46206         * doc/posix-functions/abort.texi (abort): Update wording related
46207         to cygwin.
46208         * doc/posix-functions/daylight.texi (daylight): Likewise.
46209         * doc/posix-functions/optarg.texi (optarg): Likewise.
46210         * doc/posix-functions/optarg.texi (opterr): Likewise.
46211         * doc/posix-functions/optarg.texi (optind): Likewise.
46212         * doc/posix-functions/optarg.texi (optopt): Likewise.
46213         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
46214         worked in 1.5.x, and was withdrawn in 1.7.
46215         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
46216         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
46217         cygwin versions.
46218         * doc/posix-functions/perror.texi (perror): Likewise.
46219         * doc/posix-functions/printf.texi (printf): Likewise.
46220         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
46221         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
46222         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
46223         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
46224         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
46225         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
46226         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
46227         Likewise.
46228         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
46229         Likewise.
46230         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
46231         this function.
46232         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
46233         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
46234         Likewise.
46235         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
46236         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
46237         * doc/posix-functions/confstr.texi (confstr): Likewise.
46238         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
46239         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
46240         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
46241         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
46242         * doc/posix-functions/fputws.texi (fputws): Likewise.
46243         * doc/posix-functions/fwide.texi (fwide): Likewise.
46244         * doc/posix-functions/getwc.texi (getwc): Likewise.
46245         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
46246         * doc/posix-functions/putwc.texi (putwc): Likewise.
46247         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
46248         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
46249         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
46250         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
46251         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
46252         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
46253         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
46254         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
46255         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
46256         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
46257         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
46258
46259 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46260
46261         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
46262         * lib/ioctl.c: Include <sys/ioctl.h>.
46263
46264 2009-01-19  Simon Josefsson  <simon@josefsson.org>
46265
46266         * modules/getdate-tests (Depends-on): Add progname.
46267         * tests/test-getdate.c: Use progname module, to avoid link errors
46268         on non-glibc systems.
46269
46270 2009-01-18  Simon Josefsson  <simon@josefsson.org>
46271
46272         * modules/filenamecat-tests (Depends-on): Add progname.
46273         * modules/fstrcmp-tests (Depends-on): Likewise.
46274
46275         * tests/test-filenamecat.c: Use progname module, to avoid link
46276         errors on non-glibc systems.
46277         * tests/test-fstrcmp.c: Likewise.
46278
46279 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46280
46281         gettimeofday: avoid warning: nested extern declaration of 'localtime'
46282         * lib/gettimeofday.c: Move extern declaration out of function.
46283
46284 2009-01-18  Bruno Haible  <bruno@clisp.org>
46285
46286         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
46287         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
46288         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
46289
46290 2009-01-18  Bruno Haible  <bruno@clisp.org>
46291
46292         * lib/strftime.c (MEMPCPY): Remove unused macro.
46293         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
46294
46295 2009-01-18  Martin Lambers  <marlam@marlam.de>
46296
46297         New module 'link'.
46298         * lib/unistd.in.h (link): New declaration.
46299         * lib/link.c: New file.
46300         * m4/link.m4: New file.
46301         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
46302         HAVE_LINK.
46303         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
46304         * modules/link: New file.
46305         * doc/posix-functions/link.texi: Mention the new module.
46306
46307 2009-01-18  Bruno Haible  <bruno@clisp.org>
46308
46309         * tests/test-avltree_list.c (main): Call set_program_name.
46310         * tests/test-avltree_oset.c (main): Likewise.
46311         * tests/test-obstack-printf.c: Include progname.h.
46312         (main): Call set_program_name.
46313         * tests/test-quotearg.c: Include progname.h.
46314         (main): Call set_program_name.
46315         * tests/test-xmemdup0.c: Include progname.h.
46316         (main): Call set_program_name.
46317
46318 2009-01-18  Bruno Haible  <bruno@clisp.org>
46319
46320         New module 'alphasort'.
46321         * lib/dirent.in.h (alphasort): New declaration.
46322         * lib/alphasort.c: New file, from glibc with modifications.
46323         * m4/alphasort.m4: New file.
46324         * modules/alphasort: New file.
46325         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
46326         HAVE_ALPHASORT.
46327         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
46328         HAVE_ALPHASORT.
46329         * doc/posix-functions/alphasort.texi: Mention the new module and the
46330         portability problems.
46331
46332 2009-01-18  Bruno Haible  <bruno@clisp.org>
46333
46334         New module 'scandir'.
46335         * lib/dirent.in.h (scandir): New declaration.
46336         * lib/scandir.c: New file, from glibc with modifications.
46337         * m4/scandir.m4: New file.
46338         * modules/scandir: New file.
46339         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
46340         HAVE_SCANDIR.
46341         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
46342         HAVE_SCANDIR.
46343         * doc/posix-functions/scandir.texi: Mention the new module and the
46344         portability problems.
46345
46346 2009-01-17  Bruno Haible  <bruno@clisp.org>
46347
46348         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
46349         Update documentation.
46350         (func_remove_suffix): Escape all dots in the suffix. Update
46351         documentation.
46352         (func_filter_filelist): Update documentation.
46353         Reported by Ralf Wildenhues.
46354
46355 2009-01-17  Bruno Haible  <bruno@clisp.org>
46356
46357         * modules/dprintf-posix-tests: New file.
46358         * tests/test-dprintf-posix.sh: New file.
46359         * tests/test-dprintf-posix.c: New file.
46360
46361         New modules 'dprintf', 'dprintf-posix'.
46362         * lib/stdio.in.h (dprintf): New declaration.
46363         * lib/dprintf.c: New file.
46364         * m4/dprintf.m4: New file.
46365         * m4/dprintf-posix.m4: New file.
46366         * modules/dprintf: New file.
46367         * modules/dprintf-posix: New file.
46368         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
46369         HAVE_DPRINTF, REPLACE_DPRINTF.
46370         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
46371         HAVE_DPRINTF, REPLACE_DPRINTF.
46372         * doc/posix-functions/dprintf.texi: Mention the new modules.
46373
46374 2009-01-17  Bruno Haible  <bruno@clisp.org>
46375
46376         * modules/vdprintf-posix-tests: New file.
46377         * tests/test-vdprintf-posix.sh: New file.
46378         * tests/test-vdprintf-posix.c: New file.
46379
46380         New modules 'vdprintf', 'vdprintf-posix'.
46381         * lib/stdio.in.h (vdprintf): New declaration.
46382         * lib/vdprintf.c: New file.
46383         * m4/vdprintf.m4: New file.
46384         * m4/vdprintf-posix.m4: New file.
46385         * modules/vdprintf: New file.
46386         * modules/vdprintf-posix: New file.
46387         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
46388         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46389         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
46390         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46391         * doc/posix-functions/vdprintf.texi: Mention the new modules.
46392
46393 2009-01-17  Bruno Haible  <bruno@clisp.org>
46394
46395         Fix replacement of fopen on mingw.
46396         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
46397         mingw.
46398
46399 2009-01-17  Bruno Haible  <bruno@clisp.org>
46400
46401         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
46402         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
46403
46404 2009-01-17  Bruno Haible  <bruno@clisp.org>
46405
46406         Avoid test-fflush2.sh failure on mingw.
46407         * tests/test-fflush2.c: Include binary-io.h.
46408         (main): Put standard input into binary mode.
46409         * modules/fflush-tests (Depends-on): Add binary-io.
46410
46411 2009-01-17  Bruno Haible  <bruno@clisp.org>
46412
46413         * lib/wchar.in.h: In another particular situation, include only the
46414         system's <wchar.h> file.
46415         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
46416         Reported by Albert Chin-A-Young <china@thewrittenword.com>
46417         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
46418
46419 2009-01-17  Bruno Haible  <bruno@clisp.org>
46420
46421         Support for stripping executables in --enable-relocatable.
46422         * build-aux/install-reloc: Expect one more argument, or an environment
46423         variable RELOC_STRIP_PROG. If set, strip the destination program and
46424         its wrapper.
46425         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
46426         RELOC_STRIP_PROG.
46427         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
46428         to set RELOCATABLE_STRIP.
46429         * NEWS: Mention the new Makefile requirement.
46430
46431 2009-01-17  Bruno Haible  <bruno@clisp.org>
46432
46433         * build-aux/install-reloc: Remove debugging information left over by
46434         C compiler on MacOS X.
46435
46436 2009-01-17  Bruno Haible  <bruno@clisp.org>
46437
46438         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
46439         * lib/progreloc.c (find_executable): Fix type of pointer passed to
46440         _NSGetExecutablePath.
46441
46442 2009-01-16  Jim Meyering  <meyering@redhat.com>
46443
46444         strerror: avoid warnings about discarding "const"
46445         * lib/strerror.c (rpl_strerror): Instead of returning a const
46446         string from each and every "case", use a variable, and add a single
46447         cast after the switch.
46448
46449 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
46450
46451         * lib/arpa_inet.in.h: Add extern "C" block for C++.
46452
46453 2009-01-16  Bruno Haible  <bruno@clisp.org>
46454
46455         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
46456         array initializer syntax that also works in C++ mode.
46457         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46458
46459 2009-01-16  Jim Meyering  <meyering@redhat.com>
46460
46461         poll: suppress a warning
46462         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
46463         to ignore "...unsigned expression < 0 is always false" warnings.
46464
46465 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
46466
46467         poll: remove declarations of unused variables
46468         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
46469         sockbuf and optlen.
46470
46471 2009-01-15  Bruno Haible  <bruno@clisp.org>
46472
46473         Make fflush-after-ungetc POSIX compliant on BSD systems.
46474         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
46475         (clear_ungetc_buffer): Implement also for other systems.
46476         (rpl_fflush): On glibc systems, invoke
46477         clear_ungetc_buffer_preserving_position. Otherwise, invoke
46478         clear_ungetc_buffer after fetching the stream's position, not before.
46479
46480 2009-01-15  Bruno Haible  <bruno@clisp.org>
46481
46482         Make fflush-after-ungetc POSIX compliant on glibc systems.
46483         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
46484         after ungetc.
46485         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
46486         (rpl_fflush): On glibc systems, simply call the system's fflush
46487         function after clearing the ungetc buffer.
46488         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
46489         Instead, lseek only to the end of file, then use the system's fseeko
46490         for the rest. On glibc systems, reset the EOF indicator bit.
46491
46492 2009-01-15  Jim Meyering  <meyering@redhat.com>
46493
46494         openmp.m4: revert quote-adding change, for portability to older autoconf
46495         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
46496         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
46497         Simon Josefsson noticed the problem when using autoconf-2.61.
46498
46499 2009-01-15  Bruno Haible  <bruno@clisp.org>
46500
46501         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
46502         * tests/test-fflush2.c (ASSERT): Always fail.
46503         (main): Add two tests for fflush() after ungetc(), taking into account
46504         the Austin Group's clarification.
46505         Suggested by Eric Blake.
46506
46507 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
46508
46509         mktime.m4: remove K&R-style function prototypes
46510         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
46511         for the Sun C++ compiler.
46512
46513 2009-01-14  Bruno Haible  <bruno@clisp.org>
46514
46515         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
46516         while including <wchar.h>.
46517         * lib/wchar.in.h: In two particular situations on HP-UX, include only
46518         the system's <wchar.h> file.
46519         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46520
46521 2009-01-14  Bruno Haible  <bruno@clisp.org>
46522
46523         * m4/csharp.m4: Don't mention gettext on the serial number line.
46524         * m4/csharpexec.m4: Likewise.
46525         * m4/eaccess.m4: Likewise.
46526         * m4/javaexec.m4: Likewise.
46527         * m4/sig_atomic_t.m4: Likewise.
46528         * m4/tmpdir.m4: Likewise.
46529         * m4/intldir.m4: Bump gettext version.
46530         * m4/lib-ld.m4: Likewise.
46531
46532 2009-01-14  Bruno Haible  <bruno@clisp.org>
46533
46534         * lib/progname.c (set_program_name): Add more comments.
46535         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
46536
46537 2009-01-14  Simon Josefsson  <simon@josefsson.org>
46538
46539         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
46540         were sys/stat.h does not define it.
46541
46542 2009-01-14  Jim Meyering  <meyering@redhat.com>
46543
46544         many *.m4 files: improve m4 quoting
46545         99% of this change was performed by running the following commands:
46546         git ls-files | grep '\.m4$' | xargs perl -pi \
46547           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
46548           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46549           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46550           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
46551         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
46552         The remainder were to add Copyright dates, increment serial numbers,
46553         undo some changes in comments, exclude m4/intl.m4, and add quotes
46554         around the "1" in ",1" where the unusual spacing prohibited the
46555         above regexps from doing the job.  For more details, see
46556         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
46557         * m4/acl.m4: Modified.
46558         * m4/afs.m4: Likewise.
46559         * m4/alloca.m4: Likewise.
46560         * m4/argp.m4: Likewise.
46561         * m4/argz.m4: Likewise.
46562         * m4/atexit.m4: Likewise.
46563         * m4/bison-i18n.m4: Likewise.
46564         * m4/bison.m4: Likewise.
46565         * m4/byteswap.m4: Likewise.
46566         * m4/c-stack.m4: Likewise.
46567         * m4/c-strtod.m4: Likewise.
46568         * m4/calloc.m4: Likewise.
46569         * m4/canonicalize-lgpl.m4: Likewise.
46570         * m4/chown.m4: Likewise.
46571         * m4/clock_time.m4: Likewise.
46572         * m4/codeset.m4: Likewise.
46573         * m4/copy-file.m4: Likewise.
46574         * m4/csharp.m4: Likewise.
46575         * m4/csharpcomp.m4: Likewise.
46576         * m4/csharpexec.m4: Likewise.
46577         * m4/d-ino.m4: Likewise.
46578         * m4/d-type.m4: Likewise.
46579         * m4/dirfd.m4: Likewise.
46580         * m4/double-slash-root.m4: Likewise.
46581         * m4/eaccess.m4: Likewise.
46582         * m4/eealloc.m4: Likewise.
46583         * m4/environ.m4: Likewise.
46584         * m4/errno_h.m4: Likewise.
46585         * m4/euidaccess.m4: Likewise.
46586         * m4/execute.m4: Likewise.
46587         * m4/fatal-signal.m4: Likewise.
46588         * m4/fchdir.m4: Likewise.
46589         * m4/fcntl_h.m4: Likewise.
46590         * m4/fileblocks.m4: Likewise.
46591         * m4/filenamecat.m4: Likewise.
46592         * m4/findprog.m4: Likewise.
46593         * m4/flexmember.m4: Likewise.
46594         * m4/fnmatch.m4: Likewise.
46595         * m4/fopen.m4: Likewise.
46596         * m4/fpending.m4: Likewise.
46597         * m4/fprintf-posix.m4: Likewise.
46598         * m4/free.m4: Likewise.
46599         * m4/frexp.m4: Likewise.
46600         * m4/frexpl.m4: Likewise.
46601         * m4/fsusage.m4: Likewise.
46602         * m4/ftruncate.m4: Likewise.
46603         * m4/gc-camellia.m4: Likewise.
46604         * m4/gc-random.m4: Likewise.
46605         * m4/gc.m4: Likewise.
46606         * m4/getaddrinfo.m4: Likewise.
46607         * m4/getcwd-abort-bug.m4: Likewise.
46608         * m4/getcwd-path-max.m4: Likewise.
46609         * m4/getdate.m4: Likewise.
46610         * m4/getdomainname.m4: Likewise.
46611         * m4/getgroups.m4: Likewise.
46612         * m4/gethostname.m4: Likewise.
46613         * m4/gethrxtime.m4: Likewise.
46614         * m4/getline.m4: Likewise.
46615         * m4/getloadavg.m4: Likewise.
46616         * m4/getndelim2.m4: Likewise.
46617         * m4/getpass.m4: Likewise.
46618         * m4/gettext.m4: Likewise.
46619         * m4/gettime.m4: Likewise.
46620         * m4/gettimeofday.m4: Likewise.
46621         * m4/gnulib-common.m4: Likewise.
46622         * m4/group-member.m4: Likewise.
46623         * m4/host-os.m4: Likewise.
46624         * m4/iconv.m4: Likewise.
46625         * m4/iconv_open.m4: Likewise.
46626         * m4/inet_ntop.m4: Likewise.
46627         * m4/inet_pton.m4: Likewise.
46628         * m4/inline.m4: Likewise.
46629         * m4/intldir.m4: Likewise.
46630         * m4/intlmacosx.m4: Likewise.
46631         * m4/intmax.m4: Likewise.
46632         * m4/intmax_t.m4: Likewise.
46633         * m4/inttypes.m4: Likewise.
46634         * m4/inttypes_h.m4: Likewise.
46635         * m4/inttypes-pri.m4: Likewise.
46636         * m4/isapipe.m4: Likewise.
46637         * m4/isnand.m4: Likewise.
46638         * m4/isnanf.m4: Likewise.
46639         * m4/isnanl.m4: Likewise.
46640         * m4/javacomp.m4: Likewise.
46641         * m4/javaexec.m4: Likewise.
46642         * m4/jm-winsz1.m4: Likewise.
46643         * m4/jm-winsz2.m4: Likewise.
46644         * m4/lchown.m4: Likewise.
46645         * m4/lcmessage.m4: Likewise.
46646         * m4/ldexpl.m4: Likewise.
46647         * m4/lib-ld.m4: Likewise.
46648         * m4/lib-link.m4: Likewise.
46649         * m4/libsigsegv.m4: Likewise.
46650         * m4/link-follow.m4: Likewise.
46651         * m4/localcharset.m4: Likewise.
46652         * m4/locale-fr.m4: Likewise.
46653         * m4/locale-ja.m4: Likewise.
46654         * m4/locale-tr.m4: Likewise.
46655         * m4/locale-zh.m4: Likewise.
46656         * m4/lock.m4: Likewise.
46657         * m4/longlong.m4: Likewise.
46658         * m4/ls-mntd-fs.m4: Likewise.
46659         * m4/lstat.m4: Likewise.
46660         * m4/malloc.m4: Likewise.
46661         * m4/mathl.m4: Likewise.
46662         * m4/mbrtowc.m4: Likewise.
46663         * m4/mbstate_t.m4: Likewise.
46664         * m4/mbswidth.m4: Likewise.
46665         * m4/memchr.m4: Likewise.
46666         * m4/memcmp.m4: Likewise.
46667         * m4/memcpy.m4: Likewise.
46668         * m4/memmem.m4: Likewise.
46669         * m4/memmove.m4: Likewise.
46670         * m4/mempcpy.m4: Likewise.
46671         * m4/memrchr.m4: Likewise.
46672         * m4/memset.m4: Likewise.
46673         * m4/minmax.m4: Likewise.
46674         * m4/mkdir-slash.m4: Likewise.
46675         * m4/mkdtemp.m4: Likewise.
46676         * m4/mktime.m4: Likewise.
46677         * m4/mmap-anon.m4: Likewise.
46678         * m4/mountlist.m4: Likewise.
46679         * m4/nanosleep.m4: Likewise.
46680         * m4/nls.m4: Likewise.
46681         * m4/nocrash.m4: Likewise.
46682         * m4/open.m4: Likewise.
46683         * m4/openat.m4: Likewise.
46684         * m4/openmp.m4: Likewise.
46685         * m4/pathmax.m4: Likewise.
46686         * m4/perl.m4: Likewise.
46687         * m4/physmem.m4: Likewise.
46688         * m4/pipe.m4: Likewise.
46689         * m4/po.m4: Likewise.
46690         * m4/poll.m4: Likewise.
46691         * m4/posixtm.m4: Likewise.
46692         * m4/posixver.m4: Likewise.
46693         * m4/printf-frexp.m4: Likewise.
46694         * m4/printf-frexpl.m4: Likewise.
46695         * m4/printf-posix.m4: Likewise.
46696         * m4/printf-posix-rpl.m4: Likewise.
46697         * m4/printf.m4: Likewise.
46698         * m4/progtest.m4: Likewise.
46699         * m4/putenv.m4: Likewise.
46700         * m4/readline.m4: Likewise.
46701         * m4/readlink.m4: Likewise.
46702         * m4/readutmp.m4: Likewise.
46703         * m4/realloc.m4: Likewise.
46704         * m4/regex.m4: Likewise.
46705         * m4/relocatable.m4: Likewise.
46706         * m4/relocatable-lib.m4: Likewise.
46707         * m4/rename-dest-slash.m4: Likewise.
46708         * m4/rename.m4: Likewise.
46709         * m4/rmdir-errno.m4: Likewise.
46710         * m4/rmdir.m4: Likewise.
46711         * m4/roundf.m4: Likewise.
46712         * m4/roundl.m4: Likewise.
46713         * m4/rpmatch.m4: Likewise.
46714         * m4/save-cwd.m4: Likewise.
46715         * m4/selinux-selinux-h.m4: Likewise.
46716         * m4/setenv.m4: Likewise.
46717         * m4/settime.m4: Likewise.
46718         * m4/sig2str.m4: Likewise.
46719         * m4/sig_atomic_t.m4: Likewise.
46720         * m4/signalblocking.m4: Likewise.
46721         * m4/signbit.m4: Likewise.
46722         * m4/sigpipe.m4: Likewise.
46723         * m4/sockets.m4: Likewise.
46724         * m4/sockpfaf.m4: Likewise.
46725         * m4/st_dm_mode.m4: Likewise.
46726         * m4/stat-time.m4: Likewise.
46727         * m4/stdbool.m4: Likewise.
46728         * m4/stdint.m4: Likewise.
46729         * m4/stdint_h.m4: Likewise.
46730         * m4/stpcpy.m4: Likewise.
46731         * m4/stpncpy.m4: Likewise.
46732         * m4/strcase.m4: Likewise.
46733         * m4/strchrnul.m4: Likewise.
46734         * m4/strcspn.m4: Likewise.
46735         * m4/strdup.m4: Likewise.
46736         * m4/strftime.m4: Likewise.
46737         * m4/strndup.m4: Likewise.
46738         * m4/strnlen.m4: Likewise.
46739         * m4/strpbrk.m4: Likewise.
46740         * m4/strptime.m4: Likewise.
46741         * m4/strsep.m4: Likewise.
46742         * m4/strtod.m4: Likewise.
46743         * m4/strtoimax.m4: Likewise.
46744         * m4/strtok_r.m4: Likewise.
46745         * m4/strtol.m4: Likewise.
46746         * m4/strtoll.m4: Likewise.
46747         * m4/strtoul.m4: Likewise.
46748         * m4/strtoull.m4: Likewise.
46749         * m4/strtoumax.m4: Likewise.
46750         * m4/strverscmp.m4: Likewise.
46751         * m4/threadlib.m4: Likewise.
46752         * m4/timegm.m4: Likewise.
46753         * m4/tm_gmtoff.m4: Likewise.
46754         * m4/tmpdir.m4: Likewise.
46755         * m4/tmpfile.m4: Likewise.
46756         * m4/tzset.m4: Likewise.
46757         * m4/uintmax_t.m4: Likewise.
46758         * m4/unlinkdir.m4: Likewise.
46759         * m4/unlocked-io.m4: Likewise.
46760         * m4/uptime.m4: Likewise.
46761         * m4/userspec.m4: Likewise.
46762         * m4/utimbuf.m4: Likewise.
46763         * m4/utime.m4: Likewise.
46764         * m4/utimes-null.m4: Likewise.
46765         * m4/utimes.m4: Likewise.
46766         * m4/vararrays.m4: Likewise.
46767         * m4/vasnprintf.m4: Likewise.
46768         * m4/vfprintf-posix.m4: Likewise.
46769         * m4/vprintf-posix.m4: Likewise.
46770         * m4/wait-process.m4: Likewise.
46771         * m4/wchar_t.m4: Likewise.
46772         * m4/wint_t.m4: Likewise.
46773         * m4/write-any-file.m4: Likewise.
46774         * m4/yield.m4: Likewise.
46775
46776 2009-01-13  Bruno Haible  <bruno@clisp.org>
46777
46778         Avoid test-copy-file.sh failures when ACL support insufficient.
46779         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
46780         TESTS_ENVIRONMENT.
46781         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
46782         Reported by Jim Meyering.
46783
46784 2009-01-13  Bruno Haible  <bruno@clisp.org>
46785
46786         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
46787         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
46788         * modules/unistdio/u8-printf-parse (Files): Likewise.
46789         * modules/unistdio/u32-printf-parse (Files): Likewise.
46790         * modules/unistdio/ulc-printf-parse (Files): Likewise.
46791
46792 2009-01-13  Simon Josefsson  <simon@josefsson.org>
46793
46794         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
46795         and m4/inttypes_h.m4 too.
46796
46797 2009-01-12  Eric Blake  <ebb9@byu.net>
46798
46799         tests: IRIX 6.2 cc can't compile -0.0 into .data
46800         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
46801         rather than at compile-time.
46802         * tests/test-floorl.c (minus_zero): Likewise.
46803         * tests/test-frexpl.c (minus_zero): Likewise.
46804         * tests/test-isnan.c (minus_zerol): Likewise.
46805         * tests/test-isnanl.h (minus_zero): Likewise.
46806         * tests/test-ldexpl.c (minus_zero): Likewise.
46807         * tests/test-roundl.c (minus_zero): Likewise.
46808         * tests/test-signbit.c (minus_zerol): Likewise.
46809         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
46810         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
46811         * tests/test-truncl.c (minus_zero): Likewise.
46812         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
46813         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
46814         Reported by Tom G. Christensen and Nelson H. F. Beebe.
46815
46816 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46817
46818         regex: fix glibc bug 9697
46819         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
46820         handling.
46821
46822 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46823
46824         regex: fix glibc bug 697
46825         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
46826         being NULL also if there are no backreferences.
46827
46828 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46829
46830         regex: merge glibc changes
46831         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
46832         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
46833         re_string_skip_chars, re_string_reconstruct): Likewise.
46834         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
46835
46836 2009-01-07  Jim Meyering  <meyering@redhat.com>
46837
46838         poll: filter through cppi
46839         * lib/poll.c: Indent cpp directives to reflect nesting.
46840
46841 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
46842
46843         poll: don't return uninitialized
46844         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
46845
46846 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
46847
46848         avoid compile failure on AIX 6.1
46849         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
46850         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
46851
46852 2009-01-04  Jim Meyering  <meyering@redhat.com>
46853
46854         remove duplicate inclusion of <stdio.h>
46855         * tests/test-fprintf-posix.c: Likewise.
46856         * tests/test-printf-posix.c: Likewise.
46857         * tests/test-snprintf-posix.c: Likewise.
46858         * tests/test-sprintf-posix.c: Likewise.
46859         * tests/test-vasprintf-posix.c: Likewise.
46860         * tests/test-vfprintf-posix.c: Likewise.
46861         * tests/test-vprintf-posix.c: Likewise.
46862         * tests/test-vsnprintf-posix.c: Likewise.
46863         * tests/test-vsprintf-posix.c: Likewise.
46864
46865 2009-01-03  Jim Meyering  <meyering@redhat.com>
46866
46867         gnulib-tool: fix sed-based filtering
46868         * gnulib-tool (func_filter_filelist): Remove extra backslash
46869         in sed_fff_filter definition.
46870
46871 2009-01-02  Jim Meyering  <meyering@redhat.com>
46872
46873         strftime: avoid compilation failure on Solaris 2.6
46874         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
46875         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
46876         Don't #define mbrlen or mbsinit, since now they're guaranteed to
46877         be available.  Reported by Tom G. Christensen.  Details in
46878         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
46879
46880 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46881             Bruno Haible  <bruno@clisp.org>
46882
46883         Speed up gnulib-tool by doing more string processing through shell
46884         built-ins.
46885         * gnulib-tool (fast_func_append): New variable.
46886         (func_remove_prefix, func_remove_suffix): New functions.
46887         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
46888         (func_filter_filelist): New function.
46889         (func_get_dependencies): Use func_remove_suffix instead of sed.
46890         (func_get_automake_snippet): Use func_filter_filelist instead of a
46891         subshell and sed invocation.
46892
46893 2009-01-01  Bruno Haible  <bruno@clisp.org>
46894
46895         Fix a security bug.
46896         * gnulib-tool (func_import, import, update): Don't allow the characters
46897         '"', '$', '`', '\' in macro arguments that become part of commands that
46898         are evaluated.
46899
46900 2009-01-01  Bruno Haible  <bruno@clisp.org>
46901
46902         * gnulib-tool (func_reset_sigpipe): Add more comments.
46903
46904 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46905
46906         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
46907         func_emit_tests_Makefile_am, func_import): Abort loops early if we
46908         already know the answer.
46909
46910 2009-01-01  Jim Meyering  <meyering@redhat.com>
46911
46912         * lib/version-etc.c (version_etc_va): Update copyright year.
46913
46914 2008-12-30  Bruno Haible  <bruno@clisp.org>
46915
46916         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
46917         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
46918         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
46919
46920 2008-12-29  Eric Blake  <ebb9@byu.net>
46921
46922         multiarch: avoid autoconf AC_REQUIRE bug
46923         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
46924         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
46925         2.63 and older.
46926         Reported by Bruno Haible, and analyzed in
46927         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
46928
46929 2008-12-29  Bruno Haible  <bruno@clisp.org>
46930
46931         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
46932         files in subdirectories correctly.
46933         Reported by Ralf Wildenhues.
46934
46935 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46936
46937         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
46938         rather than 'join FILE -', for Solaris join.
46939
46940 2008-12-29  Bruno Haible  <bruno@clisp.org>
46941
46942         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
46943         quoting.
46944         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
46945         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46946         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46947         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
46948         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
46949         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
46950         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
46951         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
46952         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
46953         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
46954         * m4/nls.m4 (AM_NLS): Likewise.
46955         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
46956         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
46957         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
46958         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
46959         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
46960         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
46961         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
46962         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
46963         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
46964         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
46965         * m4/xsize.m4 (gl_XSIZE): Likewise.
46966         Suggested by Jim Meyering.
46967
46968 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46969
46970         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
46971         * lib/parse-duration.c: use a switch instead of cascading if's.
46972
46973 2008-12-29  Eric Blake  <ebb9@byu.net>
46974
46975         wchar.h: supply WEOF on Irix 5.3
46976         * lib/wchar.in.h (wint_t): Also supply WEOF.
46977         * lib/wctype.in.h (wint_t): Likewise.
46978         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
46979         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
46980         Reported by Tom G. Christensen.
46981
46982 2008-12-26  Bruno Haible  <bruno@clisp.org>
46983
46984         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
46985         i486, i586, i686.
46986
46987 2008-12-26  Bruno Haible  <bruno@clisp.org>
46988
46989         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
46990
46991 2008-12-26  Bruno Haible  <bruno@clisp.org>
46992
46993         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
46994         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
46995         not __STDC_CONSTANT_MACROS.
46996         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
46997
46998 2008-12-25  Bruno Haible  <bruno@clisp.org>
46999
47000         Add support for universal builds to vasnprintf.
47001         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
47002         universal builds, guess no.
47003         * modules/vasnprintf-posix (Depends-on): Add multiarch.
47004         * modules/vasprintf-posix (Depends-on): Likewise.
47005         * modules/fprintf-posix (Depends-on): Likewise.
47006         * modules/vfprintf-posix (Depends-on): Likewise.
47007         * modules/snprintf-posix (Depends-on): Likewise.
47008         * modules/vsnprintf-posix (Depends-on): Likewise.
47009         * modules/sprintf-posix (Depends-on): Likewise.
47010         * modules/vsprintf-posix (Depends-on): Likewise.
47011         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47012         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47013         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47014         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47015         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47016         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47017         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47018
47019         Add support for universal builds to <inttypes.h>.
47020         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
47021         _SCNu64_PREFIX): In Apple
47022         universal builds, define directly, using _LP64.
47023         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
47024         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
47025         * modules/inttypes (Depends-on): Add multiarch.
47026         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47027
47028         Add support for universal builds to <stdint.h>.
47029         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
47030         universal builds, define directly, using _LP64.
47031         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
47032         Apple universal builds, don't test for the size and suffix of ptrdiff_t
47033         and size_t.
47034         * modules/stdint (Depends-on): Add multiarch.
47035         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47036
47037         New module 'multiarch'.
47038         * modules/multiarch: New file.
47039         * m4/multiarch.m4: New file.
47040
47041 2008-12-25  Bruno Haible  <bruno@clisp.org>
47042
47043         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
47044
47045 2008-12-25  Bruno Haible  <bruno@clisp.org>
47046
47047         * modules/btowc (License): Relicense under LGPLv2+.
47048         * modules/mbsinit (License): Likewise.
47049         * modules/mbrtowc (License): Likewise.
47050         * modules/wcrtomb (License): Likewise.
47051         * modules/streq (License): Likewise.
47052         Reported by David Lutterkort <lutter@redhat.com>.
47053
47054 2008-12-23  Bruno Haible  <bruno@clisp.org>
47055
47056         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
47057
47058 2008-12-23  Bruno Haible  <bruno@clisp.org>
47059
47060         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
47061         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
47062         GETADDRINFO_LIB, not in LIBS.
47063         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
47064         * modules/canon-host (Link): Likewise.
47065         * NEWS: Mention the change.
47066         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
47067         GETADDRINFO_LIB.
47068
47069 2008-12-22  Bruno Haible  <bruno@clisp.org>
47070
47071         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
47072         * doc/posix-functions/iswalpha_l.texi: Likewise.
47073         * doc/posix-functions/iswblank_l.texi: Likewise.
47074         * doc/posix-functions/iswcntrl_l.texi: Likewise.
47075         * doc/posix-functions/iswctype_l.texi: Likewise.
47076         * doc/posix-functions/iswdigit_l.texi: Likewise.
47077         * doc/posix-functions/iswgraph_l.texi: Likewise.
47078         * doc/posix-functions/iswlower_l.texi: Likewise.
47079         * doc/posix-functions/iswprint_l.texi: Likewise.
47080         * doc/posix-functions/iswpunct_l.texi: Likewise.
47081         * doc/posix-functions/iswspace_l.texi: Likewise.
47082         * doc/posix-functions/iswupper_l.texi: Likewise.
47083         * doc/posix-functions/iswxdigit_l.texi: Likewise.
47084         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
47085         * doc/posix-functions/open_wmemstream.texi: Likewise.
47086         * doc/posix-functions/swscanf.texi: Likewise.
47087         * doc/posix-functions/towctrans_l.texi: Likewise.
47088         * doc/posix-functions/towlower.texi: Likewise.
47089         * doc/posix-functions/towlower_l.texi: Likewise.
47090         * doc/posix-functions/towupper.texi: Likewise.
47091         * doc/posix-functions/towupper_l.texi: Likewise.
47092         * doc/posix-functions/vfwprintf.texi: Likewise.
47093         * doc/posix-functions/vfwscanf.texi: Likewise.
47094         * doc/posix-functions/vswscanf.texi: Likewise.
47095         * doc/posix-functions/vwprintf.texi: Likewise.
47096         * doc/posix-functions/vwscanf.texi: Likewise.
47097         * doc/posix-functions/wcpcpy.texi: Likewise.
47098         * doc/posix-functions/wcpncpy.texi: Likewise.
47099         * doc/posix-functions/wcscasecmp.texi: Likewise.
47100         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
47101         * doc/posix-functions/wcscoll_l.texi: Likewise.
47102         * doc/posix-functions/wcsdup.texi: Likewise.
47103         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47104         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
47105         * doc/posix-functions/wcsnlen.texi: Likewise.
47106         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47107         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
47108         * doc/posix-functions/wctrans_l.texi: Likewise.
47109         * doc/posix-functions/wctype_l.texi: Likewise.
47110         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
47111         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
47112         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
47113         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
47114         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
47115         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
47116         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
47117         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
47118         * doc/glibc-functions/wcschrnul.texi: Likewise.
47119         * doc/glibc-functions/wcsftime_l.texi: Likewise.
47120         * doc/glibc-functions/wcstod_l.texi: Likewise.
47121         * doc/glibc-functions/wcstof_l.texi: Likewise.
47122         * doc/glibc-functions/wcstol_l.texi: Likewise.
47123         * doc/glibc-functions/wcstold_l.texi: Likewise.
47124         * doc/glibc-functions/wcstoll_l.texi: Likewise.
47125         * doc/glibc-functions/wcstoq.texi: Likewise.
47126         * doc/glibc-functions/wcstoul_l.texi: Likewise.
47127         * doc/glibc-functions/wcstoull_l.texi: Likewise.
47128         * doc/glibc-functions/wcstouq.texi: Likewise.
47129         * doc/glibc-functions/wmempcpy.texi: Likewise.
47130
47131 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
47132             Eric Blake  <ebb9@byu.net>
47133             Paolo Bonzini  <bonzini@gnu.org>
47134             Bruno Haible  <bruno@clisp.org>
47135
47136         Make c-stack work on Haiku.
47137         * lib/c-stack.c (SA_ONSTACK): Define fallback.
47138         (c_stack_action): Use SA_ONSTACK flag.
47139
47140 2008-12-22  Bruno Haible  <bruno@clisp.org>
47141
47142         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
47143
47144 2008-12-22  Bruno Haible  <bruno@clisp.org>
47145
47146         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
47147         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
47148         being overridden.
47149         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
47150         New macros.
47151         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
47152         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
47153         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
47154         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
47155
47156 2008-12-22  Bruno Haible  <bruno@clisp.org>
47157
47158         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
47159         from test code.
47160
47161 2008-12-22  Eric Blake  <ebb9@byu.net>
47162
47163         Avoid gcc warnings on cygwin.
47164         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
47165         Avoid unused variable.
47166         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
47167         Likewise.
47168
47169 2008-12-22  Bruno Haible  <bruno@clisp.org>
47170
47171         Remove HAVE_MBRTOWC conditionals.
47172         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
47173         (mbscasecmp): Assume mbrtowc function.
47174         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
47175         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
47176         * lib/mbschr.c: Include mbuiter.h unconditionally.
47177         (mbschr): Assume mbrtowc function.
47178         * lib/mbscspn.c: Include mbuiter.h unconditionally.
47179         (mbscspn): Assume mbrtowc function.
47180         * lib/mbslen.c: Include mbuiter.h unconditionally.
47181         (mbslen): Assume mbrtowc function.
47182         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
47183         (mbsncasecmp): Assume mbrtowc function.
47184         * lib/mbsnlen.c: Include mbiter.h unconditionally.
47185         (mbsnlen): Assume mbrtowc function.
47186         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
47187         (mbspbrk): Assume mbrtowc function.
47188         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
47189         (mbspcasecmp): Assume mbrtowc function.
47190         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
47191         (mbsrchr): Assume mbrtowc function.
47192         * lib/mbssep.c: Include mbuiter.h unconditionally.
47193         (mbssep): Assume mbrtowc function.
47194         * lib/mbsspn.c: Include mbuiter.h unconditionally.
47195         (mbsspn): Assume mbrtowc function.
47196         * lib/mbsstr.c: Include mbuiter.h unconditionally.
47197         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
47198         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
47199         (mbstok_r): Assume mbrtowc function.
47200         * lib/propername.c: Include mbuiter.h unconditionally.
47201         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
47202         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
47203         (trim2): Assume mbrtowc function.
47204         * lib/mbswidth.c (mbsinit): Remove fallback definition.
47205         (mbsnwidth): Assume mbrtowc function.
47206         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
47207         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
47208         fallback definitions.
47209         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
47210
47211 2008-12-22  Bruno Haible  <bruno@clisp.org>
47212
47213         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
47214
47215 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
47216
47217         * modules/regex: Request emulations for the mb*/wc* functions we need.
47218         * m4/regex.m4: Don't look for those functions here.
47219         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
47220
47221 2008-12-22  Bruno Haible  <bruno@clisp.org>
47222
47223         * modules/fnmatch (Depends-on): Remove duplicated dependency.
47224
47225 2008-12-21  Bruno Haible  <bruno@clisp.org>
47226
47227         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
47228         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
47229         (Include): Remove conditionalization.
47230         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
47231         (Include): Remove conditionalization.
47232         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
47233         (Include): Remove conditionalization.
47234         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
47235         * m4/mbfile.m4 (gl_MBFILE): Likewise.
47236         * NEWS: Mention the change.
47237         Reported by Alan Hourihane <alanh@fairlite.co.uk>
47238         via Sergey Poznyakoff <gray@gnu.org.ua>.
47239
47240 2008-12-21  Bruno Haible  <bruno@clisp.org>
47241
47242         * MODULES.html.sh (Extended multibyte and wide character utilities
47243         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
47244         wcrtomb, wcsrtombs.
47245         (Support for systems lacking POSIX:2008): Add accept, bind, close,
47246         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
47247         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
47248         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
47249
47250 2008-12-21  Bruno Haible  <bruno@clisp.org>
47251
47252         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
47253
47254 2008-12-21  Bruno Haible  <bruno@clisp.org>
47255
47256         * modules/wcsnrtombs-tests: New file.
47257         * tests/test-wcsnrtombs1.sh: New file.
47258         * tests/test-wcsnrtombs2.sh: New file.
47259         * tests/test-wcsnrtombs3.sh: New file.
47260         * tests/test-wcsnrtombs4.sh: New file.
47261         * tests/test-wcsnrtombs.c: New file.
47262
47263         New module 'wcsnrtombs'.
47264         * lib/wchar.in.h (wcsnrtombs): New declaration.
47265         * lib/wcsnrtombs.c: New file.
47266         * lib/wcsrtombs-state.c: New file.
47267         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
47268         (internal_state): Remove variable.
47269         * m4/wcsnrtombs.m4: New file.
47270         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
47271         compilation units.
47272         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
47273         HAVE_WCSNRTOMBS.
47274         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
47275         HAVE_WCSNRTOMBS.
47276         * modules/wcsnrtombs: New file.
47277         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
47278         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
47279
47280 2008-12-21  Bruno Haible  <bruno@clisp.org>
47281
47282         * modules/wcsrtombs-tests: New file.
47283         * tests/test-wcsrtombs1.sh: New file.
47284         * tests/test-wcsrtombs2.sh: New file.
47285         * tests/test-wcsrtombs3.sh: New file.
47286         * tests/test-wcsrtombs4.sh: New file.
47287         * tests/test-wcsrtombs.c: New file.
47288
47289         New module 'wcsrtombs'.
47290         * lib/wchar.in.h (wcsrtombs): New declaration.
47291         * lib/wcsrtombs.c: New file.
47292         * m4/wcsrtombs.m4: New file.
47293         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
47294         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47295         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
47296         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47297         * modules/wcsrtombs: New file.
47298         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
47299         bugs.
47300
47301 2008-12-21  Bruno Haible  <bruno@clisp.org>
47302
47303         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
47304         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
47305         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
47306         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
47307         if not correct.
47308         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
47309         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
47310         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47311         m4/locale-zh.m4, m4/codeset.m4.
47312         * doc/posix-functions/wcrtomb.texi: Document the bug.
47313
47314 2008-12-21  Bruno Haible  <bruno@clisp.org>
47315
47316         Work around a btowc() bug on IRIX 6.5.
47317         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
47318         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
47319         REPLACE_WTOBC if not.
47320         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
47321         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
47322         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
47323
47324 2008-12-21  Bruno Haible  <bruno@clisp.org>
47325
47326         * modules/wcrtomb-tests: New file.
47327         * tests/test-wcrtomb.sh: New file.
47328         * tests/test-wcrtomb.c: New file.
47329
47330         New module 'wcrtomb'.
47331         * lib/wchar.in.h (wcrtomb): New declaration.
47332         * lib/wcrtomb.c: New file.
47333         * m4/wcrtomb.m4: New file.
47334         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
47335         HAVE_WCRTOMB.
47336         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
47337         HAVE_WCRTOMB.
47338         * modules/wcrtomb: New file.
47339         * doc/posix-functions/wcrtomb.texi: Mention the new module.
47340
47341 2008-12-21  Bruno Haible  <bruno@clisp.org>
47342
47343         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
47344         * modules/mbsrtowcs (Files): Likewise.
47345         * modules/wctob (Files): Likewise.
47346         * modules/c-strcase-tests (Files): Likewise.
47347         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
47348         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
47349         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
47350         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
47351         * modules/vasnprintf-posix-tests (Files): Likewise.
47352
47353 2008-12-21  William Pursell  <bill.pursell@gmail.com>
47354
47355         gitlog-to-changelog: pass all command-line arguments to git-log
47356         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
47357         it is sometimes convenient to filter the commits in various ways.
47358         gitlog-to-changelog only allows --since to specify a start date,
47359         but git-log itself supports many other filtering mechanisms.
47360         At the moment, I want to filter by branch name.  Rather than
47361         adding a --branch option to gitlog-to-changelog, it seems more
47362         flexible to simply pass all options directly to git-log and let
47363         git do the work.  Notice that this effectively makes --since a
47364         redundant option for gitlog-to-changelog, but removing it would
47365         require current usage to change since calls would then require
47366         an additional '--'.
47367
47368 2008-12-21  Bruno Haible  <bruno@clisp.org>
47369
47370         * modules/mbsnrtowcs-tests: New file.
47371         * tests/test-mbsnrtowcs1.sh: New file.
47372         * tests/test-mbsnrtowcs2.sh: New file.
47373         * tests/test-mbsnrtowcs3.sh: New file.
47374         * tests/test-mbsnrtowcs4.sh: New file.
47375         * tests/test-mbsnrtowcs.c: New file.
47376
47377         New module 'mbsnrtowcs'.
47378         * lib/wchar.in.h (mbsnrtowcs): New declaration.
47379         * lib/mbsnrtowcs.c: New file.
47380         * lib/mbsrtowcs-state.c: New file.
47381         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
47382         (internal_state): Remove variable.
47383         * m4/mbsnrtowcs.m4: New file.
47384         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
47385         compilation units.
47386         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
47387         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47388         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
47389         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47390         * modules/mbsnrtowcs: New file.
47391         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
47392         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
47393         portability problem.
47394
47395 2008-12-21  Bruno Haible  <bruno@clisp.org>
47396
47397         Work around mbsrtowcs bug.
47398         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
47399         (gl_FUNC_MBSRTOWCS): Invoke it.
47400         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47401         m4/locale-zh.m4.
47402         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
47403
47404 2008-12-21  Bruno Haible  <bruno@clisp.org>
47405
47406         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
47407
47408 2008-12-21  Bruno Haible  <bruno@clisp.org>
47409
47410         Update doc for AIX.
47411         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
47412         16-bit wchar_t type.
47413         * doc/posix-functions/btowc.texi: Likewise.
47414         * doc/posix-functions/fgetwc.texi: Likewise.
47415         * doc/posix-functions/fgetws.texi: Likewise.
47416         * doc/posix-functions/fputwc.texi: Likewise.
47417         * doc/posix-functions/fputws.texi: Likewise.
47418         * doc/posix-functions/fwide.texi: Likewise.
47419         * doc/posix-functions/fwprintf.texi: Likewise.
47420         * doc/posix-functions/fwscanf.texi: Likewise.
47421         * doc/posix-functions/getwchar.texi: Likewise.
47422         * doc/posix-functions/getwc.texi: Likewise.
47423         * doc/posix-functions/iswalnum.texi: Likewise.
47424         * doc/posix-functions/iswalpha.texi: Likewise.
47425         * doc/posix-functions/iswblank.texi: Likewise.
47426         * doc/posix-functions/iswcntrl.texi: Likewise.
47427         * doc/posix-functions/iswctype.texi: Likewise.
47428         * doc/posix-functions/iswdigit.texi: Likewise.
47429         * doc/posix-functions/iswgraph.texi: Likewise.
47430         * doc/posix-functions/iswlower.texi: Likewise.
47431         * doc/posix-functions/iswprint.texi: Likewise.
47432         * doc/posix-functions/iswpunct.texi: Likewise.
47433         * doc/posix-functions/iswspace.texi: Likewise.
47434         * doc/posix-functions/iswupper.texi: Likewise.
47435         * doc/posix-functions/iswxdigit.texi: Likewise.
47436         * doc/posix-functions/mbrtowc.texi: Likewise.
47437         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47438         * doc/posix-functions/mbstowcs.texi: Likewise.
47439         * doc/posix-functions/mbtowc.texi: Likewise.
47440         * doc/posix-functions/putwchar.texi: Likewise.
47441         * doc/posix-functions/putwc.texi: Likewise.
47442         * doc/posix-functions/swprintf.texi: Likewise.
47443         * doc/posix-functions/tolower.texi: Likewise.
47444         * doc/posix-functions/toupper.texi: Likewise.
47445         * doc/posix-functions/towctrans.texi: Likewise.
47446         * doc/posix-functions/ungetwc.texi: Likewise.
47447         * doc/posix-functions/vswprintf.texi: Likewise.
47448         * doc/posix-functions/wcrtomb.texi: Likewise.
47449         * doc/posix-functions/wcscat.texi: Likewise.
47450         * doc/posix-functions/wcschr.texi: Likewise.
47451         * doc/posix-functions/wcscmp.texi: Likewise.
47452         * doc/posix-functions/wcscoll.texi: Likewise.
47453         * doc/posix-functions/wcscpy.texi: Likewise.
47454         * doc/posix-functions/wcscspn.texi: Likewise.
47455         * doc/posix-functions/wcsftime.texi: Likewise.
47456         * doc/posix-functions/wcslen.texi: Likewise.
47457         * doc/posix-functions/wcsncat.texi: Likewise.
47458         * doc/posix-functions/wcsncmp.texi: Likewise.
47459         * doc/posix-functions/wcsncpy.texi: Likewise.
47460         * doc/posix-functions/wcspbrk.texi: Likewise.
47461         * doc/posix-functions/wcsrchr.texi: Likewise.
47462         * doc/posix-functions/wcsrtombs.texi: Likewise.
47463         * doc/posix-functions/wcsspn.texi: Likewise.
47464         * doc/posix-functions/wcsstr.texi: Likewise.
47465         * doc/posix-functions/wcstod.texi: Likewise.
47466         * doc/posix-functions/wcstof.texi: Likewise.
47467         * doc/posix-functions/wcstoimax.texi: Likewise.
47468         * doc/posix-functions/wcstok.texi: Likewise.
47469         * doc/posix-functions/wcstold.texi: Likewise.
47470         * doc/posix-functions/wcstoll.texi: Likewise.
47471         * doc/posix-functions/wcstol.texi: Likewise.
47472         * doc/posix-functions/wcstombs.texi: Likewise.
47473         * doc/posix-functions/wcstoull.texi: Likewise.
47474         * doc/posix-functions/wcstoul.texi: Likewise.
47475         * doc/posix-functions/wcstoumax.texi: Likewise.
47476         * doc/posix-functions/wcswidth.texi: Likewise.
47477         * doc/posix-functions/wcsxfrm.texi: Likewise.
47478         * doc/posix-functions/wctob.texi: Likewise.
47479         * doc/posix-functions/wctomb.texi: Likewise.
47480         * doc/posix-functions/wctrans.texi: Likewise.
47481         * doc/posix-functions/wctype.texi: Likewise.
47482         * doc/posix-functions/wcwidth.texi: Likewise.
47483         * doc/posix-functions/wmemchr.texi: Likewise.
47484         * doc/posix-functions/wmemcmp.texi: Likewise.
47485         * doc/posix-functions/wmemcpy.texi: Likewise.
47486         * doc/posix-functions/wmemmove.texi: Likewise.
47487         * doc/posix-functions/wmemset.texi: Likewise.
47488         * doc/posix-functions/wprintf.texi: Likewise.
47489         * doc/posix-functions/wscanf.texi: Likewise.
47490
47491 2008-12-21  Bruno Haible  <bruno@clisp.org>
47492
47493         Update doc for HP-UX 11.11.
47494         * doc/posix-functions/btowc.texi: Clarify that the function is missing
47495         in HP-UX version 11.00, not in all versions of HP-UX 11.
47496         * doc/posix-functions/fwide.texi: Likewise.
47497         * doc/posix-functions/fwprintf.texi: Likewise.
47498         * doc/posix-functions/fwscanf.texi: Likewise.
47499         * doc/posix-functions/inet_ntop.texi: Likewise.
47500         * doc/posix-functions/inet_pton.texi: Likewise.
47501         * doc/posix-functions/mbrlen.texi: Likewise.
47502         * doc/posix-functions/mbrtowc.texi: Likewise.
47503         * doc/posix-functions/mbsinit.texi: Likewise.
47504         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47505         * doc/posix-functions/swprintf.texi: Likewise.
47506         * doc/posix-functions/swscanf.texi: Likewise.
47507         * doc/posix-functions/towctrans.texi: Likewise.
47508         * doc/posix-functions/vfwprintf.texi: Likewise.
47509         * doc/posix-functions/vswprintf.texi: Likewise.
47510         * doc/posix-functions/vwprintf.texi: Likewise.
47511         * doc/posix-functions/wcrtomb.texi: Likewise.
47512         * doc/posix-functions/wcsrtombs.texi: Likewise.
47513         * doc/posix-functions/wcsstr.texi: Likewise.
47514         * doc/posix-functions/wctob.texi: Likewise.
47515         * doc/posix-functions/wctrans.texi: Likewise.
47516         * doc/posix-functions/wmemchr.texi: Likewise.
47517         * doc/posix-functions/wmemcmp.texi: Likewise.
47518         * doc/posix-functions/wmemcpy.texi: Likewise.
47519         * doc/posix-functions/wmemmove.texi: Likewise.
47520         * doc/posix-functions/wmemset.texi: Likewise.
47521         * doc/posix-functions/wprintf.texi: Likewise.
47522         * doc/posix-functions/wscanf.texi: Likewise.
47523
47524 2008-12-21  Bruno Haible  <bruno@clisp.org>
47525
47526         Work around a portability problem.
47527         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
47528         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
47529
47530 2008-12-20  Bruno Haible  <bruno@clisp.org>
47531
47532         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
47533         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
47534         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
47535         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
47536         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
47537
47538         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
47539         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
47540         set.
47541         (GNULIB_defined_mbstate_t): New macro.
47542         (mbsinit): Redefine if REPLACE_MBSINIT is set.
47543         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
47544         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
47545         reuses the system's mbrtowc function but works around the bugs.
47546         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
47547         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
47548         macros.
47549         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
47550         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
47551         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
47552         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
47553         REPLACE_MBSINIT if mbsinit needs to be overridden.
47554         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
47555         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47556         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
47557         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47558         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47559         m4/locale-zh.m4.
47560         (Depends): Add mbsinit.
47561         * modules/mbsinit (Depends): Add mbrtowc.
47562         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
47563
47564 2008-12-20  Bruno Haible  <bruno@clisp.org>
47565
47566         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
47567         so that there are no conversion errors on AIX.
47568         * tests/test-mbsrtowcs.c (main): LIkewise.
47569
47570 2008-12-20  Bruno Haible  <bruno@clisp.org>
47571
47572         Work around wctob bug on Solaris <= 9.
47573         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
47574         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
47575         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
47576         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
47577         * modules/wctob (Files): Add m4/locale-fr.m4.
47578         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
47579
47580 2008-12-20  Bruno Haible  <bruno@clisp.org>
47581
47582         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
47583         /dev/null.
47584         * tests/test-select-in.sh: Likewise.
47585         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47586
47587 2008-12-20  Bruno Haible  <bruno@clisp.org>
47588
47589         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
47590         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
47591         Cygwin 1.5.x.
47592
47593 2008-12-20  Bruno Haible  <bruno@clisp.org>
47594
47595         Ensure mbstate_t is defined on HP-UX 11.11.
47596         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
47597         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
47598         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
47599         AC_USE_SYSTEM_EXTENSIONS.
47600         * modules/fnmatch (Depends-on): Add extensions.
47601         * modules/mbrlen (Depends-on): Likewise.
47602         * modules/mbrtowc (Depends-on): Likewise.
47603         * modules/mbsinit (Depends-on): Likewise.
47604         * modules/mbsrtowcs (Depends-on): Likewise.
47605         * modules/mbswidth (Depends-on): Likewise.
47606         * modules/quotearg (Depends-on): Likewise.
47607         * modules/strftime (Depends-on): Likewise.
47608
47609 2008-12-20  Bruno Haible  <bruno@clisp.org>
47610
47611         Ensure wctob is declared on IRIX 6.5.
47612         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
47613         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
47614         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
47615         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
47616         of HAVE_WCTOB.
47617         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
47618         HAVE_WCTOB.
47619         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
47620
47621 2008-12-19  Bruno Haible  <bruno@clisp.org>
47622
47623         * modules/mbsrtowcs-tests: New file.
47624         * tests/test-mbsrtowcs1.sh: New file.
47625         * tests/test-mbsrtowcs2.sh: New file.
47626         * tests/test-mbsrtowcs3.sh: New file.
47627         * tests/test-mbsrtowcs4.sh: New file.
47628         * tests/test-mbsrtowcs.c: New file.
47629
47630         New module 'mbsrtowcs'.
47631         * lib/wchar.in.h (mbsrtowcs): New declaration.
47632         * lib/mbsrtowcs.c: New file.
47633         * m4/mbsrtowcs.m4: New file.
47634         * modules/mbsrtowcs: New file.
47635         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
47636         HAVE_MBSRTOWCS.
47637         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
47638         HAVE_MBSRTOWCS.
47639         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
47640
47641 2008-12-19  Bruno Haible  <bruno@clisp.org>
47642
47643         New module 'mbrlen'.
47644         * lib/wchar.in.h (mbrlen): New declaration.
47645         * lib/mbrlen.c: New file.
47646         * m4/mbrlen.m4: New file.
47647         * modules/mbrlen: New file.
47648         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
47649         HAVE_MBRLEN.
47650         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
47651         HAVE_MBRLEN.
47652         * doc/posix-functions/mbrlen.texi: Document the new module.
47653
47654 2008-12-19  Bruno Haible  <bruno@clisp.org>
47655
47656         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
47657         * modules/mbrtowc (Depends-on): Add verify.
47658         Suggested by Paul Eggert.
47659
47660 2008-12-18  Bruno Haible  <bruno@clisp.org>
47661
47662         * modules/mbsinit-tests: New file.
47663         * tests/test-mbsinit.sh: New file.
47664         * tests/test-mbsinit.c: New file.
47665
47666 2008-12-18  Bruno Haible  <bruno@clisp.org>
47667
47668         * modules/mbrtowc-tests: New file.
47669         * tests/test-mbrtowc1.sh: New file.
47670         * tests/test-mbrtowc2.sh: New file.
47671         * tests/test-mbrtowc3.sh: New file.
47672         * tests/test-mbrtowc4.sh: New file.
47673         * tests/test-mbrtowc.c: New file.
47674
47675         New module 'mbrtowc'.
47676         * lib/wchar.in.h (mbstate_t): Override when the system does not have
47677         mbsinit and mbrtowc.
47678         (mbrtowc): New declaration.
47679         * lib/mbrtowc.c: New file.
47680         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
47681         * modules/mbrtowc: New file.
47682         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
47683         HAVE_MBRTOWC.
47684         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
47685         HAVE_MBRTOWC.
47686         * doc/posix-functions/mbrtowc.texi: Document the new module.
47687
47688 2008-12-18  Bruno Haible  <bruno@clisp.org>
47689
47690         New module 'wctob'.
47691         * lib/wchar.in.h (wctob): New declaration.
47692         * lib/wctob.c: New file.
47693         * m4/wctob.m4: New file.
47694         * modules/wctob: New file.
47695         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
47696         HAVE_WCTOB.
47697         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
47698         * doc/posix-functions/wctob.texi: Document the new module.
47699
47700 2008-12-18  Bruno Haible  <bruno@clisp.org>
47701
47702         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
47703         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
47704
47705 2008-12-18  Simon Josefsson  <simon@josefsson.org>
47706
47707         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
47708         G. Christensen" <tgc@jupiterrise.com>.
47709
47710         * lib/flock.c: Need to include errno.h.  Reported by "Tom
47711         G. Christensen" <tgc@jupiterrise.com>.
47712
47713         * lib/flock.c: Need to include string.h.  Reported by "Tom
47714         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
47715         <ebb9@byu.net>.
47716
47717 2008-12-18  Bruno Haible  <bruno@clisp.org>
47718
47719         * m4/locale-ja.m4: New file, from GNU gettext.
47720
47721 2008-12-17  Bruno Haible  <bruno@clisp.org>
47722
47723         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
47724         Suggested by Eric Blake.
47725
47726 2008-12-17  Bruno Haible  <bruno@clisp.org>
47727
47728         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
47729
47730 2008-12-17  Bruno Haible  <bruno@clisp.org>
47731
47732         * lib/mbsinit.c: Include verify.h. Verify an assumption.
47733         * modules/mbsinit (Depends-on): Add verify.
47734         Suggested by Paul Eggert.
47735
47736 2008-12-17  Bruno Haible  <bruno@clisp.org>
47737
47738         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
47739         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
47740         gl_FUNC_MBRTOWC.
47741         * m4/mbiter.m4 (gl_MBITER): LIkewise.
47742         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
47743         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
47744         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
47745         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
47746         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
47747         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
47748         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
47749         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
47750         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
47751         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
47752         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
47753         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
47754         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
47755         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
47756         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47757         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
47758         * modules/trim (configure.ac): Likewise.
47759
47760 2008-12-17  Bruno Haible  <bruno@clisp.org>
47761
47762         * modules/btowc-tests: New file.
47763         * tests/test-btowc1.sh: New file.
47764         * tests/test-btowc2.sh: New file.
47765         * tests/test-btowc.c: New file.
47766
47767         New module 'btowc'.
47768         * lib/wchar.in.h (btowc): New declaration.
47769         * lib/btowc.c: New file.
47770         * m4/btowc.m4: New file.
47771         * modules/btowc: New file.
47772         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
47773         HAVE_BTOWC.
47774         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
47775         * doc/posix-functions/btowc.texi: Document the new module.
47776
47777 2008-12-17  Bruno Haible  <bruno@clisp.org>
47778
47779         New module 'mbsinit'.
47780         * lib/wchar.in.h (mbsinit): New declaration.
47781         * lib/mbsinit.c: New file.
47782         * m4/mbsinit.m4: New file.
47783         * modules/mbsinit: New file.
47784         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
47785         HAVE_MBSINIT.
47786         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
47787         HAVE_MBSINIT.
47788         * doc/posix-functions/mbsinit.texi: Document the new module.
47789
47790 2008-12-16  Bruno Haible  <bruno@clisp.org>
47791
47792         * lib/unistd.in.h: Add comment.
47793         * tests/test-environ.c: Don't include <stdlib.h>.
47794
47795 2008-12-16  Bruno Haible  <bruno@clisp.org>
47796
47797         * lib/parse-duration.h (parse_duration): Document return value
47798         convention.
47799         * lib/parse-duration.c: Include specification header first. Add
47800         comments.
47801         (_): Remove macro.
47802         (parse_year_month_day, parse_hour_minute_second): Move side effects
47803         outside of strchr call.
47804         (parse_non_iso8601): Move side effects outside of isspace call.
47805         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
47806         call.
47807
47808 2008-12-16  Bruno Haible  <bruno@clisp.org>
47809
47810         * tests/test-parse-duration.sh: Produce no output when the test
47811         succeeds.
47812
47813 2008-12-16  Bruno Haible  <bruno@clisp.org>
47814
47815         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
47816         expressions.
47817
47818 2008-12-15  Bruno Haible  <bruno@clisp.org>
47819
47820         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
47821         * doc/glibc-functions/flistxattr.texi: Likewise.
47822         * doc/glibc-functions/fopencookie.texi: Likewise.
47823         * doc/glibc-functions/fremovexattr.texi: Likewise.
47824         * doc/glibc-functions/fsetxattr.texi: Likewise.
47825         * doc/glibc-functions/getxattr.texi: Likewise.
47826         * doc/glibc-functions/lgetxattr.texi: Likewise.
47827         * doc/glibc-functions/listxattr.texi: Likewise.
47828         * doc/glibc-functions/llistxattr.texi: Likewise.
47829         * doc/glibc-functions/lremovexattr.texi: Likewise.
47830         * doc/glibc-functions/lsetxattr.texi: Likewise.
47831         * doc/glibc-functions/removexattr.texi: Likewise.
47832         * doc/glibc-functions/setxattr.texi: Likewise.
47833         * doc/posix-functions/open_memstream.texi: Likewise.
47834
47835 2008-12-15  Eric Blake  <ebb9@byu.net>
47836
47837         Update doc for cygwin 1.7.
47838         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
47839         functions.
47840         * doc/posix-functions/fchmodat.texi: Likewise.
47841         * doc/posix-functions/fchownat.texi: Likewise.
47842         * doc/posix-functions/fdopendir.texi: Likewise.
47843         * doc/posix-functions/fmemopen.texi: Likewise.
47844         * doc/posix-functions/freeaddrinfo.texi: Likewise.
47845         * doc/posix-functions/fstatat.texi: Likewise.
47846         * doc/posix-functions/futimens.texi: Likewise.
47847         * doc/posix-functions/gai_strerror.texi: Likewise.
47848         * doc/posix-functions/getaddrinfo.texi: Likewise.
47849         * doc/posix-functions/getnameinfo.texi: Likewise.
47850         * doc/posix-functions/if_freenameindex.texi: Likewise.
47851         * doc/posix-functions/if_indextoname.texi: Likewise.
47852         * doc/posix-functions/if_nameindex.texi: Likewise.
47853         * doc/posix-functions/if_nametoindex.texi: Likewise.
47854         * doc/posix-functions/insque.texi: Likewise.
47855         * doc/posix-functions/linkat.texi: Likewise.
47856         * doc/posix-functions/llrint.texi: Likewise.
47857         * doc/posix-functions/llrintf.texi: Likewise.
47858         * doc/posix-functions/llrintl.texi: Likewise.
47859         * doc/posix-functions/lockf.texi: Likewise.
47860         * doc/posix-functions/lrintl.texi: Likewise.
47861         * doc/posix-functions/mkdirat.texi: Likewise.
47862         * doc/posix-functions/mkfifoat.texi: Likewise.
47863         * doc/posix-functions/mknodat.texi: Likewise.
47864         * doc/posix-functions/mq_close.texi: Likewise.
47865         * doc/posix-functions/mq_getattr.texi: Likewise.
47866         * doc/posix-functions/mq_notify.texi: Likewise.
47867         * doc/posix-functions/mq_open.texi: Likewise.
47868         * doc/posix-functions/mq_receive.texi: Likewise.
47869         * doc/posix-functions/mq_send.texi: Likewise.
47870         * doc/posix-functions/mq_setattr.texi: Likewise.
47871         * doc/posix-functions/mq_timedreceive.texi: Likewise.
47872         * doc/posix-functions/mq_timedsend.texi: Likewise.
47873         * doc/posix-functions/mq_unlink.texi: Likewise.
47874         * doc/posix-functions/open_memstream.texi: Likewise.
47875         * doc/posix-functions/openat.texi: Likewise.
47876         * doc/posix-functions/posix_fadvise.texi: Likewise.
47877         * doc/posix-functions/posix_fallocate.texi: Likewise.
47878         * doc/posix-functions/posix_madvise.texi: Likewise.
47879         * doc/posix-functions/posix_memalign.texi: Likewise.
47880         * doc/posix-functions/posix_openpt.texi: Likewise.
47881         * doc/posix-functions/readlinkat.texi: Likewise.
47882         * doc/posix-functions/remque.texi: Likewise.
47883         * doc/posix-functions/renameat.texi: Likewise.
47884         * doc/posix-functions/rintl.texi: Likewise.
47885         * doc/posix-functions/sem_unlink.texi: Likewise.
47886         * doc/posix-functions/shm_open.texi: Likewise.
47887         * doc/posix-functions/shm_unlink.texi: Likewise.
47888         * doc/posix-functions/signgam.texi: Likewise.
47889         * doc/posix-functions/sigset.texi: Likewise.
47890         * doc/posix-functions/stpcpy.texi: Likewise.
47891         * doc/posix-functions/stpncpy.texi: Likewise.
47892         * doc/posix-functions/strerror.texi: Likewise.
47893         * doc/posix-functions/strtod.texi: Likewise.
47894         * doc/posix-functions/symlinkat.texi: Likewise.
47895         * doc/posix-functions/unlinkat.texi: Likewise.
47896         * doc/posix-functions/utimensat.texi: Likewise.
47897         * doc/glibc-functions/bindresvport.texi: Likewise.
47898         * doc/glibc-functions/dn_expand.texi: Likewise.
47899         * doc/glibc-functions/exp10.texi: Likewise.
47900         * doc/glibc-functions/exp10f.texi: Likewise.
47901         * doc/glibc-functions/fgetxattr.texi: Likewise.
47902         * doc/glibc-functions/flistxattr.texi: Likewise.
47903         * doc/glibc-functions/fopencookie.texi: Likewise.
47904         * doc/glibc-functions/freeifaddrs.texi: Likewise.
47905         * doc/glibc-functions/fremovexattr.texi: Likewise.
47906         * doc/glibc-functions/fsetxattr.texi: Likewise.
47907         * doc/glibc-functions/getifaddrs.texi: Likewise.
47908         * doc/glibc-functions/getxattr.texi: Likewise.
47909         * doc/glibc-functions/lgetxattr.texi: Likewise.
47910         * doc/glibc-functions/listxattr.texi: Likewise.
47911         * doc/glibc-functions/llistxattr.texi: Likewise.
47912         * doc/glibc-functions/lremovexattr.texi: Likewise.
47913         * doc/glibc-functions/lsetxattr.texi: Likewise.
47914         * doc/glibc-functions/pow10.texi: Likewise.
47915         * doc/glibc-functions/pow10f.texi: Likewise.
47916         * doc/glibc-functions/rcmd_af.texi: Likewise.
47917         * doc/glibc-functions/removexattr.texi: Likewise.
47918         * doc/glibc-functions/res_init.texi: Likewise.
47919         * doc/glibc-functions/res_mkquery.texi: Likewise.
47920         * doc/glibc-functions/res_query.texi: Likewise.
47921         * doc/glibc-functions/res_querydomain.texi: Likewise.
47922         * doc/glibc-functions/res_send.texi: Likewise.
47923         * doc/glibc-functions/rresvport_af.texi: Likewise.
47924         * doc/glibc-functions/setxattr.texi: Likewise.
47925         * doc/glibc-functions/strcasestr.texi: Likewise.
47926
47927 2008-12-15  Bruno Haible  <bruno@clisp.org>
47928
47929         Fix compilation error on OSF/1 4.0.
47930         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
47931         <sys/time.h>, simply delegate to the system header.
47932         Reported by Daniel Richard G. <oss@teragram.com>.
47933
47934 2008-12-15  Bruno Haible  <bruno@clisp.org>
47935
47936         * doc/posix-functions/openat.texi: Mention the 'openat' module.
47937         * doc/posix-functions/fchmodat.texi: Likewise.
47938         * doc/posix-functions/fchownat.texi: Likewise.
47939         * doc/posix-functions/fdopendir.texi: Likewise.
47940         * doc/posix-functions/fstatat.texi: Likewise.
47941         * doc/posix-functions/mkdirat.texi: Likewise.
47942         * doc/posix-functions/unlinkat.texi: Likewise.
47943
47944 2008-12-14  Bruno Haible  <bruno@clisp.org>
47945
47946         Update doc for POSIX:2008.
47947         * doc/posix-functions/faccessat.texi: New file.
47948         * doc/posix-functions/fchmodat.texi: New file.
47949         * doc/posix-functions/fchownat.texi: New file.
47950         * doc/posix-functions/fdopendir.texi: New file.
47951         * doc/posix-functions/fstatat.texi: New file.
47952         * doc/posix-functions/futimens.texi: New file.
47953         * doc/posix-functions/linkat.texi: New file.
47954         * doc/posix-functions/mkdirat.texi: New file.
47955         * doc/posix-functions/mkfifoat.texi: New file.
47956         * doc/posix-functions/mknodat.texi: New file.
47957         * doc/posix-functions/open_wmemstream.texi: New file.
47958         * doc/posix-functions/openat.texi: New file.
47959         * doc/posix-functions/psiginfo.texi: New file.
47960         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
47961         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
47962         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
47963         * doc/posix-functions/readlinkat.texi: New file.
47964         * doc/posix-functions/renameat.texi: New file.
47965         * doc/posix-functions/strerror_l.texi: New file.
47966         * doc/posix-functions/symlinkat.texi: New file.
47967         * doc/posix-functions/unlinkat.texi: New file.
47968         * doc/posix-functions/utimensat.texi: New file.
47969         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47970
47971 2008-12-14  Bruno Haible  <bruno@clisp.org>
47972
47973         Update doc for POSIX:2008.
47974         * doc/posix-functions/alphasort.texi: Renamed from
47975         doc/glibc-functions/alphasort.texi.
47976         * doc/posix-functions/dirfd.texi: Renamed from
47977         doc/glibc-functions/dirfd.texi.
47978         * doc/posix-functions/dprintf.texi: Renamed from
47979         doc/glibc-functions/dprintf.texi.
47980         * doc/posix-functions/duplocale.texi: Renamed from
47981         doc/glibc-functions/duplocale.texi.
47982         * doc/posix-functions/fexecve.texi: Renamed from
47983         doc/glibc-functions/fexecve.texi.
47984         * doc/posix-functions/fmemopen.texi: Renamed from
47985         doc/glibc-functions/fmemopen.texi.
47986         * doc/posix-functions/freelocale.texi: Renamed from
47987         doc/glibc-functions/freelocale.texi.
47988         * doc/posix-functions/getdate_err.texi: Renamed from
47989         doc/glibc-functions/getdate_err.texi.
47990         * doc/posix-functions/isalnum_l.texi: Renamed from
47991         doc/glibc-functions/isalnum_l.texi.
47992         * doc/posix-functions/isalpha_l.texi: Renamed from
47993         doc/glibc-functions/isalpha_l.texi.
47994         * doc/posix-functions/isblank_l.texi: Renamed from
47995         doc/glibc-functions/isblank_l.texi.
47996         * doc/posix-functions/iscntrl_l.texi: Renamed from
47997         doc/glibc-functions/iscntrl_l.texi.
47998         * doc/posix-functions/isdigit_l.texi: Renamed from
47999         doc/glibc-functions/isdigit_l.texi.
48000         * doc/posix-functions/isgraph_l.texi: Renamed from
48001         doc/glibc-functions/isgraph_l.texi.
48002         * doc/posix-functions/islower_l.texi: Renamed from
48003         doc/glibc-functions/islower_l.texi.
48004         * doc/posix-functions/isprint_l.texi: Renamed from
48005         doc/glibc-functions/isprint_l.texi.
48006         * doc/posix-functions/ispunct_l.texi: Renamed from
48007         doc/glibc-functions/ispunct_l.texi.
48008         * doc/posix-functions/isspace_l.texi: Renamed from
48009         doc/glibc-functions/isspace_l.texi.
48010         * doc/posix-functions/isupper_l.texi: Renamed from
48011         doc/glibc-functions/isupper_l.texi.
48012         * doc/posix-functions/iswalnum_l.texi: Renamed from
48013         doc/glibc-functions/iswalnum_l.texi.
48014         * doc/posix-functions/iswalpha_l.texi: Renamed from
48015         doc/glibc-functions/iswalpha_l.texi.
48016         * doc/posix-functions/iswblank_l.texi: Renamed from
48017         doc/glibc-functions/iswblank_l.texi.
48018         * doc/posix-functions/iswcntrl_l.texi: Renamed from
48019         doc/glibc-functions/iswcntrl_l.texi.
48020         * doc/posix-functions/iswctype_l.texi: Renamed from
48021         doc/glibc-functions/iswctype_l.texi.
48022         * doc/posix-functions/iswdigit_l.texi: Renamed from
48023         doc/glibc-functions/iswdigit_l.texi.
48024         * doc/posix-functions/iswgraph_l.texi: Renamed from
48025         doc/glibc-functions/iswgraph_l.texi.
48026         * doc/posix-functions/iswlower_l.texi: Renamed from
48027         doc/glibc-functions/iswlower_l.texi.
48028         * doc/posix-functions/iswprint_l.texi: Renamed from
48029         doc/glibc-functions/iswprint_l.texi.
48030         * doc/posix-functions/iswpunct_l.texi: Renamed from
48031         doc/glibc-functions/iswpunct_l.texi.
48032         * doc/posix-functions/iswspace_l.texi: Renamed from
48033         doc/glibc-functions/iswspace_l.texi.
48034         * doc/posix-functions/iswupper_l.texi: Renamed from
48035         doc/glibc-functions/iswupper_l.texi.
48036         * doc/posix-functions/iswxdigit_l.texi: Renamed from
48037         doc/glibc-functions/iswxdigit_l.texi.
48038         * doc/posix-functions/isxdigit_l.texi: Renamed from
48039         doc/glibc-functions/isxdigit_l.texi.
48040         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
48041         doc/glibc-functions/mbsnrtowcs.texi.
48042         * doc/posix-functions/mkdtemp.texi: Renamed from
48043         doc/glibc-functions/mkdtemp.texi.
48044         * doc/posix-functions/newlocale.texi: Renamed from
48045         doc/glibc-functions/newlocale.texi.
48046         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
48047         doc/glibc-functions/nl_langinfo_l.texi.
48048         * doc/posix-functions/open_memstream.texi: Renamed from
48049         doc/glibc-functions/open_memstream.texi.
48050         * doc/posix-functions/opterr.texi: Renamed from
48051         doc/glibc-functions/opterr.texi.
48052         * doc/posix-functions/optind.texi: Renamed from
48053         doc/glibc-functions/optind.texi.
48054         * doc/posix-functions/optopt.texi: Renamed from
48055         doc/glibc-functions/optopt.texi.
48056         * doc/posix-functions/psignal.texi: Renamed from
48057         doc/glibc-functions/psignal.texi.
48058         * doc/posix-functions/scandir.texi: Renamed from
48059         doc/glibc-functions/scandir.texi.
48060         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
48061         doc/glibc-functions/sched_get_priority_min.texi.
48062         * doc/posix-functions/signgam.texi: Renamed from
48063         doc/glibc-functions/signgam.texi.
48064         * doc/posix-functions/stpcpy.texi: Renamed from
48065         doc/glibc-functions/stpcpy.texi.
48066         * doc/posix-functions/stpncpy.texi: Renamed from
48067         doc/glibc-functions/stpncpy.texi.
48068         * doc/posix-functions/strcasecmp_l.texi: Renamed from
48069         doc/glibc-functions/strcasecmp_l.texi.
48070         * doc/posix-functions/strcoll_l.texi: Renamed from
48071         doc/glibc-functions/strcoll_l.texi.
48072         * doc/posix-functions/strfmon_l.texi: Renamed from
48073         doc/glibc-functions/strfmon_l.texi.
48074         * doc/posix-functions/strftime_l.texi: Renamed from
48075         doc/glibc-functions/strftime_l.texi.
48076         * doc/posix-functions/strncasecmp_l.texi: Renamed from
48077         doc/glibc-functions/strncasecmp_l.texi.
48078         * doc/posix-functions/strndup.texi: Renamed from
48079         doc/glibc-functions/strndup.texi.
48080         * doc/posix-functions/strnlen.texi: Renamed from
48081         doc/glibc-functions/strnlen.texi.
48082         * doc/posix-functions/strsignal.texi: Renamed from
48083         doc/glibc-functions/strsignal.texi.
48084         * doc/posix-functions/strxfrm_l.texi: Renamed from
48085         doc/glibc-functions/strxfrm_l.texi.
48086         * doc/posix-functions/timer_gettime.texi: Renamed from
48087         doc/glibc-functions/timer_gettime.texi.
48088         * doc/posix-functions/tolower_l.texi: Renamed from
48089         doc/glibc-functions/tolower_l.texi.
48090         * doc/posix-functions/toupper_l.texi: Renamed from
48091         doc/glibc-functions/toupper_l.texi.
48092         * doc/posix-functions/towctrans_l.texi: Renamed from
48093         doc/glibc-functions/towctrans_l.texi.
48094         * doc/posix-functions/towlower_l.texi: Renamed from
48095         doc/glibc-functions/towlower_l.texi.
48096         * doc/posix-functions/towupper_l.texi: Renamed from
48097         doc/glibc-functions/towupper_l.texi.
48098         * doc/posix-functions/uselocale.texi: Renamed from
48099         doc/glibc-functions/uselocale.texi.
48100         * doc/posix-functions/vdprintf.texi: Renamed from
48101         doc/glibc-functions/vdprintf.texi.
48102         * doc/posix-functions/wcpcpy.texi:
48103         Renamed from doc/glibc-functions/wcpcpy.texi.
48104         * doc/posix-functions/wcpncpy.texi: Renamed from
48105         doc/glibc-functions/wcpncpy.texi.
48106         * doc/posix-functions/wcscasecmp.texi: Renamed from
48107         doc/glibc-functions/wcscasecmp.texi.
48108         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
48109         doc/glibc-functions/wcscasecmp_l.texi.
48110         * doc/posix-functions/wcscoll_l.texi: Renamed from
48111         doc/glibc-functions/wcscoll_l.texi.
48112         * doc/posix-functions/wcsdup.texi: Renamed from
48113         doc/glibc-functions/wcsdup.texi.
48114         * doc/posix-functions/wcsncasecmp.texi: Renamed from
48115         doc/glibc-functions/wcsncasecmp.texi.
48116         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
48117         doc/glibc-functions/wcsncasecmp_l.texi.
48118         * doc/posix-functions/wcsnlen.texi: Renamed from
48119         doc/glibc-functions/wcsnlen.texi.
48120         * doc/posix-functions/wcsnrtombs.texi: Renamed from
48121         doc/glibc-functions/wcsnrtombs.texi.
48122         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
48123         doc/glibc-functions/wcsxfrm_l.texi.
48124         * doc/posix-functions/wctrans_l.texi: Renamed from
48125         doc/glibc-functions/wctrans_l.texi.
48126         * doc/posix-functions/wctype_l.texi: Renamed from
48127         doc/glibc-functions/wctype_l.texi.
48128         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48129         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
48130         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
48131         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
48132         these subsections.
48133         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
48134         Remove sections.
48135
48136 2008-12-14  Bruno Haible  <bruno@clisp.org>
48137
48138         Update doc for POSIX:2008.
48139         * doc/posix-functions/*.texi: Update URL of POSIX specification.
48140
48141 2008-12-14  Bruno Haible  <bruno@clisp.org>
48142
48143         Update doc for POSIX:2008.
48144         * doc/pastposix-functions/bcmp.texi: Renamed from
48145         doc/posix-functions/bcmp.texi.
48146         * doc/pastposix-functions/bcopy.texi: Renamed from
48147         doc/posix-functions/bcopy.texi.
48148         * doc/pastposix-functions/bsd_signal.texi: Renamed from
48149         doc/posix-functions/bsd_signal.texi.
48150         * doc/pastposix-functions/bzero.texi: Renamed from
48151         doc/posix-functions/bzero.texi.
48152         * doc/pastposix-functions/ecvt.texi: Renamed from
48153         doc/posix-functions/ecvt.texi.
48154         * doc/pastposix-functions/fcvt.texi: Renamed from
48155         doc/posix-functions/fcvt.texi.
48156         * doc/pastposix-functions/ftime.texi: Renamed from
48157         doc/posix-functions/ftime.texi.
48158         * doc/pastposix-functions/gcvt.texi: Renamed from
48159         doc/posix-functions/gcvt.texi.
48160         * doc/pastposix-functions/getcontext.texi: Renamed from
48161         doc/posix-functions/getcontext.texi.
48162         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
48163         doc/posix-functions/gethostbyaddr.texi.
48164         * doc/pastposix-functions/gethostbyname.texi: Renamed from
48165         doc/posix-functions/gethostbyname.texi.
48166         * doc/pastposix-functions/getwd.texi: Renamed from
48167         doc/posix-functions/getwd.texi.
48168         * doc/pastposix-functions/h_errno.texi: Renamed from
48169         doc/posix-functions/h_errno.texi.
48170         * doc/pastposix-functions/index.texi: Renamed from
48171         doc/posix-functions/index.texi.
48172         * doc/pastposix-functions/makecontext.texi: Renamed from
48173         doc/posix-functions/makecontext.texi.
48174         * doc/pastposix-functions/mktemp.texi: Renamed from
48175         doc/posix-functions/mktemp.texi.
48176         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
48177         doc/posix-functions/pthread_attr_getstackaddr.texi.
48178         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
48179         doc/posix-functions/pthread_attr_setstackaddr.texi.
48180         * doc/pastposix-functions/rindex.texi: Renamed from
48181         doc/posix-functions/rindex.texi.
48182         * doc/pastposix-functions/scalb.texi: Renamed from
48183         doc/posix-functions/scalb.texi.
48184         * doc/pastposix-functions/setcontext.texi: Renamed from
48185         doc/posix-functions/setcontext.texi.
48186         * doc/pastposix-functions/swapcontext.texi: Renamed from
48187         doc/posix-functions/swapcontext.texi.
48188         * doc/pastposix-functions/ualarm.texi: Renamed from
48189         doc/posix-functions/ualarm.texi.
48190         * doc/pastposix-functions/usleep.texi: Renamed from
48191         doc/posix-functions/usleep.texi.
48192         * doc/pastposix-functions/vfork.texi: Renamed from
48193         doc/posix-functions/vfork.texi.
48194         * doc/pastposix-functions/wcswcs.texi: Renamed from
48195         doc/posix-functions/wcswcs.texi.
48196         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
48197         (Function Substitutes): Update.
48198
48199 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48200
48201         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
48202         m4/strerror.m4.
48203
48204 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48205             Bruno Haible  <bruno@clisp.org>
48206
48207         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
48208
48209 2008-12-13  Bruno Haible  <bruno@clisp.org>
48210
48211         * modules/strtoull (Depends-on): Remove unistd.
48212
48213 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48214
48215         * modules/strtoull (Depends-on): Add stdlib.
48216
48217 2008-12-11  Simon Josefsson  <simon@josefsson.org>
48218
48219         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
48220
48221 2008-12-10  Jim Meyering  <meyering@redhat.com>
48222
48223         gl_ASSERT: don't say assertions are disabled when they're not
48224         * m4/assert.m4 (gl_ASSERT): Do not make configure report
48225         "checking whether to enable assertions... no", when they are in
48226         fact enabled.  This is solely a bug in the output of configure.
48227         In spite of saying "no", NDEBUG was not defined in that case.
48228         Also, as noted by Eric Blake, leave assertions enabled upon
48229         --enable-assert=INVALID.
48230
48231 2008-12-10  Bruno Haible  <bruno@clisp.org>
48232
48233         Change MODULES.html to refer to POSIX:2008 where possible.
48234         * MODULES.html.sh (POSIX2008_URL): New variable.
48235         (posix_headers): Remove sys/timeb, ucontext.
48236         (posix2001_headers): New variable.
48237         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
48238         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
48239         index, makecontext, mktemp, pthread_attr_getstackaddr,
48240         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
48241         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
48242         (posix2001_functions): New variable.
48243         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
48244         otherwise.
48245
48246 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48247
48248         add missing include to parse-duration.c
48249         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
48250         * modules/parse-duration (Depends-on): Add xalloc.
48251
48252         fix sed script reading maint.mk
48253         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
48254         (syntax-check-rules): Use it.
48255
48256 2008-12-09  Bruno Haible  <bruno@clisp.org>
48257
48258         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
48259         MacOS X 10.4/PowerPC.
48260         Reported by Simon Josefsson.
48261
48262 2008-12-08  Jim Meyering  <meyering@redhat.com>
48263
48264         work around mingw's lack of some S_IF definitions
48265         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
48266         Reported by Simon Josefsson.
48267
48268 2008-12-08  Bruno Haible  <bruno@clisp.org>
48269
48270         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
48271         applied to variables. Needed on MacOS X 10.4/PowerPC.
48272         Reported by Simon Josefsson.
48273
48274 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
48275         and Eric Blake  <ebb9@byu.net>
48276
48277         assert: honor --enable-assert
48278         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
48279         order to honor --enable-assert, rather than treating it as a
48280         synonym for --disable-assert.
48281
48282 2008-12-08  Jim Meyering  <meyering@redhat.com>
48283
48284         * lib/posixtm.c: Remove now-useless declaration of mktime.
48285
48286         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
48287
48288 2008-12-07  Bruno Haible  <bruno@clisp.org>
48289
48290         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
48291         test_once): Mark functions as static.
48292         * tests/test-tls.c (test_tls): Likewise.
48293
48294 2008-12-07  Bruno Haible  <bruno@clisp.org>
48295
48296         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
48297         iconv_register_autodetect.
48298
48299 2008-12-07  Jim Meyering  <meyering@redhat.com>
48300
48301         posixtm.c: avoid a warning
48302         * lib/posixtm.c (posixtime): Don't initialize tm0.
48303         It's no longer needed to placate gcc4's -Wuninitialized,
48304         and the attempt to placate would elicit a new warning.
48305
48306         unicodeio.c: mark unused parameters
48307         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48308         (fallback_failure_callback): Likewise.
48309
48310 2008-12-07  Bruno Haible  <bruno@clisp.org>
48311
48312         * gnulib-tool (func_create_testdir): When building the tests
48313         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
48314         Reported by Simon Josefsson.
48315
48316 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48317
48318         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
48319
48320 2008-12-06  Bruno Haible  <bruno@clisp.org>
48321
48322         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
48323         Suggested by Eric Blake.
48324
48325 2008-12-06  Bruno Haible  <bruno@clisp.org>
48326
48327         Fix a c-stack test failure on MacOS X.
48328         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
48329         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
48330         handler for SIGBUS as well.
48331         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
48332         install a signal handler for SIGBUS as well.
48333         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
48334
48335 2008-12-06  Bruno Haible  <bruno@clisp.org>
48336
48337         Advocacy documentation.
48338         * doc/gnulib-intro.texi (Benefits): New section.
48339         * doc/gnulib.texi: Update.
48340
48341 2008-12-06  Bruno Haible  <bruno@clisp.org>
48342
48343         Document the 'manywarnings' module.
48344         * doc/manywarnings.texi: New file.
48345         * doc/gnulib.texi: Include it.
48346
48347 2008-12-05  Eric Blake  <ebb9@byu.net>
48348
48349         tests: silence some gcc warnings
48350         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
48351         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
48352         type mismatches.
48353
48354 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48355             Bruno Haible  <bruno@clisp.org>
48356
48357         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
48358
48359 2008-11-29  Jim Meyering  <meyering@redhat.com>
48360
48361         unicodeio.c: mark unused parameters
48362         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48363         (fallback_failure_callback): Likewise.
48364
48365         fts: fix a thinko
48366         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
48367         (set_stat_type): Return S_IF*-valued "type" directly.
48368         Prompted by James Youngman's spotting a related bug.
48369         Confirmed by further testing through find.
48370
48371         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
48372         * lib/fts.c (D_TYPE): Define.
48373         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
48374         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
48375         (s_ifmt_shift_bits): New function.
48376         (set_stat_type): New function.
48377         (fts_build): When not calling fts_stat, call set_stat_type
48378         to propagate dirent.d_type info to fts_read caller.
48379         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
48380         fts_statp->st_mode type information may be valid.
48381
48382 2008-11-28  Simon Josefsson  <simon@josefsson.org>
48383
48384         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
48385         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
48386         <sds@gnu.org>.
48387
48388 2008-11-20  Bruno Haible  <bruno@clisp.org>
48389
48390         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
48391         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
48392         INCLUDE_NEXT.
48393         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
48394         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
48395         * modules/math (Makefile.am): Substitute
48396         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
48397         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48398
48399 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
48400             Bruno Haible  <bruno@clisp.org>
48401
48402         * lib/stdint.in.h: Define all type macros so that their expansion is
48403         a single typedef'ed token. Fixes a compilation failure in Boost which
48404         does "using ::int8_t;".
48405
48406 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48407
48408         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
48409         gl_MANYWARN_ALL_GCC.
48410         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
48411         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
48412         * modules/manywarnings: New file.
48413         * MODULES.html.sh: Mention manywarnings module.
48414
48415 2008-11-18  Bruno Haible  <bruno@clisp.org>
48416
48417         * doc/gnulib-tool.texi (Unit tests): New section.
48418
48419 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48420
48421         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
48422         paths like 'lib/po/foo.po'.
48423
48424 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48425
48426         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
48427         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
48428
48429 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48430
48431         * m4/warnings.m4: Use CPPFLAGS to really check whether the
48432         parameter works.
48433
48434 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48435
48436         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
48437
48438 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48439
48440         * modules/parse-duration-tests: New file.
48441         * tests/test-parse-duration.sh: New file.
48442         * tests/test-parse-duration.c: New file.
48443
48444         New module 'parse-duration'.
48445         * lib/parse-duration.h: New file.
48446         * lib/parse-duration.c: New file.
48447         * modules/parse-duration: New file.
48448
48449 2008-11-17  Bruno Haible  <bruno@clisp.org>
48450
48451         * tests/test-select-out.sh: Comment out the first pipe test.
48452         Reported by Simon Josefsson.
48453
48454 2008-11-17  Bruno Haible  <bruno@clisp.org>
48455
48456         * modules/getaddrinfo (Depends-on): Add servent, hostent.
48457         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
48458         gl_HOSTENT.
48459
48460 2008-11-17  Bruno Haible  <bruno@clisp.org>
48461
48462         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
48463         -lnetwork and -lnet. Needed for Haiku and BeOS.
48464
48465 2008-11-16  Bruno Haible  <bruno@clisp.org>
48466
48467         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
48468
48469 2008-11-16  Bruno Haible  <bruno@clisp.org>
48470
48471         Avoid test failure on Haiku.
48472         * tests/test-fsync.c: Include <errno.h>.
48473         (main): Don't require that fsync (0) fails.
48474
48475 2008-11-15  Bruno Haible  <bruno@clisp.org>
48476
48477         New module 'hostent'.
48478         * modules/hostent: New file.
48479         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
48480
48481 2008-11-15  Bruno Haible  <bruno@clisp.org>
48482
48483         New module 'servent'.
48484         * modules/servent: New file.
48485         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
48486
48487 2008-11-15  Bruno Haible  <bruno@clisp.org>
48488
48489         Avoid generating same test program with two different rules.
48490         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
48491         test-frexp to test-frexp-nolibm.
48492         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
48493         test-frexpl to test-frexpl-nolibm.
48494
48495 2008-11-15  Bruno Haible  <bruno@clisp.org>
48496
48497         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
48498         $(FREXPL_LIBM).
48499
48500 2008-11-15  Bruno Haible  <bruno@clisp.org>
48501
48502         * lib/netdb.in.h: Activate the definitions also when the system's
48503         <netdb.h> has 'struct addrinfo'.
48504         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
48505         EAI_OVERFLOW or AI_NUMERICSERV.
48506         * doc/posix-headers/netdb.texi: Document the problem.
48507
48508 2008-11-15  Bruno Haible  <bruno@clisp.org>
48509
48510         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
48511
48512         Make the 'sched' module work on platforms where <sched.h> exists but
48513         is incomplete (such as Haiku).
48514         * lib/sched.in.h; Include the system's <sched.h> if it exists.
48515         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
48516         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
48517         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
48518         HAVE_STRUCT_SCHED_PARAM.
48519         * modules/sched (Depends-on): Add include_next.
48520         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
48521         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
48522         * doc/posix-headers/sched.texi: Document the issue.
48523
48524 2008-11-13  Jim Meyering  <meyering@redhat.com>
48525
48526         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
48527         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
48528         test would fail due to the difference in the Report bugs to ...
48529         line.  The expected address is empty, "<>", while the actual
48530         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
48531
48532 2008-11-12  Bruno Haible  <bruno@clisp.org>
48533
48534         lstat: don't compile lstat.c on systems lacking lstat
48535         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
48536         which don't have lstat; this is handled by lib/sys_stat.in.h already.
48537         Reported by Daniel P. Berrange via Jim Meyering.
48538
48539 2008-11-12  Jim Meyering  <meyering@redhat.com>
48540
48541         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
48542
48543 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48544
48545         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
48546         instead.
48547
48548 2008-11-12  Bruno Haible  <bruno@clisp.org>
48549
48550         * lib/unicodeio.c: Include unistr.h.
48551         (utf8_wctomb): Remove function.
48552         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
48553
48554 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48555
48556         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
48557         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
48558         <bruno@clisp.org>.
48559         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
48560
48561 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48562
48563         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
48564         * doc/gnulib.texi: Add section for warnings.
48565
48566 2008-11-11  Bruno Haible  <bruno@clisp.org>
48567
48568         * lib/sockets.h: Add a comment.
48569
48570 2008-11-11  Karl Berry  <karl@gnu.org>
48571
48572         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
48573
48574 2008-11-11  Eric Blake  <ebb9@byu.net>
48575
48576         fdl.texi: avoid git symlinks
48577         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
48578
48579 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48580
48581         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
48582
48583 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48584
48585         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
48586         (gl_WARN_ADD): Substitute $2 if literal.
48587
48588 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48589
48590         * m4/warning.m4: Remove.
48591
48592 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48593
48594         * m4/warnings.m4: Almost complete rewrite. :-)
48595
48596 2008-11-10  Simon Josefsson  <simon@josefsson.org>
48597
48598         * modules/warnings: New module.
48599         * m4/warnings.m4: New file.
48600         * MODULES.html.sh: Mention warnings module.
48601         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
48602         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48603
48604 2008-11-10  Eric Blake  <ebb9@byu.net>
48605
48606         fdl.texi: make a symlink to the latest version
48607         * doc/standards.texi: Revert today's earlier change.
48608         * doc/fdl-1.2.texi: Rename from old fdl.texi...
48609         * doc/fdl.texi: ...and replace this with a symlink to the newer
48610         fdl-1.3.texi.
48611
48612 2008-11-10  Bruno Haible  <bruno@clisp.org>
48613
48614         * tests/test-select-fd.c (main): Accept the result file name as fourth
48615         argument.
48616         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
48617         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
48618
48619 2008-11-10  Bruno Haible  <bruno@clisp.org>
48620
48621         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
48622         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
48623         as autoconf-substituted macros.
48624         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
48625         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
48626         gl_NETDB_H_DEFAULTS. Set these variables.
48627         * modules/netdb (Makefile.am): Substitute these variables.
48628
48629 2008-11-10  Eric Blake  <ebb9@byu.net>
48630
48631         standards.texi: include correct file for FDL 1.3
48632         * doc/standards.texi (GNU Free Documentation License): Change
48633         include file to pull in FDL 1.3, not 1.2.
48634
48635         fdl.texi: revert accidental change to license
48636         * doc/fdl.texi: This is FDL 1.2, not 1.3.
48637
48638 2008-11-10  Bruno Haible  <bruno@clisp.org>
48639
48640         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
48641         cross-compiling guesses also when the native compile gives no result.
48642
48643 2008-11-10  Bruno Haible  <bruno@clisp.org>
48644
48645         * lib/spawni.c (__spawni): Force variable into the stack.
48646
48647 2008-11-10  Bruno Haible  <bruno@clisp.org>
48648
48649         Add support for Haiku.
48650         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
48651         glibc and BeOS, but also on Haiku.
48652         * lib/fpurge.c (fpurge): Likewise.
48653         * lib/freadable.c (freadable): Likewise.
48654         * lib/freadahead.c (freadahead): Likewise.
48655         * lib/freading.c (freading): Likewise.
48656         * lib/freadptr.c (freadptr): Likewise.
48657         * lib/freadseek.c (freadptrinc): Likewise.
48658         * lib/fseeko.c (rpl_fseeko): Likewise.
48659         * lib/fseterr.c (fseterr): Likewise.
48660         * lib/fwritable.c (fwritable): Likewise.
48661         * lib/fwriting.c (fwriting): Likewise.
48662         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
48663
48664 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48665
48666         * lib/config.charset: Treat Haiku like BeOS.
48667
48668 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48669
48670         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
48671         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
48672
48673 2008-11-08  Bruno Haible  <bruno@clisp.org>
48674
48675         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
48676         AC_CACHE_CHECK.
48677
48678 2008-11-08  Bruno Haible  <bruno@clisp.org>
48679
48680         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
48681
48682 2008-11-08  Bruno Haible  <bruno@clisp.org>
48683
48684         * tests/test-select-fd.c: New file.
48685         * tests/test-select-in.sh: New file.
48686         * tests/test-select-out.sh: New file.
48687         * tests/test-select-stdin.c: New file.
48688         * modules/select-tests (Files): Add the new files.
48689         (Depends-on): Add gettimeofday.
48690         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
48691         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
48692         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
48693
48694 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
48695             Bruno Haible  <bruno@clisp.org>
48696
48697         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
48698
48699 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
48700
48701         * build-aux/pmccabe2html: Added support for C++ source files.
48702
48703 2008-11-05  Ben Pfaff  <blp@gnu.org>
48704
48705         Fix lib/close.c build on Windows.
48706         * modules/close (Files): Add lib/w32sock.h.
48707
48708 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
48709
48710         Accept Bison's NEWS format.
48711         * build-aux/announce-gen (print_news_deltas): Tweak
48712         $re_prefix.
48713
48714 2008-11-04  Bruno Haible  <bruno@clisp.org>
48715
48716         * modules/random_r (Maintainer): Add glibc.
48717
48718 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48719
48720         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
48721         by karl@freefriends.org (Karl Berry).
48722         * doc/alloca.texi: Likewise.
48723         * doc/c-ctype.texi: Likewise.
48724         * doc/c-strcase.texi: Likewise.
48725         * doc/c-strcaseeq.texi: Likewise.
48726         * doc/c-strcasestr.texi: Likewise.
48727         * doc/c-strstr.texi: Likewise.
48728         * doc/c-strtod.texi: Likewise.
48729         * doc/c-strtold.texi: Likewise.
48730         * doc/ctime.texi: Likewise.
48731         * doc/error.texi: Likewise.
48732         * doc/fdl.texi: Likewise.
48733         * doc/gcd.texi: Likewise.
48734         * doc/getdate.texi: Likewise.
48735         * doc/gnulib-intro.texi: Likewise.
48736         * doc/gnulib-tool.texi: Likewise.
48737         * doc/gnulib.texi: Likewise.
48738         * doc/inet_ntoa.texi: Likewise.
48739         * doc/maintain.texi: Likewise.
48740         * doc/make-stds.texi: Likewise.
48741         * doc/quote.texi: Likewise.
48742         * doc/regexprops-generic.texi: Likewise.
48743         * doc/standards.texi: Likewise.
48744         * doc/verify.texi: Likewise.
48745         * doc/visibility.texi: Likewise.
48746         * doc/gnulib.texi (GNU Free Documentation License): Include
48747         fdl-1.3.texi instead of fdl.texi.
48748
48749 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48750
48751         * doc/fdl-1.3.texi: New file, from
48752         <http://www.gnu.org/licenses/fdl-1.3.texi>.
48753         * modules/fdl-1.3: Add.
48754         * MODULES.html.sh: Add fdl-1.3.
48755
48756 2008-11-03  Bruno Haible  <bruno@clisp.org>
48757
48758         Make determination of absolute name of header file work with AIX xlc.
48759         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
48760         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
48761         preprocessing.
48762         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48763         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48764
48765 2008-11-03  Simon Josefsson  <simon@josefsson.org>
48766
48767         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
48768         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
48769         <ludo@gnu.org>.
48770
48771 2008-11-02  Bruno Haible  <bruno@clisp.org>
48772
48773         Mark 'strpbrk' obsolete.
48774         * modules/strpbrk (Status, Notice): New sections.
48775         * modules/strtok_r (Depends-on): Add strpbrk.
48776
48777 2008-11-02  Bruno Haible  <bruno@clisp.org>
48778
48779         Mark 'strdup' obsolete.
48780         * modules/strdup (Status, Notice): New sections.
48781         * modules/findprog (Depends-on): Add strdup.
48782         * modules/getaddrinfo (Depends-on): Likewise.
48783         * modules/localename (Depends-on): Likewise.
48784         * modules/relocatable-lib (Depends-on): Likewise.
48785         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
48786         * modules/relocatable-prog (Depends-on): Likewise.
48787         * modules/trim (Depends-on): Likewise.
48788         * modules/unictype/gen-ctype (Depends-on): Likewise.
48789         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48790
48791 2008-11-02  Bruno Haible  <bruno@clisp.org>
48792
48793         Mark 'strcspn' obsolete.
48794         * modules/strcspn (Status, Notice): New sections.
48795
48796 2008-11-02  Bruno Haible  <bruno@clisp.org>
48797
48798         Mark 'rmdir' obsolete.
48799         * modules/rmdir (Status, Notice): New sections.
48800         * modules/clean-temp (Depends-on): Add rmdir.
48801         * modules/openat (Depends-on): Likewise.
48802
48803 2008-11-02  Bruno Haible  <bruno@clisp.org>
48804
48805         Mark 'raise' obsolete.
48806         * modules/raise (Status, Notice): New sections.
48807         (Include): Specify <signal.h>.
48808         * modules/stdio (Depends-on): Add raise.
48809         * modules/write (Depends-on): Likewise.
48810
48811 2008-11-02  Bruno Haible  <bruno@clisp.org>
48812
48813         Mark 'memset' obsolete.
48814         * modules/memset (Status, Notice): New sections.
48815
48816 2008-11-02  Bruno Haible  <bruno@clisp.org>
48817
48818         Mark 'memmove' obsolete.
48819         * modules/memmove (Status, Notice): New sections.
48820         * modules/argp (Depends-on): Add memmove.
48821         * modules/argz (Depends-on): Likewise.
48822         * modules/canonicalize (Depends-on): Likewise.
48823         * modules/canonicalize-lgpl (Depends-on): Likewise.
48824         * modules/fts (Depends-on): Likewise.
48825         * modules/getcwd (Depends-on): Likewise.
48826         * modules/human (Depends-on): Likewise.
48827         * modules/regex (Depends-on): Likewise.
48828         * modules/striconveh (Depends-on): Likewise.
48829         * modules/trim (Depends-on): Likewise.
48830         * modules/unistr/u8-move (Depends-on): Likewise.
48831         * modules/unistr/u16-move (Depends-on): Likewise.
48832         * modules/unistr/u32-move (Depends-on): Likewise.
48833
48834 2008-11-02  Bruno Haible  <bruno@clisp.org>
48835
48836         Mark 'memcpy' obsolete.
48837         * modules/memcpy (Status, Notice): New sections.
48838
48839 2008-11-02  Bruno Haible  <bruno@clisp.org>
48840
48841         Mark 'memcmp' obsolete.
48842         * modules/memcmp (Status, Notice): New sections.
48843         * modules/argmatch (Depends-on): Add memchr.
48844         * modules/backupfile (Depends-on): Likewise.
48845         * modules/c-strcasestr (Depends-on): Likewise.
48846         * modules/crypto/des (Depends-on): Likewise.
48847         * modules/csharpcomp (Depends-on): Likewise.
48848         * modules/fnmatch (Depends-on): Likewise.
48849         * modules/git-merge-changelog (Depends-on): Likewise.
48850         * modules/isnand (Depends-on): Likewise.
48851         * modules/isnand-nolibm (Depends-on): Likewise.
48852         * modules/isnanf (Depends-on): Likewise.
48853         * modules/isnanf-nolibm (Depends-on): Likewise.
48854         * modules/isnanl (Depends-on): Likewise.
48855         * modules/isnanl-nolibm (Depends-on): Likewise.
48856         * modules/mbchar (Depends-on): Likewise.
48857         * modules/memcoll (Depends-on): Likewise.
48858         * modules/quotearg (Depends-on): Likewise.
48859         * modules/regex (Depends-on): Likewise.
48860         * modules/relocatable-prog (Depends-on): Likewise.
48861         * modules/same (Depends-on): Likewise.
48862         * modules/signbit (Depends-on): Likewise.
48863         * modules/strcasestr-simple (Depends-on): Likewise.
48864         * modules/unictype/gen-ctype (Depends-on): Likewise.
48865         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48866         * modules/uniname/uniname (Depends-on): Likewise.
48867         * modules/unistr/u8-cmp (Depends-on): Likewise.
48868
48869 2008-11-02  Bruno Haible  <bruno@clisp.org>
48870
48871         Mark 'memchr' obsolete.
48872         * modules/memchr (Status, Notice): New sections.
48873         * modules/argp (Depends-on): Add memchr.
48874         * modules/base64 (Depends-on): Likewise.
48875         * modules/c-strcasestr (Depends-on): Likewise.
48876         * modules/chdir-long (Depends-on): Likewise.
48877         * modules/fnmatch (Depends-on): Likewise.
48878         * modules/getsubopt (Depends-on): Likewise.
48879         * modules/git-merge-changelog (Depends-on): Likewise.
48880         * modules/glob (Depends-on): Likewise.
48881         * modules/strcasestr-simple (Depends-on): Likewise.
48882         * modules/strnlen (Depends-on): Likewise.
48883
48884 2008-11-02  Bruno Haible  <bruno@clisp.org>
48885
48886         Mark 'atexit' obsolete.
48887         * modules/atexit (Status, Notice): New sections.
48888         * modules/chdir-long (Depends-on): Add atexit.
48889         * modules/wait-process (Depends-on): Likewise.
48890
48891 2008-11-02  Bruno Haible  <bruno@clisp.org>
48892
48893         * gnulib-tool: New option --with-obsolete.
48894         (func_usage): Document it.
48895         (func_modules_transitive_closure): Drop obsolete dependencies if
48896         incobsolete is not true.
48897         (func_import): Read and save the incobsolete variable to the cache.
48898
48899 2008-11-02  Bruno Haible  <bruno@clisp.org>
48900
48901         * modules/TEMPLATE-EXTENDED: New field 'Status'.
48902         * gnulib-tool: New option --extract-status.
48903         (func_usage): Document it.
48904         (sed_extract_prog): Recognize it.
48905         (func_get_status): New function.
48906
48907 2008-10-30  Simon Josefsson  <simon@josefsson.org>
48908
48909         * modules/sockets (License): Change from LGPL to LGPLv2+.
48910
48911 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48912
48913         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
48914
48915 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48916
48917         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48918         Mention times and sys_times.
48919         * modules/sys_times, modules/sys_times-tests: New modules.
48920         * modules/times, modules/times-tests: Likewise
48921         * m4/sys_times_h.m4: New file.
48922         * lib/sys_times.in.h: Likewise
48923         * lib/times.c: Likewise.
48924         * tests/test-sys_times.c: Likewise.
48925         * tests/test-times.c: Likewise.
48926         * doc/posix-headers/sys_times.texi: Update.
48927         * doc/posix-functions/times.texi: Update.
48928
48929 2008-10-28  Jim Meyering  <meyering@redhat.com>
48930
48931         * modules/tempname (Depends-on): Add lstat.
48932
48933         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
48934
48935 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48936
48937         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
48938         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
48939         using idiom used elsewhere in gnulib.
48940
48941 2008-10-27  Jim Meyering  <meyering@redhat.com>
48942
48943         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
48944
48945 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48946
48947         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
48948         TESTS_ENVIRONMENT, for shell scripts that needs to call built
48949         programs.
48950         * tests/test-argp-2.sh: Use $EXEEXT when needed.
48951
48952 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48953
48954         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
48955
48956 2008-10-27  Bruno Haible  <bruno@clisp.org>
48957
48958         * tests/test-lstat.c: Include <stdio.h>.
48959
48960 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48961
48962         * modules/lstat-tests: New module.
48963         * tests/test-lstat.c: New file.
48964
48965 2008-10-26  Jim Meyering  <meyering@redhat.com>
48966
48967         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
48968
48969 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48970             Bruno Haible  <bruno@clisp.org>
48971
48972         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
48973         * modules/configmake (Include): Add a note that the include must come
48974         after all system headers.
48975         * lib/javaversion.c: Include configmake.h after all other includes.
48976
48977 2008-10-26  Bruno Haible  <bruno@clisp.org>
48978
48979         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
48980         HAVE_STRUCT_RANDOM_DATA to 1.
48981         (gl_STDLIB_H): Simplify.
48982
48983 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48984
48985         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
48986         substitute HAVE_STRUCT_RANDOM_DATA.
48987         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
48988         random_data.
48989         * modules/stdlib (Makefile.am): Substitute
48990         HAVE_STRUCT_RANDOM_DATA.
48991
48992 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48993
48994         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
48995         * doc/gnulib-intro.texi (Copyright): Likewise.
48996
48997 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48998
48999         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
49000         findings.
49001
49002 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
49003             Bruno Haible  <bruno@clisp.org>
49004
49005         * lib/unistd.in.h: Include <winsock2.h>.
49006         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
49007         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
49008         Provide dummy declarations.
49009         (gethostname): Override.
49010         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
49011         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
49012         gl_PREREQ_SYS_H_WINSOCK2.
49013         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
49014         * doc/posix-functions/gethostname.texi: More details.
49015
49016 2008-10-25  Bruno Haible  <bruno@clisp.org>
49017
49018         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49019         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
49020         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
49021
49022         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
49023         here ...
49024         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
49025         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
49026         gl_UNISTD_H_DEFAULTS.
49027
49028 2008-10-25  Eric Blake  <ebb9@byu.net>
49029
49030         signbit: avoid spurious compiler failure
49031         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
49032         declarations inside function.
49033
49034 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49035             Bruno Haible  <bruno@clisp.org>
49036
49037         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
49038         * modules/random_r (Depends-on): Add stdint.
49039
49040 2008-10-24  Bruno Haible  <bruno@clisp.org>
49041
49042         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
49043         Eggert.
49044         * modules/strerror (License): Likewise.
49045
49046 2008-10-24  Jim Meyering  <meyering@redhat.com>
49047
49048         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
49049         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
49050
49051 2008-10-24  Eric Blake  <ebb9@byu.net>
49052
49053         getgroups: fix compilation when getgroups is available
49054         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
49055         but with <config.h> override of getgroups disabled.
49056
49057 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49058
49059         * doc/gnulib.texi (Header files): Add note about C++ problems.
49060         Explained by Bruno Haible <bruno@clisp.org>.
49061
49062 2008-10-23  Bruno Haible  <bruno@clisp.org>
49063
49064         Define a dummy SA_NODEFER macro on Interix.
49065         * lib/signal.in.h (SA_NODEFER): Define fallback.
49066         Reported by Aleksey Cheusov <cheusov@tut.by> via
49067         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
49068
49069 2008-10-23  Bruno Haible  <bruno@clisp.org>
49070
49071         * modules/freadahead (License): Change to LGPLv2+.
49072         Suggested by Simon Josefsson.
49073
49074 2008-10-23  Jim Meyering  <meyering@redhat.com>
49075
49076         random_r: new module
49077         * modules/random_r: New file.
49078         * m4/random_r.m4: New file.
49079         * lib/random_r.c: New file, from glibc.
49080         * modules/random_r-tests: New file.
49081         * tests/test-random_r.c: New file.
49082         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
49083          Declare.
49084         (RAND_MAX): Define.
49085         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
49086         * modules/stdlib: Substitute them, too.
49087         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
49088         * doc/glibc-functions/initstate_r.texi: Mention the new module.
49089         * doc/glibc-functions/random_r.texi: Likewise.
49090         * doc/glibc-functions/setstate_r.texi: Likewise.
49091         * doc/glibc-functions/srandom_r.texi: Likewise.
49092         * config/srclist.txt: Mention it.
49093
49094 2008-10-23  David Lutterkort  <lutter@redhat.com>
49095
49096         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
49097         link requirement
49098
49099 2008-10-23  Jim Meyering  <meyering@redhat.com>
49100
49101         selinux-h: mark parameters of stub functions as intentionally unused
49102         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
49103         * lib/se-context.in.h: Likewise.
49104
49105 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49106
49107         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
49108
49109 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49110
49111         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
49112
49113 2008-10-22  Eric Blake  <ebb9@byu.net>
49114
49115         glthread/thread: avoid compiler warning
49116         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
49117         Add unreachable abort to silence compiler.
49118
49119 2008-10-22  Eric Blake  <ebb9@byu.net>
49120
49121         netdb: also supply struct addrinfo for cygwin 1.5.x
49122         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
49123         older cygwin.
49124         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
49125         cygwin.
49126         * doc/posix-headers/netdb.texi (netdb.h): Document this.
49127
49128 2008-10-22  Bruno Haible  <bruno@clisp.org>
49129
49130         * users.txt: Update entry about pspp.
49131
49132 2008-10-21  Bruno Haible  <bruno@clisp.org>
49133
49134         Simplification.
49135         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
49136         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
49137
49138         Simplification.
49139         * lib/ioctl.c (ioctl): Don't undefine.
49140         * lib/socket.c (socket): Don't undefine.
49141
49142         Remove unused module indicator macros.
49143         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
49144         GNULIB_$1 as a C macro.
49145
49146         * doc/posix-functions/close.texi: Undo last change.
49147         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
49148         Windows platforms.
49149
49150 2008-10-21  Bruno Haible  <bruno@clisp.org>
49151
49152         Add gethostname() declaration to <unistd.h>.
49153         * lib/unistd.in.h (gethostname): New declaration.
49154         * lib/gethostname.c: Include <unistd.h>.
49155         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
49156         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
49157         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
49158         and HAVE_GETHOSTNAME.
49159         * modules/gethostname (Depends-on): Add unistd.
49160         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49161         (Include): Specify <unistd.h>.
49162         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
49163         HAVE_GETHOSTNAME.
49164         * tests/test-gethostname.c: Include <unistd.h> first.
49165
49166 2008-10-21  Bruno Haible  <bruno@clisp.org>
49167
49168         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
49169         * modules/select-tests (Depends-on): Likewise.
49170         Reported by Simon Josefsson.
49171
49172 2008-10-21  Simon Josefsson  <simon@josefsson.org>
49173
49174         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
49175         * lib/accept.c: New file, based on winsock.c.
49176         * lib/bind.c: New file, based on winsock.c.
49177         * lib/connect.c: New file, based on winsock.c.
49178         * lib/getpeername.c: New file, based on winsock.c.
49179         * lib/getsockname.c: New file, based on winsock.c.
49180         * lib/getsockopt.c: New file, based on winsock.c.
49181         * lib/ioctl.c: New file, based on winsock.c.
49182         * lib/listen.c: New file, based on winsock.c.
49183         * lib/recv.c: New file, based on winsock.c.
49184         * lib/recvfrom.c: New file, based on winsock.c.
49185         * lib/send.c: New file, based on winsock.c.
49186         * lib/sendto.c: New file, based on winsock.c.
49187         * lib/setsockopt.c: New file, based on winsock.c.
49188         * lib/shutdown.c: New file, based on winsock.c.
49189         * lib/socket.c: New file, based on winsock.c.
49190         * lib/w32sock.h: New file, based on winsock.c.
49191         * lib/winsock.c: Remove file.
49192         * modules/accept: Likewise.
49193         * modules/bind: Likewise.
49194         * modules/connect: Likewise.
49195         * modules/getpeername: Likewise.
49196         * modules/getsockname: Likewise.
49197         * modules/getsockopt: Likewise.
49198         * modules/ioctl: Likewise.
49199         * modules/listen: Likewise.
49200         * modules/recv: Likewise.
49201         * modules/recvfrom: Likewise.
49202         * modules/send: Likewise.
49203         * modules/sendto: Likewise.
49204         * modules/setsockopt: Likewise.
49205         * modules/shutdown: Likewise.
49206         * modules/socket: Use socket.c instead of winsock.c.
49207         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
49208         * doc/posix-functions/accept.texi: Doc fix.
49209         * doc/posix-functions/bind.texi: Doc fix.
49210         * doc/posix-functions/close.texi: Doc fix.
49211         * doc/posix-functions/connect.texi: Doc fix.
49212         * doc/posix-functions/getpeername.texi: Doc fix.
49213         * doc/posix-functions/getsockname.texi: Doc fix.
49214         * doc/posix-functions/getsockopt.texi: Doc fix.
49215         * doc/posix-functions/ioctl.texi: Doc fix.
49216         * doc/posix-functions/listen.texi: Doc fix.
49217         * doc/posix-functions/recv.texi: Doc fix.
49218         * doc/posix-functions/recvfrom.texi: Doc fix.
49219         * doc/posix-functions/send.texi: Doc fix.
49220         * doc/posix-functions/sendto.texi: Doc fix.
49221         * doc/posix-functions/setsockopt.texi: Doc fix.
49222         * doc/posix-functions/shutdown.texi: Doc fix.
49223         * doc/posix-functions/socket.texi: Doc fix.
49224
49225 2008-10-20  Bruno Haible  <bruno@clisp.org>
49226
49227         Take into account the role of SIGABRT_COMPAT on Windows 2008.
49228         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
49229         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
49230         as an alias for SIGABRT.
49231         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
49232         (sigaction): Map it to SIGABRT.
49233         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
49234
49235 2008-10-20  Bruno Haible  <bruno@clisp.org>
49236
49237         * lib/fts.c: Don't include lstat.h.
49238         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
49239
49240         Move the lstat() declaration to <sys/stat.h>.
49241         * lib/lstat.h: Remove file.
49242         * lib/sys_stat.in.h: Add special invocation convention.
49243         (lstat): New declaration.
49244         * lib/lstat.c (orig_lstat): New function.
49245         (rpl_lstat): Use orig_lstat instead of lstat.
49246         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
49247         AC_C_INLINE. Set REPLACE_LSTAT.
49248         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
49249         and REPLACE_LSTAT.
49250         * modules/lstat (Files): Remove lib/lstat.h.
49251         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49252         (Include): Specify <sys/stat.h> instead of lstat.h.
49253         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
49254         REPLACE_LSTAT.
49255         * NEWS: Mention the change.
49256
49257 2008-10-20  Bruno Haible  <bruno@clisp.org>
49258
49259         * modules/posix_spawn-tests: New file.
49260         * tests/test-posix_spawn3.c: New file.
49261
49262 2008-10-20  Bruno Haible  <bruno@clisp.org>
49263
49264         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
49265         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49266         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
49267         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49268         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
49269
49270 2008-10-20  Bruno Haible  <bruno@clisp.org>
49271
49272         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
49273         of posix_spawn on AIX 5.3.
49274
49275 2008-10-20  Bruno Haible  <bruno@clisp.org>
49276
49277         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
49278
49279 2008-10-20  Bruno Haible  <bruno@clisp.org>
49280
49281         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
49282         of AC_LANG_PROGRAM.
49283
49284 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49285
49286         * lib/netdb.in.h: Don't define GNU specific constants until they
49287         are supported or needed.  Reported by Bruno Haible
49288         <bruno@clisp.org>.
49289
49290 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49291
49292         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
49293
49294 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49295
49296         * lib/getaddrinfo.h: Remove file.
49297         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
49298         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
49299         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
49300         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
49301         * modules/netdb: Substitute GNULIB_GETADDRINFO.
49302         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
49303         * tests/test-getaddrinfo.c: Likewise.
49304         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
49305         * NEWS: Mention change.
49306
49307 2008-10-19  Bruno Haible  <bruno@clisp.org>
49308
49309         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
49310
49311 2008-10-19  Bruno Haible  <bruno@clisp.org>
49312
49313         * lib/wait-process.c: Include simply <sys/wait.h>.
49314         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
49315         WIFSTOPPED): Remove fallback definitions.
49316         * modules/wait-process (Depends-on): Add sys_wait.
49317
49318         New module 'sys_wait'.
49319         * modules/sys_wait: New file.
49320         * lib/sys_wait.in.h: New file, partially copied from
49321         lib/wait-process.c.
49322         * m4/sys_wait_h.m4: New file.
49323         * doc/posix-headers/sys_wait.texi: Mention the new module.
49324
49325 2008-10-19  Bruno Haible  <bruno@clisp.org>
49326
49327         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
49328
49329 2008-10-19  Bruno Haible  <bruno@clisp.org>
49330
49331         Assume that waitpid() fills an 'int' status, not a 'union wait'.
49332         * lib/wait-process.c (WAIT_T): Remove type.
49333         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
49334         (wait_subprocess): Update.
49335
49336 2008-10-19  Bruno Haible  <bruno@clisp.org>
49337
49338         New module 'atoll'.
49339         * modules/atoll: New file.
49340         * lib/stdlib.in.h (atoll): New declaration.
49341         * lib/atoll.c: New file, from glibc with modifications.
49342         * m4/atoll.m4: New file.
49343         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
49344         HAVE_ATOLL.
49345         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
49346         * doc/posix-functions/atoll.texi: Mention the new module.
49347
49348 2008-10-19  Bruno Haible  <bruno@clisp.org>
49349
49350         Add strtoull() declaration to <stdlib.h>.
49351         * lib/stdlib.in.h (strtoull): New declaration.
49352         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49353         Set HAVE_STRTOULL.
49354         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
49355         HAVE_STRTOULL.
49356         * modules/strtoull (Depends-on): Add stdlib.
49357         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49358         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
49359         HAVE_STRTOULL.
49360
49361 2008-10-19  Bruno Haible  <bruno@clisp.org>
49362
49363         Add strtoll() declaration to <stdlib.h>.
49364         * lib/stdlib.in.h (strtoll): New declaration.
49365         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49366         Set HAVE_STRTOLL.
49367         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
49368         HAVE_STRTOLL.
49369         * modules/strtoll (Depends-on): Add stdlib.
49370         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49371         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
49372
49373 2008-10-19  Bruno Haible  <bruno@clisp.org>
49374
49375         * modules/bcopy (Depends-on): Add strings.
49376         (Include): Specify <strings.h>.
49377
49378 2008-10-19  Bruno Haible  <bruno@clisp.org>
49379
49380         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
49381
49382 2008-10-19  Bruno Haible  <bruno@clisp.org>
49383
49384         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
49385         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
49386         mingw.
49387
49388 2008-10-19  Bruno Haible  <bruno@clisp.org>
49389
49390         * lib/atanl.c: Don't include isnanl.h.
49391         * lib/cosl.c: Likewise.
49392         * lib/ldexpl.c: Likewise.
49393         * lib/logl.c: Likewise.
49394         * lib/sinl.c: Likewise.
49395         * lib/sqrtl.c: Likewise.
49396         * lib/tanl.c: Likewise.
49397
49398         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
49399         * lib/isnanf.h: Remove file.
49400         * lib/isnand.h: Remove file.
49401         * lib/isnanl.h: Remove file.
49402         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
49403         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
49404         macros.
49405         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
49406         HAVE_ISNANF, don't define it as a C macro.
49407         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
49408         HAVE_ISNAND, don't define it as a C macro.
49409         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
49410         HAVE_ISNANL, don't define it as a C macro.
49411         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
49412         HAVE_ISNAN[FDL].
49413         * modules/isnanf (Files): Remove lib/isnanf.h.
49414         (Depends-on): Add math.
49415         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49416         (Include): Specify <math.h> instead of isnanf.h.
49417         * modules/isnand (Files): Remove lib/isnand.h.
49418         (Depends-on): Add math.
49419         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49420         (Include): Specify <math.h> instead of isnand.h.
49421         * modules/isnanl (Files): Remove lib/isnanl.h.
49422         (Depends-on): Add math.
49423         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49424         (Include): Specify <math.h> instead of isnanl.h.
49425         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
49426         HAVE_ISNAN[FDL].
49427         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
49428         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
49429         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
49430         * NEWS: Mention the change.
49431
49432 2008-10-18  Bruno Haible  <bruno@clisp.org>
49433
49434         Add getusershell(), setusershell(), endusershell() declarations to
49435         <unistd.h>.
49436         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
49437         declarations.
49438         * lib/getusershell.c: Include unistd.h.
49439         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
49440         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49441         HAVE_GETUSERSHELL.
49442         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
49443         and HAVE_GETUSERSHELL.
49444         * modules/getusershell (Depends-on): Add unistd, extensions.
49445         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49446         (Include): Specify <unistd.h>.
49447         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
49448         HAVE_GETUSERSHELL.
49449
49450 2008-10-18  Bruno Haible  <bruno@clisp.org>
49451
49452         Add a getloadavg() declaration to <stdlib.h>.
49453         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
49454         getloadavg declaration.
49455         (getloadavg): New declaration.
49456         * lib/getloadavg.c: Include <stdlib.h> first.
49457         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
49458         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
49459         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
49460         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
49461         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49462         * modules/getloadavg (Depends-on): Add stdlib, extensions.
49463         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49464         (Include): Specify <stdlib.h>.
49465         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
49466         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49467
49468 2008-10-18  Bruno Haible  <bruno@clisp.org>
49469
49470         * lib/dirchownmod.c: Don't include lchmod.h.
49471
49472         Move the lchmod() declaration to <sys/stat.h>.
49473         * lib/lchmod.h: Remove file.
49474         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
49475         (lchmod): New declaration, moved here from lib/lchown.h.
49476         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
49477         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
49478         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
49479         and HAVE_LCHMOD.
49480         * modules/lchmod (Files): Remove lib/lchmod.h.
49481         (Depends-on): Add sys_stat, extensions.
49482         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49483         (Include): Specify <sys/stat.h> instead of lchmod.h.
49484         * modules/sys_stat (Depends-on): Add link-warning.
49485         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
49486         definition of GL_LINK_WARNING.
49487         * NEWS: Mention the change.
49488
49489 2008-10-18  Bruno Haible  <bruno@clisp.org>
49490
49491         * lib/fchdir.c: Don't include dirfd.h.
49492         * lib/fts.c: Likewise.
49493         * lib/getcwd.c: Likewise.
49494         * lib/glob.c: Likewise.
49495
49496         Move the dirfd() declaration to <dirent.h>.
49497         * lib/dirfd.h: Remove file.
49498         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
49499         (dirfd): New declaration.
49500         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
49501         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
49502         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
49503         HAVE_DECL_DIRFD.
49504         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
49505         HAVE_DECL_DIRFD.
49506         * modules/dirfd (Files): Remove lib/dirfd.h.
49507         (Depends-on): Add dirent, extensions.
49508         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
49509         (Include): Specify <dirent.h> instead of dirfd.h.
49510         * modules/dirent (Depends-on): Add link-warning.
49511         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
49512         definition of GL_LINK_WARNING.
49513         * NEWS: Mention the change.
49514
49515 2008-10-18  Bruno Haible  <bruno@clisp.org>
49516
49517         Move the euidaccess() declaration to <unistd.h>.
49518         * lib/euidaccess.h: Remove file.
49519         * lib/unistd.in.h (euidaccess): New declaration.
49520         * lib/euidaccess.c: Don't include euidaccess.h.
49521         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
49522         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
49523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
49524         and HAVE_EUIDACCESS.
49525         * modules/euidaccess (Files): Remove lib/euidaccess.h.
49526         (Depends-on): Add unistd.
49527         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49528         (Include): Specify <unistd.h> instead of euidaccess.h.
49529         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
49530         HAVE_EUIDACCESS.
49531         * NEWS: Mention the change.
49532
49533 2008-10-18  Bruno Haible  <bruno@clisp.org>
49534
49535         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
49536
49537         Move the getdomainname() declaration to <unistd.h>.
49538         * lib/getdomainname.h: Remove file.
49539         * lib/unistd.in.h (getdomainname): New declaration.
49540         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
49541         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
49542         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49543         HAVE_GETDOMAINNAME.
49544         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49545         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
49546         * modules/getdomainname (Files): Remove lib/getdomainname.h.
49547         (Depends-on): Add unistd, extensions.
49548         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49549         (Includes): Specify <unistd.h> instead of getdomainname.h.
49550         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
49551         HAVE_GETDOMAINNAME.
49552         * NEWS: Mention the change.
49553
49554 2008-10-18  Bruno Haible  <bruno@clisp.org>
49555
49556         * modules/dirent: New file.
49557         * m4/dirent_h.m4: New file.
49558         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
49559         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
49560         * modules/fchdir (Files): Remove lib/dirent.in.h.
49561         (Depends-on): Add dirent.
49562         (Makefile.am): Move rules to modules/dirent.
49563         * doc/posix-headers/dirent.texi: Mention the new module.
49564
49565 2008-10-18  Bruno Haible  <bruno@clisp.org>
49566
49567         Avoid -Wunused-parameter warnings in public gnulib header files.
49568         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
49569         macro.
49570         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
49571
49572 2008-10-18  Bruno Haible  <bruno@clisp.org>
49573
49574         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
49575         * doc/glibc-functions/error.texi: Mention the module 'error'.
49576         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
49577         * doc/glibc-functions/getdomainname.texi: Mention the module
49578         'getdomainname'.
49579         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
49580         * doc/glibc-functions/getpagesize.texi: Mention the module
49581         'getpagesize'.
49582         * doc/glibc-functions/getusershell.texi: Mention the module
49583         'getusershell'.
49584         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
49585         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
49586         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
49587         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
49588         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
49589         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
49590         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
49591         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
49592         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
49593         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
49594         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
49595         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
49596         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
49597         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
49598
49599 2008-10-17  Bruno Haible  <bruno@clisp.org>
49600
49601         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
49602         HP-UX and IRIX, use -0.0L.
49603         * tests/test-ceill.c (minus_zero): Likewise.
49604         * tests/test-floorl.c (minus_zero): Likewise.
49605         * tests/test-frexpl.c (minus_zero): Likewise.
49606         * tests/test-isnan.c (minus_zerol): Likewise.
49607         * tests/test-isnanl.h (minus_zero): Likewise.
49608         * tests/test-ldexpl.c (minus_zero): Likewise.
49609         * tests/test-roundl.c (minus_zero): Likewise.
49610         * tests/test-signbit.c (minus_zerol): Likewise.
49611         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49612         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49613         * tests/test-truncl.c (minus_zero): Likewise.
49614         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49615         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49616         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
49617         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49618
49619 2008-10-17  Bruno Haible  <bruno@clisp.org>
49620
49621         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
49622         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
49623         that it gets activated only for gcc >= 3.0.
49624         * lib/dirent.in.h: Likewise.
49625         * lib/errno.in.h: Likewise.
49626         * lib/fcntl.in.h: Likewise.
49627         * lib/float.in.h: Likewise.
49628         * lib/iconv.in.h: Likewise.
49629         * lib/inttypes.in.h: Likewise.
49630         * lib/locale.in.h: Likewise.
49631         * lib/math.in.h: Likewise.
49632         * lib/netdb.in.h: Likewise.
49633         * lib/netinet_in.in.h: Likewise.
49634         * lib/search.in.h: Likewise.
49635         * lib/signal.in.h: Likewise.
49636         * lib/spawn.in.h: Likewise.
49637         * lib/stdarg.in.h: Likewise.
49638         * lib/stdint.in.h: Likewise.
49639         * lib/stdio.in.h: Likewise.
49640         * lib/stdlib.in.h: Likewise.
49641         * lib/string.in.h: Likewise.
49642         * lib/strings.in.h: Likewise.
49643         * lib/sys_file.in.h: Likewise.
49644         * lib/sys_ioctl.in.h: Likewise.
49645         * lib/sys_select.in.h: Likewise.
49646         * lib/sys_socket.in.h: Likewise.
49647         * lib/sys_stat.in.h: Likewise.
49648         * lib/sys_time.in.h: Likewise.
49649         * lib/sysexits.in.h: Likewise.
49650         * lib/time.in.h: Likewise.
49651         * lib/unistd.in.h: Likewise.
49652         * lib/wchar.in.h: Likewise.
49653         * lib/wctype.in.h: Likewise.
49654         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49655
49656 2008-10-17  Jim Meyering  <meyering@redhat.com>
49657
49658         ignore-value: don't depend on inline module
49659         * modules/ignore-value (Depends-on): Remove 'inline'.
49660         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
49661         Suggestion from Bruno Haible.
49662
49663 2008-10-17  Bruno Haible  <bruno@clisp.org>
49664
49665         New implementation of condition variables for Win32.
49666         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
49667         (gl_linked_waitqueue_t): New type.
49668         (gl_cond_t): Use it.
49669         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
49670         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
49671         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
49672         (glthread_cond_init_func, glthread_cond_wait_func,
49673         glthread_cond_timedwait_func, glthread_cond_signal_func,
49674         glthread_cond_broadcast_func, glthread_cond_destroy_func):
49675         Reimplemented on the basis of gl_linked_waitqueue_t.
49676         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
49677         gl_waitqueue_t.
49678         (gl_rwlock_t): Update.
49679         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
49680
49681 2008-10-17  Simon Josefsson  <simon@josefsson.org>
49682
49683         * modules/recvfrom (Depends-on): Add dependency on getpeername.
49684         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49685
49686 2008-10-17  Jim Meyering  <meyering@redhat.com>
49687
49688         ignore-value: new module
49689         * modules/ignore-value: New file.
49690         * lib/ignore-value.h: New file.
49691         * MODULES.html.sh (Compiler warning management): New section,
49692         just for this module.  More to come.
49693
49694 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
49695
49696         open-safer.c: avoid 'signed and unsigned in conditional...' warning
49697         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
49698         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
49699
49700 2008-10-16  Jim Meyering  <meyering@redhat.com>
49701
49702         openat-die.c: avoid 'no previous prototype' warning
49703         * lib/openat-die.c: Include "openat.h".
49704         Reported by Reuben Thomas <rrt@sc3d.org>.
49705
49706 2008-10-16  Simon Josefsson  <simon@josefsson.org>
49707
49708         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
49709         * lib/netdb.in.h: Fix typo.
49710         Reported by Bruno Haible  <bruno@clisp.org>
49711
49712         * lib/netdb.in.h: Include sys/socket.h for platforms without
49713         netdb.h, to get structures like hostent on MinGW.
49714         * modules/netdb (Depends-on): Add sys_socket.
49715
49716 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49717
49718         * modules/netdb, modules/netdb-tests: New file.
49719         * m4/netdb_h.m4: New file.
49720         * lib/netdb.in.h: Add, currently just an empty file pending
49721         definitions.
49722         * tests/test-netdb.c: New file.
49723         * doc/posix-headers/netdb.texi: Mention that we replace it if
49724         needed.
49725         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49726         netdb.
49727
49728 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49729
49730         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
49731         with code.
49732
49733 2008-10-13  Bruno Haible  <bruno@clisp.org>
49734
49735         * lib/glthread/cond.c (glthread_cond_wait_func,
49736         glthread_cond_timedwait_func): Add a comment.
49737
49738 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49739
49740         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
49741         * tests/test-select.c: Likewise,
49742
49743 2008-10-13  Bruno Haible  <bruno@clisp.org>
49744
49745         * lib/glthread/cond.c (glthread_cond_wait_func,
49746         glthread_cond_timedwait_func): Fix variable name.
49747         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49748
49749 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
49750
49751         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
49752         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
49753         struct sockaddr.sa_len.
49754         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
49755
49756 2008-10-13  Simon Josefsson  <simon@josefsson.org>
49757
49758         * build-aux/pmccabe2html: Add css and css_url parameters.
49759
49760 2008-10-12  Bruno Haible  <bruno@clisp.org>
49761
49762         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
49763         calling aclx_get.
49764         Reported by Rainer Tammer <tammer@tammer.net>.
49765
49766 2008-10-12  Bruno Haible  <bruno@clisp.org>
49767
49768         Use msvcrt aware primitives for creation/termination of Win32 threads.
49769         * lib/glthread/thread.c: Include <process.h>.
49770         (glthread_create_func): Use _beginthreadex instead of CreateThread.
49771         (wrapper_func): Update signature.
49772         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
49773
49774 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49775             Bruno Haible  <bruno@clisp.org>
49776
49777         Provide a Win32 implementation of the 'cond' module.
49778         * lib/glthread/cond.h [USE_WIN32]: New implementation.
49779         * lib/glthread/cond.c (glthread_cond_init_func,
49780         glthread_cond_wait_func, glthread_cond_timedwait_func,
49781         glthread_cond_signal_func, glthread_cond_broadcast_func,
49782         glthread_cond_destroy_func) [USE_WIN32]: New functions.
49783         * modules/cond (Dependencies): Add gettimeofday.
49784
49785 2008-10-11  Bruno Haible  <bruno@clisp.org>
49786
49787         Make sleep work on older versions of mingw.
49788         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
49789         only whether it exists.
49790         * doc/posix-functions/sleep.texi: Mention the problem with older
49791         versions of mingw.
49792
49793 2008-10-11  Bruno Haible  <bruno@clisp.org>
49794
49795         New module 'shutdown'.
49796         * modules/shutdown: New file.
49797         * lib/sys_socket.in.h (shutdown): New declaration.
49798         * lib/winsock.c (shutdown): New function.
49799         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
49800         GNULIB_SHUTDOWN.
49801         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
49802         * doc/posix-functions/shutdown.texi: Document the new module.
49803
49804 2008-10-11  Jim Meyering  <meyering@redhat.com>
49805
49806         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
49807
49808 2008-10-11  Bruno Haible  <bruno@clisp.org>
49809
49810         New module 'fclose'.
49811         * modules/fclose: New file.
49812         * lib/stdio.in.h (fclose): New declaration.
49813         * lib/fclose.c: New file.
49814         * m4/fclose.m4: New file.
49815         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
49816         REPLACE_FCLOSE.
49817         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
49818         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
49819         REPLACE_FCLOSE.
49820         * modules/close (Depends-on): fclose.
49821         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
49822
49823 2008-10-11  Bruno Haible  <bruno@clisp.org>
49824
49825         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
49826         set errno and don't call _close.
49827
49828 2008-10-10  Bruno Haible  <bruno@clisp.org>
49829
49830         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
49831         ACL, not afterwards. Fixes test failure on Cygwin.
49832
49833 2008-10-09  Ben Pfaff  <blp@gnu.org>
49834
49835         * build-aux/announce-gen: Fix gnulib version related part of usage
49836         message.  Die with a useful error message if no tarballs are
49837         found.
49838
49839 2008-10-10  Jim Meyering  <meyering@redhat.com>
49840
49841         bootstrap: use git's --depth=N option only if it's supported
49842         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
49843         recognize the --depth option.  Reported by Pádraig Brady.
49844
49845 2008-10-09  Bruno Haible  <bruno@clisp.org>
49846
49847         New module 'ioctl'.
49848         * modules/ioctl: New file.
49849         * lib/sys_socket.in.h (ioctl): Remove declaration.
49850         * lib/winsock.c: Include <sys/ioctl.h>.
49851         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
49852         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49853         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
49854         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
49855         * doc/posix-functions/ioctl.texi: Mention the new module.
49856
49857 2008-10-09  Bruno Haible  <bruno@clisp.org>
49858
49859         New module 'sys_ioctl'.
49860         * lib/sys_ioctl.in.h: New file.
49861         * m4/sys_ioctl_h.m4: New file.
49862         * modules/sys_ioctl: New file.
49863         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
49864
49865 2008-10-09  Bruno Haible  <bruno@clisp.org>
49866
49867         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
49868         * lib/winsock.c: Include <stdarg.h>.
49869         (rpl_ioctl): Change to second argument 'int' and then varargs.
49870
49871 2008-10-09  Bruno Haible  <bruno@clisp.org>
49872
49873         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
49874         when the sys_socket module is present and the system has <winsock2.h>.
49875
49876 2008-10-09  Bruno Haible  <bruno@clisp.org>
49877
49878         * doc/posix-functions/close.texi: Mention module 'close' instead of
49879         module 'sys_socket'.
49880
49881 2008-10-09  Bruno Haible  <bruno@clisp.org>
49882
49883         * doc/glibc-headers/sys_ioctl.texi: New file.
49884         * doc/gnulib.texi: Include it.
49885
49886 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49887             Bruno Haible  <bruno@clisp.org>
49888
49889         Combine the two replacements of 'close'.
49890         * lib/sys_socket.in.h (close): Define to a reminder to include
49891         <unistd.h>.
49892         (_gl_close_fd_maybe_socket): New declaration.
49893         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
49894         * lib/winsock.c (close): Remove undefinition.
49895         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
49896         needed for the gnulib module 'close'.
49897         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
49898         define to an error symbol or to a warning, if suitable.
49899         * lib/close.c: Include <sys/socket.h>.
49900         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
49901         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
49902         UNISTD_H_HAVE_WINSOCK2_H.
49903         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
49904         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49905         UNISTD_H_HAVE_WINSOCK2_H.
49906         * modules/sys_socket (Files): Add m4/unistd_h.m4.
49907         (configure.ac): Set a module indicator.
49908         (Makefile.am): Substitute GNULIB_CLOSE.
49909         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
49910         * modules/poll-tests (Depends-on): Add close.
49911         * modules/select-tests (Depends-on): Likewise.
49912
49913 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49914             Bruno Haible  <bruno@clisp.org>
49915
49916         New module 'close'.
49917         * modules/close: New file.
49918         * lib/unistd.in.h (close): Move declaration out of the
49919         FCHDIR_REPLACEMENT scope.
49920         (_gl_unregister_fd): New declaration.
49921         * lib/close.c: New file.
49922         * lib/fchdir.c (rpl_close): Remove function.
49923         * m4/close.m4: New file.
49924         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49925         close.
49926         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
49927         REPLACE_CLOSE.
49928         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
49929         REPLACE_CLOSE.
49930         * modules/fchdir (Depends-on): Add close.
49931
49932 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49933             Bruno Haible  <bruno@clisp.org>
49934
49935         * lib/fcntl.in.h (open): Simplify conditionals.
49936         (_gl_register_fd): New declaration.
49937         * lib/fchdir.c (rpl_open): Remove function.
49938         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
49939         also.
49940         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
49941         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49942         open.
49943
49944 2008-10-09  Jim Meyering  <meyering@redhat.com>
49945
49946         GNUmakefile: use the more name-space-friendly "_version"
49947         * top/GNUmakefile (_dummy): Update.
49948         (_version): Rename from "version".
49949
49950 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49951             Bruno Haible  <bruno@clisp.org>
49952
49953         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
49954         rpl_close.
49955         (_gl_register_fd): New function, extracted from rpl_open.
49956         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
49957         (rpl_open, rpl_opendir): Use _gl_register_fd.
49958
49959 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49960
49961         Fix organization of 'open' replacement.
49962         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
49963         (gl_FUNC_OPEN): Use it.
49964         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
49965
49966 2008-10-08  Bruno Haible  <bruno@clisp.org>
49967
49968         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
49969
49970 2008-10-08  Simon Josefsson  <simon@josefsson.org>
49971
49972         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
49973         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
49974         listen).
49975
49976 2008-10-08  Eric Blake  <ebb9@byu.net>
49977
49978         GNUmakefile: add 'make version' target
49979         * top/GNUmakefile (_curr-ver): Split version update rules...
49980         (version): ...into a target.
49981
49982 2008-10-07  Bruno Haible  <bruno@clisp.org>
49983
49984         Use a more portable replacement expression for -0.0L.
49985         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
49986         instead of -0.0L. Fix m4 quotation.
49987
49988         * tests/test-signbit.c: Include <float.h>.
49989         (minus_zero): New variable.
49990         (test_signbitl): Use minus_zero instead of -zero.
49991         * modules/signbit-tests (Depends-on): Add float.
49992
49993         * tests/test-ceill.c: Include <float.h>.
49994         (zero): Remove variable.
49995         (minus_zero): New variable.
49996         (main): Use minus_zero instead of -zero.
49997         * modules/ceill-tests (Depends-on): Add float.
49998
49999         * tests/test-floorl.c: Include <float.h>.
50000         (zero): Remove variable.
50001         (minus_zero): New variable.
50002         (main): Use minus_zero instead of -zero.
50003         * modules/floorl-tests (Depends-on): Add float.
50004
50005         * tests/test-roundl.c: Include <float.h>.
50006         (zero): Remove variable.
50007         (minus_zero): New variable.
50008         (main): Use minus_zero instead of -zero.
50009         * modules/roundl-tests (Depends-on): Add float.
50010
50011         * tests/test-truncl.c: Include <float.h>.
50012         (zero): Remove variable.
50013         (minus_zero): New variable.
50014         (main): Use minus_zero instead of -zero.
50015         * modules/truncl-tests (Depends-on): Add float.
50016
50017         * tests/test-frexpl.c (zero): Remove variable.
50018         (minus_zero): New variable.
50019         (main): Use minus_zero instead of -zero.
50020         * modules/frexpl-tests (Depends-on): Add float.
50021
50022         * tests/test-isnan.c (zerol): Remove variable.
50023         (minus_zerol): New variable.
50024         (test_long_double): Use minus_zerol instead of -zerol.
50025         * modules/isnan-tests (Depends-on): Add float.
50026
50027         * tests/test-isnanl.h (zero): Remove variable.
50028         (minus_zero): New variable.
50029         (main): Use minus_zero instead of -zero.
50030         * modules/isnanl-nolibm-tests (Depends-on): Add float.
50031         * modules/isnanl-tests (Depends-on): Add float.
50032
50033         * tests/test-ldexpl.c (zero): Remove variable.
50034         (minus_zero): New variable.
50035         (main): Use minus_zero instead of -zero.
50036         * modules/ldexpl-tests (Depends-on): Add float.
50037
50038         * tests/test-snprintf-posix.h (zerol): Remove variable.
50039         (minus_zerol): New variable.
50040         (test_function): Use minus_zerol instead of -zerol.
50041         * modules/snprintf-posix-tests (Depends-on): Add float.
50042         * modules/vsnprintf-posix-tests (Depends-on): Add float.
50043
50044         * tests/test-sprintf-posix.h (zerol): Remove variable.
50045         (minus_zerol): New variable.
50046         (test_function): Use minus_zerol instead of -zerol.
50047         * modules/sprintf-posix-tests (Depends-on): Add float.
50048         * modules/vsprintf-posix-tests (Depends-on): Add float.
50049
50050         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
50051         (minus_zerol): New variable.
50052         (test_function): Use minus_zerol instead of -zerol.
50053         * modules/vasnprintf-posix-tests (Depends-on): Add float.
50054
50055         * tests/test-vasprintf-posix.c (zerol): Remove variable.
50056         (minus_zerol): New variable.
50057         (test_function): Use minus_zerol instead of -zerol.
50058         * modules/vasprintf-posix-tests (Depends-on): Add float.
50059
50060 2008-10-07  Simon Josefsson  <simon@josefsson.org>
50061
50062         * MODULES.html.sh (Support for building documentation): Mention
50063         pmccabe2html.  Sort entries.
50064
50065         Add pmccabe2html module, from gnupdf.
50066         * build-aux/pmccabe.css: New file.
50067         * build-aux/pmccabe2html: New file.
50068         * m4/pmccabe2html.m4: New file.
50069         * modules/pmccabe2html: New file.
50070
50071 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
50072
50073         flock: new module
50074         * MODULES.html.sh: Add to list of modules.
50075         * lib/flock.c: flock implementation for Windows and Unix systems
50076         which have fcntl.
50077         * doc/glibc-functions/flock.texi: Update documentation.
50078         * lib/sys_file.in.h: <sys/file.h> header file.
50079         * m4/flock.m4: M4 macros.
50080         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
50081         * modules/flock: flock module.
50082         * modules/flock-tests: flock tests module.
50083         * modules/sys_file: sys/file.h module.
50084         * tests/test-flock.c: test suite for flock.
50085
50086 2008-10-06  Jim Meyering  <meyering@redhat.com>
50087
50088         bootstrap: check for LT_INIT more portably still ;-)
50089         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
50090         Spotted by Bruno Haible.
50091
50092 2008-10-06  Eric Blake  <ebb9@byu.net>
50093
50094         test-signbit: avoid tripping Irix cc bug on -0.0L
50095         * tests/test-signbit.c (minus_zerol): Delete, and replace with
50096         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
50097         entire testsuite consistent and avoids an Irix 6.2 bug.
50098
50099 2008-10-05  Bruno Haible  <bruno@clisp.org>
50100             Jim Meyering  <jim@meyering.net>
50101
50102         Add an option for ignoring EPIPE during close_stdout.
50103         * lib/closeout.h: Include <stdbool.h>.
50104         (close_stdout_set_ignore_EPIPE): New declaration.
50105         * lib/closeout.c: Include <stdbool.h>.
50106         (ignore_EPIPE): New variable.
50107         (close_stdout_set_ignore_EPIPE): New function.
50108         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
50109         * lib/close-stream.c (close_stream): Mention the possible EPIPE
50110         failure.
50111         * modules/closeout (Depends-on): Add stdbool.
50112
50113 2008-10-05  Bruno Haible  <bruno@clisp.org>
50114
50115         * modules/accept: New file.
50116         * modules/bind: New file.
50117         * modules/connect: New file.
50118         * modules/getpeername: New file.
50119         * modules/getsockname: New file.
50120         * modules/getsockopt: New file.
50121         * modules/listen: New file.
50122         * modules/recv: New file.
50123         * modules/recvfrom: New file.
50124         * modules/send: New file.
50125         * modules/sendto: New file.
50126         * modules/setsockopt: New file.
50127         * modules/socket: New file.
50128         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
50129         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
50130         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
50131         the particular module is requested. Add a link warning when the
50132         particular module is not requested.
50133         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
50134         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
50135         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
50136         the particular module is requested.
50137         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
50138         gl_SYS_SOCKET_H_DEFAULTS): New macros.
50139         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
50140         * modules/sys_socket (Depends-on): Add link-warning.
50141         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
50142         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
50143         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
50144         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
50145         GL_LINK_WARNING.
50146         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
50147         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
50148         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
50149         * doc/posix-functions/getpeername.texi: Mention the new module
50150         'getpeername'.
50151         * doc/posix-functions/getsockname.texi: Mention the new module
50152         'getsockname'.
50153         * doc/posix-functions/getsockopt.texi: Mention the new module
50154         'getsockopt'.
50155         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
50156         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
50157         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
50158         * doc/posix-functions/send.texi: Mention the new module 'send'.
50159         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
50160         * doc/posix-functions/setsockopt.texi: Mention the new module
50161         'setsockopt'.
50162         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
50163         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
50164         listen, connect, accept.
50165         * modules/select-tests (Depends-on): Likewise.
50166
50167 2008-10-05  Bruno Haible  <bruno@clisp.org>
50168
50169         * lib/winsock.c (strerror): Remove unused #undef.
50170         (rpl_close): Remove unused local variable.
50171
50172         * modules/sys_socket (Depends-on); Add errno.
50173
50174 2008-10-05  Bruno Haible  <bruno@clisp.org>
50175
50176         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
50177         (select): Add a link warning when the 'select' module is not used.
50178         * modules/sys_select (Depends-on): Add link-warning.
50179         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
50180         Suggested by Paolo Bonzini.
50181
50182 2008-10-05  Jim Meyering  <meyering@redhat.com>
50183
50184         bootstrap: check for LT_INIT more portably
50185         * build-aux/bootstrap: Avoid using grep -E, since it's not
50186         portable enough.  Suggestion from Bruno Haible.
50187
50188 2008-10-05  Bruno Haible  <bruno@clisp.org>
50189
50190         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
50191         as being fixed by gnulib.
50192
50193 2008-10-05  Bruno Haible  <bruno@clisp.org>
50194
50195         * modules/select-tests: New file, mostly copied from
50196         modules/sys_select-tests.
50197         * tests/test-select.c: New file, mostly copied from
50198         tests/test-sys_select.c.
50199         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
50200         * modules/sys_select-tests (Depends-on): Remove all dependencies.
50201         (Makefile.am): Remove test_sys_select_LDADD.
50202
50203         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
50204         to an undefined symbol, for an error message.
50205         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
50206         (gl_SYS_SELECT_H_DEFAULTS): New macro.
50207         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
50208         winsock-select.c here.
50209         * modules/sys_select (Files): Remove lib/winsock-select.c.
50210         (Depends-on): Remove alloca.
50211         (Makefile.am): Substitute GNULIB_SELECT.
50212         * modules/select: New file.
50213         * doc/posix-functions/select.texi: Update.
50214
50215 2008-10-05  Bruno Haible  <bruno@clisp.org>
50216
50217         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
50218         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
50219         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
50220         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
50221         getdtablesize.
50222         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
50223         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
50224
50225 2008-10-05  Bruno Haible  <bruno@clisp.org>
50226
50227         * modules/getdtablesize-tests: New file.
50228         * tests/test-getdtablesize.c: New file.
50229
50230         New module 'getdtablesize'.
50231         * lib/unistd.in.h (getdtablesize): New declaration.
50232         * lib/getdtablesize.c: New file.
50233         * m4/getdtablesize.m4: New file.
50234         * modules/getdtablesize: New file.
50235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50236         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
50237         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
50238         HAVE_GETDTABLESIZE.
50239         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
50240
50241 2008-10-05  Bruno Haible  <bruno@clisp.org>
50242
50243         * modules/sched (Makefile.am): Fix typo.
50244         Reported by Simon Josefsson.
50245
50246 2008-10-05  Jim Meyering  <meyering@redhat.com>
50247
50248         bootstrap: check for LT_INIT, too
50249         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
50250         are deprecated.  Suggestion from Ralf Wildenhues.
50251
50252 2008-10-05  Bruno Haible  <bruno@clisp.org>
50253
50254         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
50255         overriding them by ours.
50256         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
50257
50258 2008-10-05  Jim Meyering  <meyering@redhat.com>
50259
50260         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
50261         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
50262         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
50263
50264 2008-10-04  Bruno Haible  <bruno@clisp.org>
50265
50266         * modules/dup2 (License): Change to LGPLv2+.
50267         * modules/sleep (License): Likewise.
50268         * modules/perror (License): Likewise.
50269         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
50270         Blake.
50271         * modules/signal (License): Likewise.
50272         * modules/sigprocmask (License): Likewise.
50273         * modules/raise (License): Change to LGPLv2+, with approval by Jim
50274         Meyering.
50275
50276 2008-10-04  Bruno Haible  <bruno@clisp.org>
50277
50278         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
50279         Reported by Rainer Tammer <tammer@tammer.net>.
50280
50281 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
50282             Bruno Haible  <bruno@clisp.org>
50283
50284         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
50285         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
50286         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
50287
50288 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
50289
50290         filevercmp: new module
50291         * lib/filevercmp.h: New function filevercmp comparing version strings.
50292         * lib/filevercmp.c: Implementation of filevercmp function.
50293         * modules/filevercmp: Module metadata.
50294         * tests/test-filevercmp.c: Unit test for new module.
50295         * modules/filevercmp-tests: Unit test metadata.
50296         * MODULES.html.sh: Add filevercmp module.
50297
50298 2008-10-03  Bruno Haible  <bruno@clisp.org>
50299
50300         * lib/c-ctype.h: Add comment.
50301         Reported by Jim Meyering.
50302
50303 2008-10-02  Bruno Haible  <bruno@clisp.org>
50304
50305         * modules/posix_spawn-internal (Depends-on): Add 'open'.
50306
50307 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50308
50309         * build-aux/bootstrap: Allow renaming bootstrap, and change the
50310         name of bootstrap.conf accordingly.
50311
50312 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50313
50314         * build-aux/bootstrap: Install git-merge-changelog configuration
50315         items into .gitconfig if needed.
50316
50317 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50318
50319         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
50320         git repository, and initialize/update it accordingly.
50321
50322 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
50323
50324         * modules/fsync-tests: New file.
50325         * tests/test-fsync.c: New file.
50326
50327         New module 'fsync'.
50328         * lib/fsync.c: New file.
50329         * m4/fsync.m4: New file.
50330         * modules/fsync: New file.
50331         * lib/unistd.in.h (fsync): New declaration.
50332         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
50333         GNULIB_FSYNC and HAVE_FSYNC.
50334         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
50335         * MODULES.html.sh (posix_functions): Add fsync.
50336         * doc/posix-functions/fsync.texi: Mention the new module.
50337
50338 2008-10-02  Jim Meyering  <meyering@redhat.com>
50339
50340         fts.c: sync with similar code from coreutils' remove.c
50341         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
50342         Guard also with "#if defined __linux__", since for now at least,
50343         this code is Linux-kernel-specific.
50344
50345 2008-10-02  Jim Meyering  <meyering@redhat.com>
50346
50347         fts: bug fixes
50348         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
50349         Include <sys/vfs.h>, not <sys/statfs.h>.
50350
50351         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
50352         Include <sys/vfs.h>, not <sys/statfs.h>.
50353
50354 2008-10-01  Bruno Haible  <bruno@clisp.org>
50355
50356         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
50357         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
50358         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
50359         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
50360         * doc/posix-functions/posix_spawnp.texi: Likewise.
50361         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
50362         whether posix_spawn actually works.
50363         * m4/pipe.m4 (gl_PIPE): Likewise.
50364         * modules/execute (Files): Add m4/posix_spawn.m4.
50365         * modules/pipe (Files): Add m4/posix_spawn.m4.
50366         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
50367
50368 2008-10-01  Jim Meyering  <meyering@redhat.com>
50369
50370         remove trailing spaces
50371         * NEWS: Likewise.
50372         * lib/poll.c (poll): Likewise.
50373         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
50374         * lib/winsock.c (rpl_close): Likewise.
50375         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
50376         * modules/yield: Likewise.
50377         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
50378         * tests/test-sys_select.c (connect_to_socket): Likewise.
50379
50380         fts.c: adjust a new interface to be more generally useful
50381         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
50382         (fts_build): Adjust caller.
50383
50384 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50385
50386         * modules/cond-tests: New file.
50387         * tests/test-cond.c: New file.
50388
50389 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50390             Bruno Haible  <bruno@clisp.org>
50391
50392         * modules/cond (Dependencies): Add errno, time.
50393         * lib/glthread/cond.h: Include <time.h>.
50394         (gl_cond_define, gl_cond_define_initialized): Use the same definition
50395         across platforms.
50396
50397 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50398             Bruno Haible  <bruno@clisp.org>
50399
50400         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
50401
50402 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50403             Bruno Haible  <bruno@clisp.org>
50404
50405         * modules/tls-tests (Depends-on): Add thread, yield.
50406         (configure.ac): Remove all checks.
50407         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
50408         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50409         gl_thread_self): Remove definitions. Include glthread/thread.h and
50410         glthread/yield.h instead.
50411         (test_tls): Pass an additional NULL argument to gl_thread_join.
50412
50413 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50414             Bruno Haible  <bruno@clisp.org>
50415
50416         * modules/lock-tests (Depends-on): Add thread, yield.
50417         (configure.ac): Remove all checks.
50418         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
50419         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50420         gl_thread_self): Remove definitions. Include glthread/thread.h and
50421         glthread/yield.h instead.
50422         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
50423         additional NULL argument to gl_thread_join.
50424
50425 2008-09-30  Bruno Haible  <bruno@clisp.org>
50426
50427         Fix the Win32 implementation of the 'thread' module.
50428         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
50429         pointer type.
50430         (gl_thread_self): Invoke gl_thread_self_func.
50431         (gl_thread_self_func): New declaration.
50432         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
50433         (do_init_self_key, init_self_key): New functions.
50434         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
50435         Remove some fields.
50436         (running_threads, running_lock): Remove variables.
50437         (get_current_thread_handle): New function.
50438         (gl_thread_self_func, wrapper_func, glthread_create_func,
50439         glthread_join_func, gl_thread_exit_func): Largely rewritten and
50440         simplified.
50441
50442 2008-09-30  Bruno Haible  <bruno@clisp.org>
50443
50444         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
50445         files.
50446
50447 2008-09-30  Jim Meyering  <meyering@redhat.com>
50448
50449         fts.m4: correct the test for statfs.f_type
50450         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
50451         when checking for statfs.f_type.
50452
50453 2008-09-15  Simon Josefsson  <simon@josefsson.org>
50454
50455         tests: avoid some compiler warnings
50456         * tests/test-memchr.c (main): Pass NULL indirectly.
50457         * tests/test-getdate.c (main): Remove unused variable 'ret'.
50458
50459 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
50460
50461         getdate.y: disallow countable dayshifts like "4 yesterday ago"
50462         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
50463         exactly specified dayshifts.
50464         (dayshift): New rule.
50465         (rel): Add dayshift.
50466         (relative_time_table) [tomorrow, yesterday, today, now]:
50467         Use tDAY_SHIFT in place of tDAY_UNIT.
50468         * tests/test-getdate.c: Add tests for now-disallowed countable
50469         dayshifts, e.g., "4 yesterday ago".
50470
50471 2008-09-29  Bruno Haible  <bruno@clisp.org>
50472
50473         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
50474         * tests/test-posix_spawn1.in.sh: Renamed from
50475         tests/test-posix_spawn.in.sh.
50476         * tests/test-posix_spawn2.c: New file.
50477         * tests/test-posix_spawn2.in.sh: New file.
50478         * modules/posix_spawnp-tests (Files): Update.
50479         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
50480
50481 2008-09-29  Bruno Haible  <bruno@clisp.org>
50482
50483         Propagate effects of putenv/setenv/unsetenv to child processes.
50484         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
50485         * lib/pipe.c (create_pipe): Likewise.
50486
50487 2008-09-29  Bruno Haible  <bruno@clisp.org>
50488
50489         Enable use of shell scripts as executables in mingw.
50490         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
50491         run the program as a shell script.
50492         * lib/pipe.c (create_pipe): Likewise.
50493         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
50494         resulting array.
50495
50496 2008-09-29  Eric Blake  <ebb9@byu.net>
50497
50498         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
50499
50500 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
50501
50502         * doc/posix-functions/accept.texi: Update mingw problems.
50503         * doc/posix-functions/bind.texi: Update mingw problems.
50504         * doc/posix-functions/close.texi: Update mingw problems.
50505         * doc/posix-functions/connect.texi: Update mingw problems.
50506         * doc/posix-functions/getpeername.texi: Update mingw problems.
50507         * doc/posix-functions/getsockname.texi: Update mingw problems.
50508         * doc/posix-functions/getsockopt.texi: Update mingw problems.
50509         * doc/posix-functions/ioctl.texi: Update mingw problems.
50510         * doc/posix-functions/listen.texi: Update mingw problems.
50511         * doc/posix-functions/recv.texi: Update mingw problems.
50512         * doc/posix-functions/recvfrom.texi: Update mingw problems.
50513         * doc/posix-functions/select.texi: Update mingw problems.
50514         * doc/posix-functions/send.texi: Update mingw problems.
50515         * doc/posix-functions/sendto.texi: Update mingw problems.
50516         * doc/posix-functions/setsockopt.texi: Update mingw problems.
50517         * doc/posix-functions/socket.texi: Update mingw problems.
50518
50519 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
50520             Bruno Haible  <bruno@clisp.org>
50521
50522         * lib/sys_select.in.h: Include sys/time.h.
50523         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
50524         * modules/sys_select: Depend on sys_time.
50525         * tests/test-sys_select.c: Test that sys/select.h defines struct
50526         timeval fully.
50527
50528 2008-09-29  Bruno Haible  <bruno@clisp.org>
50529
50530         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
50531         * lib/sys_select.in.h: Likewise.
50532
50533 2008-09-29  Bruno Haible  <bruno@clisp.org>
50534
50535         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
50536
50537 2008-09-29  Bruno Haible  <bruno@clisp.org>
50538
50539         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
50540         Set LIBSOCKET instead of augmenting LIBS.
50541         * modules/sockets (Link): New section.
50542         * modules/sockets-tests (test_sockets_LDADD): New variable.
50543         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
50544         * modules/poll-tests (test_poll_LDADD): New variable.
50545         * NEWS: Document the change.
50546
50547 2008-09-29  Bruno Haible  <bruno@clisp.org>
50548
50549         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
50550         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
50551         ARPA_INET_H directly.
50552         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50553
50554 2008-09-28  Bruno Haible  <bruno@clisp.org>
50555
50556         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
50557         from gl_HEADER_SYS_SOCKET.
50558         (gl_HEADER_SYS_SOCKET): Invoke it.
50559         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50560
50561 2008-09-28  Bruno Haible  <bruno@clisp.org>
50562
50563         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
50564         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
50565         Needed on OSF/1 4.0.
50566
50567 2008-09-28  Bruno Haible  <bruno@clisp.org>
50568
50569         Override open more carefully.
50570         * lib/open.c (orig_open): New function.
50571         (rpl_open): Use orig_open instead of open.
50572         * lib/fcntl.in.h: Add special invocation convention.
50573         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
50574         (gl_FUNC_OPEN): Invoke it.
50575
50576         Override freopen more carefully.
50577         * lib/freopen.c (orig_freopen): New function.
50578         (rpl_freopen): Use orig_freopen instead of freopen.
50579         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
50580         (gl_FUNC_FREOPEN): Invoke it.
50581
50582         Override fopen more carefully.
50583         * lib/fopen.c (orig_fopen): New function.
50584         (rpl_fopen): Use orig_fopen instead of fopen.
50585         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
50586         (gl_FUNC_FOPEN): Invoke it.
50587         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
50588
50589 2008-09-28  Bruno Haible  <bruno@clisp.org>
50590
50591         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
50592         SIGPIPE.
50593
50594 2008-09-28  Bruno Haible  <bruno@clisp.org>
50595
50596         * tests/test-sigaction.c (handler, main): Disable the check whether
50597         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
50598         glibc systems with LinuxThreads.
50599
50600 2008-09-28  Bruno Haible  <bruno@clisp.org>
50601
50602         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
50603
50604         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
50605         with AIX xlc.
50606         * lib/fcntl.in.h (open): Likewise.
50607         Reported by Rainer Tammer <tammer@tammer.net>.
50608
50609 2008-09-28  Bruno Haible  <bruno@clisp.org>
50610
50611         * modules/posix_spawnp-tests: New file.
50612         * tests/test-posix_spawn.c: New file.
50613         * tests/test-posix_spawn.in.sh: New file.
50614
50615         New module 'posix_spawnp'.
50616         * modules/posix_spawnp: New file.
50617         * lib/spawnp.c: New file, from GNU libc with modifications.
50618         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
50619
50620         New module 'posix_spawn'.
50621         * modules/posix_spawn: New file.
50622         * lib/spawn.c: New file, from GNU libc with modifications.
50623         * doc/posix-functions/posix_spawn.texi: Mention the new module.
50624
50625         New module 'posix_spawnattr_destroy'.
50626         * modules/posix_spawnattr_destroy: New file.
50627         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
50628         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
50629         module.
50630
50631         New module 'posix_spawnattr_setsigmask'.
50632         * modules/posix_spawnattr_setsigmask: New file.
50633         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
50634         modifications.
50635         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
50636         new module.
50637
50638         New module 'posix_spawnattr_getsigmask'.
50639         * modules/posix_spawnattr_getsigmask: New file.
50640         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
50641         modifications.
50642         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
50643         new module.
50644
50645         New module 'posix_spawnattr_setsigdefault'.
50646         * modules/posix_spawnattr_setsigdefault: New file.
50647         * lib/spawnattr_setdefault.c: New file, from GNU libc with
50648         modifications.
50649         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
50650         new module.
50651
50652         New module 'posix_spawnattr_getsigdefault'.
50653         * modules/posix_spawnattr_getsigdefault: New file.
50654         * lib/spawnattr_getdefault.c: New file, from GNU libc with
50655         modifications.
50656         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
50657         new module.
50658
50659         New module 'posix_spawnattr_setschedpolicy'.
50660         * modules/posix_spawnattr_setschedpolicy: New file.
50661         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
50662         modifications.
50663         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
50664         new module.
50665
50666         New module 'posix_spawnattr_getschedpolicy'.
50667         * modules/posix_spawnattr_getschedpolicy: New file.
50668         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
50669         modifications.
50670         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
50671         new module.
50672
50673         New module 'posix_spawnattr_setschedparam'.
50674         * modules/posix_spawnattr_setschedparam: New file.
50675         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
50676         modifications.
50677         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
50678         new module.
50679
50680         New module 'posix_spawnattr_getschedparam'.
50681         * modules/posix_spawnattr_getschedparam: New file.
50682         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
50683         modifications.
50684         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
50685         new module.
50686
50687         New module 'posix_spawnattr_setpgroup'.
50688         * modules/posix_spawnattr_setpgroup: New file.
50689         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
50690         modifications.
50691         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
50692         module.
50693
50694         New module 'posix_spawnattr_getpgroup'.
50695         * modules/posix_spawnattr_getpgroup: New file.
50696         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
50697         modifications.
50698         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
50699         module.
50700
50701         New module 'posix_spawnattr_setflags'.
50702         * modules/posix_spawnattr_setflags: New file.
50703         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
50704         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
50705         module.
50706
50707         New module 'posix_spawnattr_getflags'.
50708         * modules/posix_spawnattr_getflags: New file.
50709         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
50710         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
50711         module.
50712
50713         New module 'posix_spawnattr_init'.
50714         * modules/posix_spawnattr_init: New file.
50715         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
50716         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
50717         module.
50718
50719         New module 'posix_spawn_file_actions_destroy'.
50720         * modules/posix_spawn_file_actions_destroy: New file.
50721         * lib/spawn_faction_destroy.c: New file, from GNU libc with
50722         modifications.
50723         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
50724         the new module.
50725
50726         New module 'posix_spawn_file_actions_addopen'.
50727         * modules/posix_spawn_file_actions_addopen: New file.
50728         * lib/spawn_faction_addopen.c: New file, from GNU libc with
50729         modifications.
50730         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
50731         the new module.
50732
50733         New module 'posix_spawn_file_actions_adddup2'.
50734         * modules/posix_spawn_file_actions_adddup2: New file.
50735         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
50736         modifications.
50737         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
50738         the new module.
50739
50740         New module 'posix_spawn_file_actions_addclose'.
50741         * modules/posix_spawn_file_actions_addclose: New file.
50742         * lib/spawn_faction_addclose.c: New file, from GNU libc with
50743         modifications.
50744         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
50745         the new module.
50746
50747         New module 'posix_spawn_file_actions_init'.
50748         * modules/posix_spawn_file_actions_init: New file.
50749         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
50750         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
50751         new module.
50752
50753         New module 'posix_spawn-internal'.
50754         * modules/posix_spawn-internal: New file.
50755         * lib/spawn_int.h: New file, from GNU libc with modifications.
50756         * lib/spawni.c: New file, from GNU libc with modifications.
50757         * m4/posix_spawn.m4: New file.
50758
50759         New module 'spawn'.
50760         * modules/spawn: New file.
50761         * lib/spawn.in.h: New file, from GNU libc with modifications.
50762         * m4/spawn_h.m4: New file.
50763         * doc/posix-headers/spawn.texi: Mention the new module.
50764
50765 2008-09-28  Bruno Haible  <bruno@clisp.org>
50766
50767         * modules/sched-tests: New file.
50768         * tests/test-sched.c: New file.
50769
50770         New module 'sched'.
50771         * modules/sched: New file.
50772         * lib/sched.in.h: New file.
50773         * m4/sched_h.m4: New file.
50774         * doc/posix-headers/sched.texi: Mention the new module.
50775
50776 2008-09-27  Eric Blake  <ebb9@byu.net>
50777
50778         Fix previous patch, and tweak references to $0.
50779         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
50780         (func_version, func_gnulib_dir): Don't call this program
50781         gnulib-tool.
50782         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
50783         with using $0 in function.
50784         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
50785         (func_fatal_error): Reuse the name the user invoked us with.
50786
50787 2008-09-27  Bruno Haible  <bruno@clisp.org>
50788
50789         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
50790         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
50791         (gl_ICONV_H): Not here.
50792         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
50793         instead of assigning ICONV_H directly.
50794
50795         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
50796         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
50797         WCHAR_H directly.
50798
50799 2008-09-27  Bruno Haible  <bruno@clisp.org>
50800
50801         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
50802         * modules/arpa_inet (Depends-on): Add link-warning.
50803         (Makefile.am): Insert the definition of GL_LINK-WARNING.
50804         * modules/unistd (Makefile.am): Likewise.
50805
50806 2008-09-26  Bruno Haible  <bruno@clisp.org>
50807
50808         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
50809         variables.
50810         (func_version): Essentially copied from gnulib-tool.
50811         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
50812         func_readlink): Copied from gnulib-tool.
50813
50814 2008-09-26  Bruno Haible  <bruno@clisp.org>
50815
50816         * gnulib-tool (func_version): Change directory to $gnulib_dir before
50817         invoking git-version-gen.
50818
50819 2008-09-26  Bruno Haible  <bruno@clisp.org>
50820
50821         * posix-modules: Update to directory names changed on 2008-01-19.
50822         Remove commas in output before splitting into words. No more need to
50823         avoid 'ftruncate' since 2007-02-19.
50824
50825 2008-09-26  Bruno Haible  <bruno@clisp.org>
50826
50827         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
50828
50829 2008-09-26  Bruno Haible  <bruno@clisp.org>
50830
50831         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
50832         * modules/fwriteerror (Depends-on): Add errno.
50833
50834 2008-09-26  Bruno Haible  <bruno@clisp.org>
50835
50836         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
50837         * tests/test-vc-list-files-cvs.sh: Likewise.
50838
50839 2008-09-26  Bruno Haible  <bruno@clisp.org>
50840
50841         * doc/posix-headers/sys_resource.texi: Reorder items.
50842
50843 2008-09-26  Jim Meyering  <meyering@redhat.com>
50844
50845         fts: tweak inode comparison function
50846         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
50847         inode numbers, as documented.
50848
50849         fts: sort dirent entries on inode number before traversing
50850         This avoids a quadratic, seek-related performance penalty when
50851         operating on a directory containing many entries (measurable at 10k;
50852         3.5 hours at 2 million entries with a cold cache) on certain types
50853         of file systems, including ext3 and ext4, but not tmpfs.
50854         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
50855         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
50856         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
50857         (fs_handles_readdir_ordered_dirents_efficiently): New function.
50858         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
50859         (fts_build): Set the stat.st_ino member from D_INO.
50860         If it is likely to be useful, sort dirent entries on inode number.
50861
50862         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
50863         and the struct statfs.f_type member.
50864         * modules/fts (Depends-on): Add d-ino.
50865
50866 2008-09-26  Bruno Haible  <bruno@clisp.org>
50867
50868         * modules/sigpipe-die (Depends-on): Add sigpipe.
50869
50870         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
50871         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
50872         and GNULIB_STDIO_H_SIGPIPE are set.
50873         * lib/stdio-write.c: New file.
50874         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
50875         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50876         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50877         REPLACE_STDIO_WRITE_FUNCS.
50878         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
50879         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50880         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50881         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50882         * modules/stdio (Files): Add lib/stdio-write.c.
50883         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
50884         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50885         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50886         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50887         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
50888         REPLACE_FPRINTF_POSIX.
50889         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
50890         REPLACE_PRINTF_POSIX.
50891         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
50892         REPLACE_VFPRINTF_POSIX.
50893         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
50894         REPLACE_VPRINTF_POSIX.
50895         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
50896         SIGPIPE issue.
50897         * doc/posix-functions/fputc.texi: Likewise.
50898         * doc/posix-functions/fputs.texi: Likewise.
50899         * doc/posix-functions/fwrite.texi: Likewise.
50900         * doc/posix-functions/printf.texi: Likewise.
50901         * doc/posix-functions/putc.texi: Likewise.
50902         * doc/posix-functions/putchar.texi: Likewise.
50903         * doc/posix-functions/puts.texi: Likewise.
50904         * doc/posix-functions/vfprintf.texi: Likewise.
50905         * doc/posix-functions/vprintf.texi: Likewise.
50906
50907         * modules/safe-write (Depends-on): Add write.
50908
50909         * modules/sigpipe-tests: New file.
50910         * tests/test-sigpipe.c: New file.
50911         * tests/test-sigpipe.sh: New file.
50912
50913         * modules/write: New file.
50914         * lib/unistd.in.h: Include <sys/types.h>.
50915         (write): New declaration.
50916         * lib/write.c: New file.
50917         * m4/write.m4: New file.
50918         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50919         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
50920         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
50921         GNULIB_WRITE, REPLACE_WRITE.
50922         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
50923         and the SIGPIPE issue.
50924
50925         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
50926         (raise): New declaration.
50927         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
50928         (ext_signal): New function.
50929         (rpl_raise): New function.
50930         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50931         GNULIB_SIGNAL_H_SIGPIPE.
50932         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
50933         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
50934
50935         * modules/sigpipe: New file.
50936         * m4/sigpipe.m4: New file.
50937
50938 2008-09-25  Derek Price  <derek@ximbiot.com>
50939             Bruno Haible  <bruno@clisp.org>
50940
50941         * gnulib-tool (func_import): Report all license incompatibilities, not
50942         just the first one.
50943
50944 2008-09-25  Bruno Haible  <bruno@clisp.org>
50945
50946         * gnulib-tool (func_import): When computing the edits, consider not
50947         only the Makefile.ams that exist but also those that will be generated.
50948
50949 2008-09-25  Simon Josefsson  <simon@josefsson.org>
50950
50951         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
50952         fixes gnulib-tool --test warning about duplicate dependency.
50953
50954 2008-09-25  Bruno Haible  <bruno@clisp.org>
50955
50956         * gnulib-tool: Don't ask the user to perform edits in the generated
50957         Makefile.ams.
50958         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
50959         apply to the Makefile.am being generated.
50960         (func_emit_tests_Makefile_am): Execute edits that apply to the
50961         Makefile.am being generated.
50962         (func_import): Setup list of Makefile.am edits before emitting the
50963         Makefile.ams, not at the end.
50964         (func_create_testdir): Update.
50965         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50966
50967 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50968
50969         * gnulib-tool (func_import): Store the --tests-base option in the
50970         comment in gnulib-cache.m4.
50971
50972 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
50973
50974         * NEWS: Document increased portability that sys_select now provides.
50975
50976         * lib/sys_select.in.h: Install select wrapper.
50977         * lib/sys_socket.in.h: Use more descriptive name when there is no
50978         select wrapper.
50979         * lib/winsock-select.c: New.
50980         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
50981         Require gl_HEADER_SYS_SOCKET.
50982         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
50983         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
50984         * tests/test-sys_select.c: Add functional tests.
50985
50986 2008-09-24  Eric Blake  <ebb9@byu.net>
50987
50988         open, fopen: close fd leak in last patch
50989         * lib/open.c (rpl_open): Close fd before returning error.
50990         * lib/fopen.c (rpl_fopen): Close fd before returning error.
50991         * doc/posix-functions/open.texi (open): Document that Irix also
50992         has the bug.
50993         * doc/posix-functions/fopen.texi (fopen): Likewise.
50994         Reported by Paolo Bonzini.
50995
50996 2008-09-24  Bruno Haible  <bruno@clisp.org>
50997
50998         Ensure that a filename ending in a slash cannot be used to access a
50999         non-directory.
51000         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
51001         to check whether it's really a directory.
51002         * lib/fopen.c: Include fcntl.h, unistd.h.
51003         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
51004         and fdopen().
51005         * modules/fopen (Depends-on): Add unistd.
51006         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
51007         * tests/test-fopen.c (main): Likewise.
51008         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
51009         * doc/posix-functions/fopen.texi: Likewise.
51010         Reported by Eric Blake.
51011
51012 2008-09-23  Eric Blake  <ebb9@byu.net>
51013
51014         c-stack: avoid compiler optimizations when provoking overflow
51015         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
51016         recursion harder to optimize, to ensure a stack overflow occurs.
51017         * tests/test-c-stack.c (recurse): Likewise.
51018         Borrowed from libsigsegv.
51019
51020         c-stack: work around Irix sigaltstack bug
51021         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
51022         whether sigaltstack uses wrong end of stack_t (copied in part from
51023         libsigsegv).
51024         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
51025         Irix bug, without requiring an over-allocation.
51026         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
51027         bug.
51028
51029         fopen: document mingw bug on directories
51030         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
51031         not allowing a stream visiting a directory, even though reading
51032         from such a stream is not portable.
51033
51034 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51035
51036         * lib/poll.c: Rewrite.
51037         * modules/poll: Depend on alloca.
51038
51039 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51040
51041         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
51042         instead define prototypes for a full set of wrappers.  Ensure
51043         that Cygwin does not use the compatibility code, which is only
51044         for MinGW.
51045         * lib/winsock.c: New.
51046         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
51047         * modules/sys_socket: Add lib/winsock.c.
51048
51049         * modules/poll-tests: Add errno and perror.
51050         * tests/test-poll.c: Use ioctl, not ioctlsocket.
51051
51052 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51053
51054         * tests/test-poll.c: Downgrade minimum needed Winsock version.
51055
51056 2008-09-23  Bruno Haible  <bruno@clisp.org>
51057
51058         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
51059         * doc/glibc-functions/*: Likewise.
51060
51061 2008-09-23  Simon Josefsson  <simon@josefsson.org>
51062
51063         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
51064         success.
51065
51066 2008-09-22  Eric Blake  <ebb9@byu.net>
51067             Bruno Haible  <bruno@clisp.org>
51068
51069         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
51070         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
51071         supply %A but mishandle pseudo-NaN.
51072         Reported by Simon Josefsson.
51073
51074 2008-09-21  Bruno Haible  <bruno@clisp.org>
51075
51076         * tests/test-lock.c (main): Tweak skip message.
51077         * tests/test-tls.c (main): Likewise.
51078
51079 2008-09-21  Bruno Haible  <bruno@clisp.org>
51080
51081         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
51082         whether 'struct sigaction' has sa_sigaction here...
51083         (gl_PREREQ_SIG_HANDLER_H): ... not here.
51084         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
51085
51086 2008-09-21  Bruno Haible  <bruno@clisp.org>
51087
51088         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
51089         section.
51090         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
51091         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
51092         the new section.
51093         (Support for obsolete systems lacking POSIX:2001): New section.
51094         (String handling <string.h>): Move strdup to the new section.
51095         Suggested by Simon Josefsson and Paolo Bonzini.
51096
51097 2008-09-21  Bruno Haible  <bruno@clisp.org>
51098
51099         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
51100         exponents in %e and %g results on 'long double'. Needed for mingw's
51101         improved *printf functions.
51102         * tests/test-vasprintf-posix.c (test_function): Likewise.
51103         * tests/test-snprintf-posix.h (test_function): Likewise.
51104         * tests/test-sprintf-posix.h (test_function): Likewise.
51105         Reported by Eric Blake.
51106
51107 2008-09-21  Bruno Haible  <bruno@clisp.org>
51108
51109         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
51110         * tests/test-sprintf-posix.h (test_function): Likewise.
51111
51112 2008-09-21  Bruno Haible  <bruno@clisp.org>
51113
51114         * modules/getpass (Depends-on): Add strdup-posix.
51115
51116         New module 'strdup-posix'.
51117         * modules/strdup-posix: New file.
51118         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
51119         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
51120         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51121         REPLACE_STRDUP.
51122         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
51123         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
51124         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51125         strdup-posix.
51126
51127         * modules/strdup (Depends-on): Remove malloc-posix.
51128
51129 2008-09-20  Bruno Haible  <bruno@clisp.org>
51130
51131         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
51132         Wildenhues.
51133
51134 2008-09-20  Bruno Haible  <bruno@clisp.org>
51135
51136         Ensure that wint_t gets defined on IRIX 5.3.
51137         * lib/wchar.in.h (wint_t): Define if not defined by the system.
51138         * lib/wctype.in.h (wint_t): Likewise.
51139         (__wctype_wint_t): Remove type.
51140         (isw*): Use wint_t instead of __wctype_wint_t.
51141         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
51142         * modules/wchar (Files): Add m4/wint_t.m4.
51143         (Makefile.am): Substitute HAVE_WINT_T.
51144         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
51145         * tests/test-wctype.c: Check that wint_t is defined.
51146         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
51147         * doc/posix-headers/wctype.texi: Likewise.
51148         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51149
51150 2008-09-18  Bruno Haible  <bruno@clisp.org>
51151
51152         * gnulib-tool (func_exit): Update comment.
51153
51154 2008-09-18  Simon Josefsson  <simon@josefsson.org>
51155
51156         * modules/getaddrinfo (Depends-on): Remove strdup, this module
51157         assumes strdup exists and does not depend on strdup to return
51158         ENOMEM on out of memory conditions.
51159
51160 2008-09-18  Bruno Haible  <bruno@clisp.org>
51161
51162         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
51163         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
51164         digits for the exponent.
51165
51166 2008-09-18  Jim Meyering  <meyering@redhat.com>
51167             Bruno Haible  <bruno@clisp.org>
51168
51169         * lib/vasnprintf.c (decimal_point_char): Define also if
51170         NEED_PRINTF_INFINITE_LONG_DOUBLE.
51171
51172 2008-09-16  Bruno Haible  <bruno@clisp.org>
51173         and Eric Blake  <ebb9@byu.net>
51174
51175         vasnprintf: support Irix 5.3
51176         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
51177         that mishandle long double infinity.
51178         Reported by Tom G. Christensen.
51179
51180 2008-09-16  Bruno Haible  <bruno@clisp.org>
51181
51182         * doc/glibc-functions/scandir.texi: Mention the function is missing on
51183         Solaris 9.
51184         * doc/glibc-functions/alphasort.texi: Likewise.
51185         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
51186
51187 2008-09-16  Jim Meyering  <meyering@redhat.com>
51188
51189         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
51190         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
51191         a umask modification leak out of a subshell.  Otherwise, the
51192         opensolaris /bin/sh would be accepted and thus cause unwarranted
51193         failures in the coreutils test suite.
51194
51195 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
51196
51197         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
51198         to succeed.
51199
51200 2008-09-16  Jim Meyering  <meyering@redhat.com>
51201
51202         avoid spurious test failure when library is built without ACL support
51203         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
51204         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
51205         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
51206         * tests/test-copy-acl.sh: Likewise.
51207
51208 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51209
51210         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
51211         based on character occurrence counts.
51212
51213 2008-09-15  Eric Blake  <ebb9@byu.net>
51214
51215         tests: avoid some compiler warnings
51216         * tests/test-memchr.c (main): Pass NULL indirectly.
51217         * tests/test-closein.c (main): Avoid unused variable.
51218
51219 2008-09-15  Bruno Haible  <bruno@clisp.org>
51220
51221         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
51222         are missing on OpenBSD 4.0 individually.
51223         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51224
51225 2008-09-15  Bruno Haible  <bruno@clisp.org>
51226
51227         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
51228         * doc/posix-functions/strerror.texi: Mention also Cygwin.
51229         * doc/posix-functions/perror.texi: Likewise.
51230         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
51231         is missing.
51232         Reported by Eric Blake.
51233
51234         * lib/errno.in.h: Use replacement values >= 2000.
51235         Reported by Eric Blake.
51236
51237 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51238
51239         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
51240         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
51241         limit.
51242         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
51243         compareseq was aborted.
51244
51245 2008-09-14  Bruno Haible  <bruno@clisp.org>
51246
51247         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
51248         yvec_edit_count.
51249         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
51250         (fstrcmp_bounded): Simplify result computation accordingly.
51251
51252 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51253
51254         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
51255         (fstrcmp): Define in terms of fstrcmp_bounded.
51256         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
51257         lower_bound argument.
51258         Return quickly if the result is certainly < lower_bound.
51259         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
51260
51261 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51262
51263         * lib/diffseq.h (EARLY_ABORT): New macro.
51264         (compareseq): Change return type to bool. Return true when EARLY_ABORT
51265         evaluates to true.
51266
51267 2008-09-14  Bruno Haible  <bruno@clisp.org>
51268
51269         * modules/perror-tests: New file.
51270         * tests/test-perror.sh: New file.
51271         * tests/test-perror.c: New file.
51272
51273         New module 'perror'.
51274         * lib/stdio.in.h (perror): New declaration.
51275         * lib/perror.c: New file.
51276         * m4/perror.m4: New file.
51277         * modules/perror: New file.
51278         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
51279         * doc/posix-functions/perror.texi: Mention the perror module.
51280         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
51281         REPLACE_PERROR.
51282         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
51283         REPLACE_PERROR.
51284
51285 2008-09-14  Bruno Haible  <bruno@clisp.org>
51286
51287         * modules/stdio (Makefile.am): Reorder to match the order in
51288         lib/stdio.in.h.
51289         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51290
51291 2008-09-13  Bruno Haible  <bruno@clisp.org>
51292
51293         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
51294
51295 2008-09-13  Bruno Haible  <bruno@clisp.org>
51296
51297         Extend strerror to cover the added errno values.
51298         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
51299         (rpl_strerror): Provide error messages for the added errno values and
51300         for the WSA* values.
51301         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
51302         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
51303         strerror.
51304         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
51305         * modules/strerror (Depends-on): Add errno.
51306         * doc/posix-functions/strerror.texi: Document the change.
51307         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
51308         and EOVERFLOW.
51309
51310 2008-09-13  Bruno Haible  <bruno@clisp.org>
51311
51312         * modules/EOVERFLOW: Remove file.
51313         * m4/eoverflow.m4: Remove file.
51314         * modules/EOVERFLOW-tests: Remove file.
51315         * tests/test-EOVERFLOW.c: Remove file.
51316         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
51317         * modules/ftell (Depends-on): Likewise.
51318         * modules/getdelim (Depends-on): Likewise.
51319         * modules/getugroups (Depends-on): Likewise.
51320         * modules/poll (Depends-on): Likewise.
51321         * modules/snprintf (Depends-on): Likewise.
51322         * modules/sprintf-posix (Depends-on): Likewise.
51323         * modules/vasnprintf (Depends-on): Likewise.
51324         * modules/vasprintf (Depends-on): Likewise.
51325         * modules/vfprintf-posix (Depends-on): Likewise.
51326         * modules/vsnprintf (Depends-on): Likewise.
51327         * modules/vsprintf-posix (Depends-on): Likewise.
51328         * modules/xvasprintf (Depends-on): Likewise.
51329         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51330         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
51331         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
51332         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
51333         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51334         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
51335         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
51336         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
51337         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51338         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
51339         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
51340         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
51341         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51342         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
51343         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
51344         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
51345         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51346         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
51347         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
51348         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
51349         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51350         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
51351         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
51352         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
51353         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
51354         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51355         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
51356         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
51357         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
51358         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
51359         * MODULES.html.sh: Remove EOVERFLOW.
51360         * NEWS: Mention the change.
51361
51362 2008-09-13  Bruno Haible  <bruno@clisp.org>
51363
51364         * modules/errno-tests: New file.
51365         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
51366
51367         * lib/errno.in.h: New file.
51368         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
51369         * modules/errno: New file.
51370         * doc/posix-headers/errno.texi: Update documentation.
51371         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
51372
51373 2008-09-13  Bruno Haible  <bruno@clisp.org>
51374
51375         * tests/test-poll.c: Use #if for native Windows, rather than testing
51376         __MSVCRT__.
51377
51378 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51379             Bruno Haible  <bruno@clisp.org>
51380
51381         * lib/glob.c: Don't include <pwd.h> on native Windows.
51382         (WINDOWS32): New macro.
51383         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
51384
51385 2008-09-13  Bruno Haible  <bruno@clisp.org>
51386
51387         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
51388         (ETIMEDOUT): Remove macro.
51389         (glthread_cond_timedwait_multithreaded): New declaration.
51390         (glthread_cond_timedwait): Use it.
51391         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
51392         (glthread_cond_timedwait_multithreaded): New function.
51393
51394 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51395
51396         * modules/poll-tests: Do not check for io.h.
51397         * tests/test-poll.c: Check for __MSVCRT__ instead.
51398
51399 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51400
51401         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
51402         * modules/poll-tests: Add inet_pton, stdbool, sockets.
51403         * tests/test-poll.c: Use them.  Use _pipe on Windows.
51404
51405 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51406
51407         * modules/poll-tests: New.
51408         * tests/test-poll.c: New.
51409
51410 2008-09-12  Eric Blake  <ebb9@byu.net>
51411
51412         frexp: test for NetBSD failure on -0.0
51413         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
51414         not all, bugs from NetBSD 3.0 have been fixed.
51415         * doc/posix-functions/frexp.texi (frexp): Document bug.
51416         Reported by Thomas Klausner.
51417
51418         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
51419         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
51420         literal -0.0.
51421         Reported by Jonathan C. Patschke <jp@centtech.com>.
51422
51423 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51424
51425         * lib/glthread/cond.h: Use dummy implementation also if
51426         USE_WIN32_THREADS.
51427
51428 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51429
51430         * modules/fnmatch-posix (License): Change to LGPLv2+.
51431         * modules/fnmatch-gnu (License): Likewise.
51432
51433 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51434
51435         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
51436
51437 2008-09-11  Jim Meyering  <meyering@redhat.com>
51438
51439         * users.txt: Add gtk-vnc.
51440
51441 2008-09-08  Simon Josefsson  <simon@josefsson.org>
51442
51443         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
51444         rotate amounts.
51445
51446         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
51447         required for 16-bit and 8-bit rotates.
51448         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
51449         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
51450         UINT8_MAX instead of hard-coded constants.
51451         Suggested by Paul Eggert.
51452
51453 2008-09-07  Bruno Haible  <bruno@clisp.org>
51454
51455         * tests/test-striconveh.c (main): Check behaviour when converting from
51456         UTF-7.
51457
51458         Make striconveh work better with stateful encodings.
51459         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
51460         that iconv does not increment the inptr when returning -1/EINVAL.
51461
51462 2008-09-07  Bruno Haible  <bruno@clisp.org>
51463
51464         * build-aux/config.rpath: Update according to libtool-2.2.6.
51465         * build-aux/config.libpath: Likewise.
51466
51467 2008-09-06  Bruno Haible  <bruno@clisp.org>
51468
51469         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
51470         * lib/freadptr.c (freadptr): Likewise.
51471         * lib/freadseek.c (freadptrinc): Likewise.
51472         Reported by Simon Josefsson.
51473
51474 2008-09-06  Bruno Haible  <bruno@clisp.org>
51475
51476         * modules/freadptr (License): Change to LGPLv2+.
51477         * modules/freadseek (License): Likewise.
51478         Suggested by Eric Blake.
51479
51480         * modules/memchr2 (License): Change to LGPLv2+.
51481         Approved by Eric Blake.
51482
51483 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51484             Bruno Haible  <bruno@clisp.org>
51485
51486         Make gnulib-tool work with native 'sed' on AIX.
51487         * gnulib-tool (sed_noop): New variable.
51488         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
51489         func_add_or_update, func_create_testdir): Use it to initialize sed
51490         script variables.
51491         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51492
51493 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
51494             Bruno Haible  <bruno@clisp.org>
51495
51496         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
51497         also works after #include directives.
51498
51499 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
51500
51501         getdate.y: reject an out-of-range timezone value
51502         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
51503         the range [-24...+24].  When specified with only one or two digits,
51504         * tests/test-getdate.c: Tests for the fix.
51505         * doc/getdate.texi: Document this change.
51506
51507 2008-09-03  Bruno Haible  <bruno@clisp.org>
51508
51509         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
51510
51511 2008-09-02  Simon Josefsson  <simon@josefsson.org>
51512
51513         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
51514         <bruce.korb@gmail.com> with ideas from Ben Pfaff
51515         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
51516         Blake <ebb9@byu.net>.
51517
51518         * tests/test-bitrotate.c: Add more test vectors.
51519
51520 2008-09-02  Eric Blake  <ebb9@byu.net>
51521
51522         vasnprintf-posix: handle large precision via %.*d
51523         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
51524         when handling it ourselves.
51525         * tests/test-vasnprintf-posix.c (test_function): Add test.
51526         * tests/test-snprintf-posix.h (test_function): Likewise.
51527         * tests/test-sprintf-posix.h (test_function): Likewise.
51528         * tests/test-vasprintf-posix.c (test_function): Likewise.
51529         Reported by Alain Guibert.
51530
51531 2008-09-01  Eric Blake  <ebb9@byu.net>
51532
51533         c-stack: make configure-time check more robust
51534         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
51535         successful sigaction call.
51536         Reported by Tom G. Christensen.
51537
51538 2008-09-01  Bruno Haible  <bruno@clisp.org>
51539
51540         New module 'findprog-lgpl'.
51541         * modules/findprog-lgpl: New file.
51542         * lib/findprog-lgpl.c: New file.
51543         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
51544         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
51545         to decide whether to use strdup or xstrdup, concatenated_filename or
51546         xconcatenated_filename.
51547
51548 2008-09-01  Bruno Haible  <bruno@clisp.org>
51549
51550         Split module 'concat-filename' into 'concat-filename' (LGPL) and
51551         'xconcat-filename' (GPL).
51552         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
51553         (License): Change to LGPLv2+.
51554         * modules/xconcat-filename: New file.
51555         * lib/concat-filename.h (concatenated_filename): Change specification.
51556         (xconcatenated_filename): New declaration.
51557         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
51558         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
51559         memory situations.
51560         * lib/xconcat-filename.c: New file.
51561         * NEWS: Mention the change.
51562         * lib/findprog.c: Include concat-filename.h, not filename.h.
51563         (find_in_path): Use xconcatenated_filename instead of
51564         concatenated_filename.
51565         * lib/javacomp.c: Include concat-filename.h, not filename.h.
51566         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51567         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51568         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51569         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
51570         instead of concatenated_filename.
51571         * lib/javaexec.c: Include concat-filename.h, not filename.h.
51572         (execute_java_class): Use xconcatenated_filename instead of
51573         concatenated_filename.
51574         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
51575         * modules/javacomp (Depends-on): Likewise.
51576         * modules/javaexec (Depends-on): Likewise.
51577
51578 2008-09-01  Bruno Haible  <bruno@clisp.org>
51579
51580         Split module 'filename' into 'filename' and 'concat-filename'.
51581         * modules/filename: Keep only lib/filename.h.
51582         (License): Change to LGPLv2+.
51583         * modules/concat-filename: New file, extracted from modules/filename.
51584         * lib/filename.h (concatenated_filename): Remove declaration.
51585         * lib/concat-filename.h: New file, extracted from lib/filename.h.
51586         * lib/concat-filename.c: Include concat-filename.h.
51587         * NEWS: Mention the change.
51588
51589 2008-09-01  Simon Josefsson  <simon@josefsson.org>
51590
51591         * lib/bitrotate.h (rotl8, rotr8): Add.
51592
51593         * modules/bitrotate (configure.ac): Need
51594         AC_REQUIRE([AC_C_INLINE]).
51595         (Description): Mention stdint.h.  Reported by Bruno Haible
51596         <bruno@clisp.org>.
51597
51598         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
51599         Paolo Bonzini <bonzini@gnu.org>.
51600
51601 2008-08-31  Bruno Haible  <bruno@clisp.org>
51602
51603         Assume Solaris specific bi-arch conventions on Solaris systems.
51604         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
51605         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
51606         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
51607         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
51608         like acl_libdirstem.
51609         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
51610         acl_libdirstem.
51611         * NEWS: Mention the change.
51612         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
51613
51614 2008-08-31  Jim Meyering  <meyering@redhat.com>
51615
51616         * lib/strftime.h: Add comments describing the two added arguments.
51617
51618         remove duplicate #include directives
51619         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
51620         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
51621
51622 2008-08-31  Bruno Haible  <bruno@clisp.org>
51623
51624         New module 'sigpipe-die'.
51625         * modules/sigpipe-die: New file.
51626         * lib/sigpipe-die.h: New file.
51627         * lib/sigpipe-die.c: New file.
51628         * MODULES.html.sh (Signal handling): Add sigpipe-die.
51629
51630 2008-08-31  Bruno Haible  <bruno@clisp.org>
51631
51632         Don't override previously installed signal handlers.
51633         * lib/fatal-signal.c (saved_sigactions): New variable.
51634         (uninstall_handlers): Reset the signal to the saved handler, not
51635         to SIG_DFL (except when ignored).
51636         (install_handlers): Save the previous handlers.
51637
51638 2008-08-30  Bruno Haible  <bruno@clisp.org>
51639
51640         * gnulib-tool (func_reset_sigpipe): New function.
51641         (func_get_automake_snippet, func_modules_transitive_closure,
51642         func_import): Invoke it before a join command that reads from stdin,
51643         to avoid "echo: write error: Broken pipe" error messages on stderr.
51644         Reported by Sam Steingold <sds@gnu.org>.
51645
51646 2008-08-30  Bruno Haible  <bruno@clisp.org>
51647
51648         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
51649         Code copied from m4/open.m4.
51650         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
51651         access and the filename ends in a slash. Code copied from lib/open.c.
51652         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
51653         * tests/test-fopen.c (main): Check against bug with trailing slash.
51654
51655 2008-08-29  Bruno Haible  <bruno@clisp.org>
51656
51657         Avoid some "gcc -pedantic" warnings.
51658         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
51659         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
51660         * lib/dirent.in.h: Likewise.
51661         * lib/fcntl.in.h: Likewise.
51662         * lib/float.in.h: Likewise.
51663         * lib/iconv.in.h: Likewise.
51664         * lib/inttypes.in.h: Likewise.
51665         * lib/locale.in.h: Likewise.
51666         * lib/math.in.h: Likewise.
51667         * lib/netinet_in.in.h: Likewise.
51668         * lib/search.in.h: Likewise.
51669         * lib/signal.in.h: Likewise.
51670         * lib/stdarg.in.h: Likewise.
51671         * lib/stdint.in.h: Likewise.
51672         * lib/stdio.in.h: Likewise.
51673         * lib/stdlib.in.h: Likewise.
51674         * lib/string.in.h: Likewise.
51675         * lib/strings.in.h: Likewise.
51676         * lib/sys_select.in.h: Likewise.
51677         * lib/sys_socket.in.h: Likewise.
51678         * lib/sys_stat.in.h: Likewise.
51679         * lib/sys_time.in.h: Likewise.
51680         * lib/sysexits.in.h: Likewise.
51681         * lib/time.in.h: Likewise.
51682         * lib/unistd.in.h: Likewise.
51683         * lib/wchar.in.h: Likewise.
51684         * lib/wctype.in.h: Likewise.
51685         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
51686         * modules/fchdir (Makefile.am): Likewise.
51687         * modules/fcntl (Makefile.am): Likewise.
51688         * modules/float (Makefile.am): Likewise.
51689         * modules/iconv_open (Makefile.am): Likewise.
51690         * modules/inttypes (Makefile.am): Likewise.
51691         * modules/locale (Makefile.am): Likewise.
51692         * modules/math (Makefile.am): Likewise.
51693         * modules/netinet_in (Makefile.am): Likewise.
51694         * modules/search (Makefile.am): Likewise.
51695         * modules/signal (Makefile.am): Likewise.
51696         * modules/stdarg (Makefile.am): Likewise.
51697         * modules/stdint (Makefile.am): Likewise.
51698         * modules/stdio (Makefile.am): Likewise.
51699         * modules/stdlib (Makefile.am): Likewise.
51700         * modules/string (Makefile.am): Likewise.
51701         * modules/strings (Makefile.am): Likewise.
51702         * modules/sys_select (Makefile.am): Likewise.
51703         * modules/sys_socket (Makefile.am): Likewise.
51704         * modules/sys_stat (Makefile.am): Likewise.
51705         * modules/sys_time (Makefile.am): Likewise.
51706         * modules/sysexits (Makefile.am): Likewise.
51707         * modules/time (Makefile.am): Likewise.
51708         * modules/unistd (Makefile.am): Likewise.
51709         * modules/wchar (Makefile.am): Likewise.
51710         * modules/wctype (Makefile.am): Likewise.
51711         Reported by Reuben Thomas <rrt@sc3d.org>.
51712
51713 2008-08-29  Bruno Haible  <bruno@clisp.org>
51714
51715         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
51716         any more.
51717
51718 2008-08-29  Simon Josefsson  <simon@josefsson.org>
51719
51720         * MODULES.html.sh (Misc): Add bitrotate.
51721
51722         * modules/bitrotate: New file.
51723
51724         * lib/bitrotate.h: New file.
51725
51726         * modules/bitrotate-tests: New file.
51727
51728         * tests/test-bitrotate.c: New file.
51729
51730         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
51731         on the bitrotate module.
51732
51733         * lib/arctwo.c: Use new bitrotate module.
51734
51735 2008-08-29  Jim Meyering  <meyering@redhat.com>
51736
51737         bootstrap: merge changes from coreutils
51738         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
51739         of copied files.  Remove a kludge, now that this is fixed.
51740         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
51741         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
51742         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
51743
51744 2008-08-29  Bruno Haible  <bruno@clisp.org>
51745
51746         * MODULES.html.sh: Remove --cvs-urls option.
51747
51748 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
51749
51750         maint.mk: adjust to file name change
51751         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
51752
51753 2008-08-28  Jim Meyering  <meyering@redhat.com>
51754
51755         * modules/getndelim2 (License): Relicense to LGPLv2+.
51756         Approved by Richard Stallman for the version of 1995, and by
51757         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
51758
51759 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
51760
51761         * lib/getdelim.c (flockfile, funlockfile): Make all of them
51762         dummy if one is not available.  Do not touch them if
51763         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
51764         (getc_maybe_unlocked): New.
51765         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
51766
51767 2008-08-26  Eric Blake  <ebb9@byu.net>
51768
51769         doc/INSTALL: resync from autoconf
51770         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
51771         (INSTALL_PRELUDE): Delete; this is done more efficiently by
51772         moving...
51773         * install.texi [!autoconf]: ...here.  Resync from autoconf.
51774         * INSTALL: Regenerate.
51775         * INSTALL.ISO: New file.
51776         * INSTALL.UTF-8: Likewise.
51777
51778 2008-08-26  Jim Meyering  <meyering@redhat.com>
51779
51780         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
51781         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
51782         these definitions conditional, so that they may be overridden, too.
51783
51784 2008-08-26  Bruno Haible  <bruno@clisp.org>
51785
51786         Generate INSTALL file variants with prettier quotes.
51787         * doc/Makefile (INSTALL_PRELUDE): New macro.
51788         (INSTALL): Use it.
51789         (INSTALL.ISO, INSTALL.UTF-8): New rules.
51790
51791 2008-08-26  Bruno Haible  <bruno@clisp.org>
51792
51793         Run makeinfo in an English locale.
51794         * doc/Makefile (MAKEINFO): New variable.
51795
51796 2008-08-26  Bruno Haible  <bruno@clisp.org>
51797
51798         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
51799         Suggested by Eric Blake.
51800
51801 2008-08-25  Bruno Haible  <bruno@clisp.org>
51802
51803         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
51804
51805 2008-08-25  Eric Blake  <ebb9@byu.net>
51806
51807         c-stack: test that stack overflow can be caught
51808         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
51809         that platform allows handling stack overflow; at least OS/2 EMX
51810         has sigaltstack, but crashes before transferring control to
51811         handler on stack overflow.
51812         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
51813         check for HAVE_STACK_OVERFLOW_HANDLING.
51814         Reported by Elbert Pol.
51815
51816 2008-08-25  Bruno Haible  <bruno@clisp.org>
51817
51818         * doc/posix-functions/strftime.texi: Fix description of strftime
51819         module.
51820
51821 2008-08-24  Bruno Haible  <bruno@clisp.org>
51822
51823         * tests/uniwidth/test-uc_width2.c: New file.
51824         * tests/uniwidth/test-uc_width2.sh: New file.
51825         * modules/uniwidth/width-tests (Files): Add the new files.
51826         (TESTS): Add uniwidth/test-uc_width2.sh.
51827         (TESTS_ENVIRONMENT): New variable.
51828         (check_PROGRAMS): Add test-uc_width2.
51829         (test_uc_width2_SOURCES): New variable.
51830
51831         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
51832         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
51833         not 0x00AB.
51834         Reported by Alexander V. Lukyanov <lav@netis.ru>.
51835
51836 2008-08-22  Eric Blake  <ebb9@byu.net>
51837
51838         test-lock, test-tls: mention why a test is skipped
51839         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
51840         skipped.
51841         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
51842
51843         count-one-bits: relax license
51844         * modules/count-one-bits (License): Relicense to LGPLv2+.
51845         Suggested by Ludovic Courtès, approved by Ben Pfaff.
51846
51847 2008-08-22  Andreas Schwab  <schwab@suse.de>
51848
51849         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
51850         Remove spurious space in assignment.
51851
51852 2008-08-21  Simon Josefsson  <simon@josefsson.org>
51853
51854         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
51855         Paul Eggert <eggert@CS.UCLA.EDU>.
51856
51857 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
51858
51859         * modules/gettext: Add m4/threadlib.m4.
51860
51861 2008-08-19  Eric Blake  <ebb9@byu.net>
51862
51863         test-c-stack: fix compilation failure on FreeBSD 5.0
51864         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
51865         headers before <sys/resource.h>.
51866         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
51867         the bug.
51868         Reported by Nelson H. F. Beebe.
51869
51870         strverscmp: migrate from "strverscmp.h" to <string.h>
51871         * modules/string (Makefile.am): Add new hooks.
51872         * modules/strverscmp (Files): Remove strverscmp.h.
51873         (Depends-on): Add string.
51874         (configure.ac): Add indicator.
51875         (Include): Mention new header.
51876         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
51877         defaults.
51878         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
51879         results.
51880         * lib/strverscmp.h: Delete.
51881         * lib/string.in.h (strverscmp): Provide declaration, when needed.
51882         * tests/test-strverscmp.c (includes): Adjust client.
51883         * lib/check-version.c (includes): Likewise.
51884         * NEWS: Document the change.
51885
51886         strverscmp: add unit test
51887         * modules/strverscmp-tests: New file.
51888         * tests/test-strverscmp.c: Likewise.
51889
51890 2008-08-19  Simon Josefsson  <simon@josefsson.org>
51891
51892         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
51893         regarding Windows crypto stuff, from Mono.
51894
51895 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
51896
51897         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
51898         if present, for intel RND.  Return error on failures.
51899
51900 2008-08-18  Ben Pfaff  <blp@gnu.org>
51901
51902         gitlog-to-changelog: give better diagnostic for failed pipe-open
51903         * build-aux/gitlog-to-changelog: Improve error message: suggest
51904         that the version of Git may be too old.
51905
51906 2008-08-18  Simon Josefsson  <simon@josefsson.org>
51907
51908         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
51909         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
51910
51911 2008-08-18  Bruno Haible  <bruno@clisp.org>
51912
51913         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
51914         pthread_in_use().
51915
51916 2008-08-18  Bruno Haible  <bruno@clisp.org>
51917
51918         * lib/glthread/threadlib.c: Include <pthread.h>.
51919
51920 2008-08-18  Bruno Haible  <bruno@clisp.org>
51921
51922         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
51923         glthread_recursive_lock_* macros.
51924         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
51925         Fix syntax error.
51926
51927 2008-08-18  Bruno Haible  <bruno@clisp.org>
51928
51929         * lib/glthread/thread.c: Avoid forcing a context switch right after
51930         thread creation.
51931
51932 2008-08-17  Bruno Haible  <bruno@clisp.org>
51933
51934         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
51935         * lib/glthread/thread.h: Provide Win32 specific implementation.
51936         * modules/thread (Files): Add lib/glthread/thread.c.
51937         (Depends-on): Add lock.
51938         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
51939
51940 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51941
51942         New module 'yield'.
51943         * modules/yield: New file.
51944         * lib/glthread/yield.h: New file.
51945         * m4/yield.m4: New file.
51946         * MODULES.html.sh (Multithreading): Add yield.
51947
51948 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51949
51950         New module 'thread'.
51951         * modules/thread: New file.
51952         * lib/glthread/thread.h: New file.
51953         * m4/thread.m4: New file.
51954         * MODULES.html.sh (Multithreading): Add thread.
51955
51956 2008-08-17  Bruno Haible  <bruno@clisp.org>
51957
51958         * lib/glthread/lock.h: Include <stdlib.h> always.
51959         * lib/glthread/tls.h: Likewise.
51960         * lib/glthread/cond.h: Likewise.
51961
51962 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51963
51964         New module 'cond'.
51965         * modules/cond: New file.
51966         * lib/glthread/cond.h: New file.
51967         * lib/glthread/cond.c: New file.
51968         * m4/cond.m4: New file.
51969         * MODULES.html.sh (Multithreading): Add cond.
51970
51971 2008-08-16  Eric Blake  <ebb9@byu.net>
51972
51973         c-stack: fix regression on Irix 5.3 from 2008-06-21
51974         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
51975         sa_sigaction...
51976         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
51977         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
51978         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
51979         * modules/signal (Makefile.am): Use the value.
51980         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
51981         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
51982         * doc/posix-headers/signal.texi (signal.h): Document this
51983         portability issue.
51984         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
51985         Reported by Tom G. Christensen.
51986
51987 2008-08-17  Bruno Haible  <bruno@clisp.org>
51988
51989         New module 'threadlib'.
51990         * modules/threadlib: New file.
51991         * lib/glthread/threadlib.c: New file, extracted from
51992         lib/glthread/lock.c.
51993         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
51994         functions.
51995         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
51996         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
51997         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
51998         macros.
51999         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
52000         (gl_DISABLE_THREADS): Remove macro.
52001         * modules/lock (Files): Remove build-aux/config.rpath.
52002         (Depends-on): Remove havelib. Add threadlib.
52003         (configure.ac-early): Remove section.
52004         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
52005         * modules/tls (Depends-on): Remove lock. Add threadlib.
52006         (Link): New section, copied from threadlib.
52007         * MODULES.html.sh (Multithreading): Add threadlib.
52008
52009 2008-08-14  Bruno Haible  <bruno@clisp.org>
52010
52011         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
52012         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
52013         glthread_rwlock_unlock, glthread_rwlock_destroy,
52014         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
52015         glthread_recursive_lock_destroy): Define as macros always.
52016         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
52017         glthread_lock_lock.
52018         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
52019         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
52020         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
52021         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
52022         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
52023         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
52024         (glthread_recursive_lock_lock_func): Renamed from
52025         glthread_recursive_lock_lock.
52026         (glthread_recursive_lock_unlock_func): Renamed from
52027         glthread_recursive_lock_unlock.
52028         (glthread_recursive_lock_destroy_func): Renamed from
52029         glthread_recursive_lock_destroy.
52030
52031 2008-08-14  Bruno Haible  <bruno@clisp.org>
52032
52033         * lib/glthread/lock.h: Renamed from lib/lock.h.
52034         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
52035         * lib/glthread/tls.h: Renamed from lib/tls.h.
52036         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
52037         * lib/fstrcmp.c: Update includes.
52038         * lib/strsignal.c: Update includes.
52039         * modules/lock (Files, Makefile.am): Update.
52040         (Include): Change to "glthread/lock.h".
52041         * modules/tls (Files, Makefile.am): Update.
52042         (Include): Change to "glthread/tls.h".
52043         * tests/test-lock.c: Update includes.
52044         * tests/test-tls.c: Update includes.
52045         * NEWS: Mention the renamed header files.
52046
52047 2008-08-11  Jim Meyering  <meyering@redhat.com>
52048
52049         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
52050
52051 2008-08-11  Eric Blake  <ebb9@byu.net>
52052
52053         test-c-stack: avoid C99-ism
52054         * tests/test-c-stack.c (main): Fix whitespace, move declaration
52055         before statement.
52056         Reported by Alain Guibert.
52057
52058 2008-08-10  Jim Meyering  <meyering@redhat.com>
52059
52060         ensure that return value of uinttostr et al are not ignored
52061         * lib/inttostr.h (__GNUC_PREREQ): Define.
52062         (__attribute_warn_unused_result__): Define.
52063         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
52064
52065 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
52066
52067         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
52068         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
52069
52070 2008-08-07  Jim Meyering  <meyering@redhat.com>
52071
52072         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
52073
52074         * modules/mkstemp (License): Relicense under LGPLv2+.
52075         * modules/tempname (License): Likewise.
52076
52077 2008-08-06  Bruno Haible  <bruno@clisp.org>
52078
52079         * lib/poll.c (poll): Further micro-optimization.
52080
52081 2008-08-06  Jim Meyering  <meyering@redhat.com>
52082
52083         inet_pton.c: use locale-independent tolower
52084         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
52085         (inet_pton6): Use c_tolower rather than tolower.
52086         * modules/inet_pton (Depends-on): Add c-ctype.
52087
52088 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
52089
52090         * lib/poll.c (poll): Avoid division when timeout is 0, cache
52091         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
52092
52093 2008-08-06  Jim Meyering  <meyering@redhat.com>
52094
52095         * modules/inet_pton (License): Relicense under LGPLv2+.
52096
52097 2008-08-03  Bruno Haible  <bruno@clisp.org>
52098
52099         Additional non-aborting API for lock and tls.
52100         * lib/lock.h: Include <errno.h>.
52101         (glthread_lock_init): New macro/function.
52102         (gl_lock_init): Define as wrapper around glthread_lock_init.
52103         (glthread_lock_lock): New macro/function.
52104         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
52105         (glthread_lock_unlock): New macro/function.
52106         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
52107         (glthread_lock_destroy): New macro/function.
52108         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
52109         (glthread_rwlock_init): New macro/function.
52110         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
52111         (glthread_rwlock_rdlock): New macro/function.
52112         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
52113         (glthread_rwlock_wrlock): New macro/function.
52114         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
52115         (glthread_rwlock_unlock): New macro/function.
52116         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
52117         (glthread_rwlock_destroy): New macro/function.
52118         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
52119         (glthread_recursive_lock_init): New macro/function.
52120         (gl_recursive_lock_init): Define as wrapper around
52121         glthread_recursive_lock_init.
52122         (glthread_recursive_lock_lock): New macro/function.
52123         (gl_recursive_lock_lock): Define as wrapper around
52124         glthread_recursive_lock_lock.
52125         (glthread_recursive_lock_unlock): New macro/function.
52126         (gl_recursive_lock_unlock): Define as wrapper around
52127         glthread_recursive_lock_unlock.
52128         (glthread_recursive_lock_destroy): New macro/function.
52129         (gl_recursive_lock_destroy): Define as wrapper around
52130         glthread_recursive_lock_destroy.
52131         (glthread_once): New macro/function.
52132         (gl_once): Define as wrapper around glthread_once.
52133         Update function declarations.
52134         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
52135         glthread_rwlock_init. Return error code.
52136         (glthread_rwlock_rdlock_multithreaded): Renamed from
52137         glthread_rwlock_rdlock. Return error code.
52138         (glthread_rwlock_wrlock_multithreaded): Renamed from
52139         glthread_rwlock_wrlock. Return error code.
52140         (glthread_rwlock_unlock_multithreaded): Renamed from
52141         glthread_rwlock_unlock. Return error code.
52142         (glthread_rwlock_destroy_multithreaded): Renamed from
52143         glthread_rwlock_destroy. Return error code.
52144         (glthread_recursive_lock_init_multithreaded): Renamed from
52145         glthread_recursive_lock_init. Return error code.
52146         (glthread_recursive_lock_lock_multithreaded): Renamed from
52147         glthread_recursive_lock_lock. Return error code.
52148         (glthread_recursive_lock_unlock_multithreaded): Renamed from
52149         glthread_recursive_lock_unlock. Return error code.
52150         (glthread_recursive_lock_destroy_multithreaded): Renamed from
52151         glthread_recursive_lock_destroy. Return error code.
52152         (glthread_once_call): Make static.
52153         (glthread_once_multithreaded): Renamed from glthread_once.
52154         * lib/tls.h: Include <errno.h>.
52155         (glthread_tls_key_init): New macro/function.
52156         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
52157         (glthread_tls_set): New macro/function.
52158         (gl_tls_set): Define as wrapper around glthread_tls_set.
52159         (glthread_tls_key_destroy): New macro/function.
52160         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
52161         Update function declarations.
52162         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
52163         glthread_tls_get.
52164         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52165
52166 2008-08-04  Eric Blake  <ebb9@byu.net>
52167
52168         gnumakefile: use space, not TAB, outside of targets
52169         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
52170
52171 2008-08-02  Jim Meyering  <meyering@redhat.com>
52172
52173         getdate.y: avoid locale-dependent date parsing failure
52174         In Turkish locales, getdate would fail to recognize keywords
52175         containing a lowercase "i".  The solution is not to rely on
52176         locale-sensitive case-conversion.
52177         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
52178         (lookup_word): Use c_toupper in place of toupper.
52179         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
52180         Reported by Vefa Bicakci <bicave@superonline.com> in
52181         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
52182         * modules/getdate (Depends-on): Add c-ctype.
52183
52184 2008-08-02  Bruno Haible  <bruno@clisp.org>
52185
52186         * gnulib-tool (func_import): When updating or creating a .gitignore
52187         file, prepend each added line with a slash, and ignore leading slashes
52188         from the existing lines.
52189         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52190
52191 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52192
52193         Portability fix for GNU make 3.79.1.
52194         * top/GNUmakefile: Avoid 'else COND', which older GNU make
52195         versions do not understand.
52196
52197 2008-08-01  Bruno Haible  <bruno@clisp.org>
52198
52199         Work around bug of HP-UX 10.20 cc with -0.0 literal.
52200         * tests/test-isnanf.h (zero): New variable.
52201         (main): Avoid literal -0.0f.
52202         * tests/test-isnand.h (zero): New variable.
52203         (main): Avoid literal -0.0.
52204         * tests/test-isnanl.h (zero): New variable.
52205         (main): Avoid literal -0.0L.
52206         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
52207         (test_float, test_double, test_long_double): Avoid literals -0.0f,
52208         -0.0, -0.0L.
52209         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
52210         (test_signbitd): Avoid literal -0.0.
52211         (test_signbitl): Avoid literal -0.0L.
52212         * tests/test-ceilf1.c (zero): New variable.
52213         (main): Avoid literal -0.0f.
52214         * tests/test-ceill.c (zero): New variable.
52215         (main): Avoid literal -0.0L.
52216         * tests/test-floorf1.c (zero): New variable.
52217         (main): Avoid literal -0.0f.
52218         * tests/test-floorl.c (zero): New variable.
52219         (main): Avoid literal -0.0L.
52220         * tests/test-roundf1.c (zero): New variable.
52221         (main): Avoid literal -0.0f.
52222         * tests/test-round1.c (zero): New variable.
52223         (main): Avoid literal -0.0.
52224         * tests/test-roundl.c (zero): New variable.
52225         (main): Avoid literal -0.0L.
52226         * tests/test-truncf1.c (zero): New variable.
52227         (main): Avoid literal -0.0f.
52228         * tests/test-trunc1.c (zero): New variable.
52229         (main): Avoid literal -0.0.
52230         * tests/test-truncl.c (zero): New variable.
52231         (main): Avoid literal -0.0L.
52232         * tests/test-frexp.c (zero): New variable.
52233         (main): Avoid literal -0.0.
52234         * tests/test-frexpl.c (zero): New variable.
52235         (main): Avoid literal -0.0L.
52236         * tests/test-ldexpl.c (zero): New variable.
52237         (main): Avoid literal -0.0L.
52238         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52239         (zerod, zerol): New variables.
52240         (test_function): Avoid literals -0.0, -0.0L.
52241         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52242         (zerod, zerol): New variables.
52243         (test_function): Avoid literals -0.0, -0.0L.
52244         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52245         (zerod, zerol): New variables.
52246         (test_function): Avoid literals -0.0, -0.0L.
52247         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52248         (zerod, zerol): New variables.
52249         (test_function): Avoid literals -0.0, -0.0L.
52250         * tests/test-strtod.c (zero): New variable.
52251         (main): Avoid literal -0.0.
52252         Reported by Jonathan C. Patschke <jp@centtech.com>.
52253
52254 2008-07-31  Jim Meyering  <meyering@redhat.com>
52255
52256         sha256.h: correct definition of SHA224_DIGEST_SIZE
52257         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
52258         Reported by Paulie Pena IV <paulie4@gmail.com>.
52259         Define as 224 / 8, rather than as a literal.
52260         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
52261         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
52262         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
52263
52264 2008-07-31  Bruno Haible  <bruno@clisp.org>
52265
52266         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
52267         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
52268         Reported by Jonathan Patschke <jp@centtech.com>.
52269
52270 2008-07-31  Bruno Haible  <bruno@clisp.org>
52271
52272         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
52273         Reported by Paolo Bonzini <bonzini@gnu.org>.
52274
52275 2008-07-30  Eric Blake  <ebb9@byu.net>
52276
52277         test-strtod: allow compilation without -lm
52278         * tests/test-strtod.c (main): Avoid link dependence on fabs.
52279         Reported by Dennis Clarke <blastwave@gmail.com>.
52280
52281 2008-07-28  Jim Meyering  <meyering@redhat.com>
52282
52283         bootstrap: work also when there are no .po files in po/
52284         * build-aux/bootstrap (update_po_files): Complete the change
52285         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
52286
52287 2008-07-27  Jim Meyering  <meyering@redhat.com>
52288
52289         * users.txt: Add zile.
52290
52291 2008-07-26  Ben Pfaff  <blp@gnu.org>
52292
52293         Add missing dependencies on new m4/exponent[fdl].m4 files.
52294         * modules/isnanf-nolibm: Add m4/exponentf.m4.
52295         * modules/isnand-nolibm: Add m4/exponentd.m4.
52296         * modules/isnanl-nolibm: Add m4/exponentl.m4.
52297         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
52298         m4/isnan[fdl].m4, because the macros actually used moved.
52299         Reported by Jim Meyering.
52300
52301 2008-07-14  Ben Pfaff  <blp@gnu.org>
52302
52303         Add isinf module.
52304         * lib/isinf.c: New file.
52305         * lib/math.in.h: Define isinf macro if we have decided to replace
52306         it.
52307         * m4/isinf.m4: New file.
52308         * m4/math_h.m4: Initialize and substitute variables for isinf
52309         module.
52310         * modules/isinf: New file.
52311         * modules/isinf-tests: New file.
52312         * modules/math: Add substitutions for new module.
52313         * tests/test-isinf.c: New file.
52314         * doc/posix-functions/isinf.texi: Mention new module.
52315         * MODULES.html.sh: Mention new module.
52316
52317 2008-07-14  Ben Pfaff  <blp@gnu.org>
52318
52319         Factor out some macros for use by additional modules.
52320         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
52321         exponentf.m4.
52322         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
52323         exponentd.m4.
52324         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
52325         file exponentl.m4.
52326         * m4/exponentf.m4: New file.
52327         * m4/exponentd.m4: New file.
52328         * m4/exponentl.m4: New file.
52329         * modules/isnanf: Use new file m4/exponentf.m4.
52330         * modules/isnand: Use new file m4/exponentd.m4.
52331         * modules/isnanl: Use new file m4/exponentl.m4.
52332
52333 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
52334
52335         mktime.c: normalize tp->tm_isdst value to -1/0/1.
52336         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
52337         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
52338         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
52339
52340         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
52341         readlink on platforms without PATH_MAX.
52342
52343 2008-07-21  Eric Blake  <ebb9@byu.net>
52344
52345         Warn, not fail, on stale version.
52346         * top/GNUmakefile (_curr-ver): Tone down previous patch.
52347
52348         Don't allow installation with stale devel version number.
52349         * top/GNUmakefile (_is-install-target): New macro.
52350         (_curr-ver): Forbid installation with stale version number.
52351
52352 2008-07-20  Bruno Haible  <bruno@clisp.org>
52353
52354         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
52355         TESTS_ENVIRONMENT.
52356         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
52357
52358 2008-07-20  Bruno Haible  <bruno@clisp.org>
52359
52360         * lib/c-stack.h (c_stack_action): Add documentation.
52361         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
52362
52363 2008-07-20  Bruno Haible  <bruno@clisp.org>
52364
52365         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
52366         * modules/readlink (License): Likewise.
52367
52368 2008-07-17  Eric Blake  <ebb9@byu.net>
52369
52370         * modules/c-stack (Link): Fix typo.
52371
52372         Make c-stack use libsigsegv, when available.
52373         * modules/c-stack (Depends-on): Add libsigsegv.
52374         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
52375         needed.
52376         * lib/c-stack.c (SIGSTKSZ): Define fallback.
52377         (segv_handler, overflow_handler, c_stack_action)
52378         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
52379         implementation when libsigsegv is available, but only when using
52380         the library is necessary.
52381         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
52382         comment, explaining why XSI check fails on Linux.
52383         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
52384         * tests/test-c-stack2.sh: Tweak skip message.
52385         * NEWS: Document new link-time requirements.
52386
52387 2008-07-16  Eric Blake  <ebb9@byu.net>
52388
52389         c-stack: Expose false positives when not using libsigsegv.
52390         * modules/c-stack-tests (Files): Expand test.
52391         * tests/test-c-stack.c (main): Add means to conditionally trigger
52392         non-overflow SIGSEGV.
52393         * tests/test-c-stack2.sh: New file.
52394
52395 2008-07-14  Bruno Haible  <bruno@clisp.org>
52396
52397         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
52398         Reported by Eric Blake.
52399
52400 2008-07-14  Sam Steingold  <sds@gnu.org>
52401             Bruno Haible  <bruno@clisp.org>
52402
52403         New module libsigsegv.
52404         * modules/libsigsegv: New file.
52405         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
52406         modifications.
52407         * MODULES.html.sh (Signal handling): New section.
52408
52409 2008-07-14  Bruno Haible  <bruno@clisp.org>
52410
52411         * modules/unictype/ctype-* (Description): Add the word "function".
52412         Improves the resulting doc in MODULES.html.
52413
52414 2008-07-12  Ben Pfaff  <blp@gnu.org>
52415
52416         Add longlong module.
52417         * modules/longlong: New file.
52418
52419 2008-07-12  Bruno Haible  <bruno@clisp.org>
52420
52421         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
52422         to empty.
52423
52424 2008-07-10  Ben Pfaff  <blp@gnu.org>
52425
52426         Add isnan module.
52427         * doc/posix-functions/isnan.texi: Mention new module.
52428         * lib/math.in.h: Define isnan macro if we have decided to replace
52429         it.
52430         * m4/isnan.m4: New file.
52431         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
52432         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
52433         also.
52434         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
52435         redundancy.
52436         * m4/math_h.m4: Initialize and substitute variables for isnan
52437         module.
52438         * modules/isnan: New file.
52439         * modules/isnan-tests: New file.
52440         * modules/math: Add substitutions for new module.
52441         * tests/test-isnan.c: New file.
52442         * MODULES.html.sh: Mention new module.
52443
52444 2008-07-10  Ben Pfaff  <blp@gnu.org>
52445
52446         Add isnanf module.
52447         * lib/isnanf.m4: New file.
52448         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
52449         (gl_HAVE_ISNANF_IN_LIBM): New macro.
52450         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
52451         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
52452         * modules/isnanf: New file.
52453         * modules/isnanf-tests: New file.
52454         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
52455         files.
52456         * tests/test-isnanf-nolibm.c: factored most of its contents into
52457         new file tests/test-isnanf.h.
52458         * tests/test-isnanf.h: New file.
52459         * tests/test-isnanf.c: New file.
52460         * MODULES.html.sh: Mention new module.
52461         * doc/glibc-functions/isnanf.texi: Mention new module.
52462
52463 2008-07-10  Ben Pfaff  <blp@gnu.org>
52464
52465         Add isnand module.
52466         * lib/isnand.h: New file.
52467         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
52468         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
52469         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
52470         functionality also.
52471         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
52472         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
52473         (gl_HAVE_ISNAND_IN_LIBM): New macro.
52474         * modules/isnand: New file.
52475         * modules/isnand-tests: New file.
52476         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
52477         files.
52478         * tests/test-isnand-nolibm.c: factored most of its contents into
52479         new file tests/test-isnand.h.
52480         * tests/test-isnand.h: New file.
52481         * tests/test-isnand.c: New file.
52482         * MODULES.html.sh: Mention new module.
52483
52484 2008-07-10  Ben Pfaff  <blp@gnu.org>
52485
52486         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
52487         * lib/isnand.h: Rename lib/isnand-nolibm.h.
52488         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
52489         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
52490         * modules/isnanf-nolibm: Update references to renamed files.
52491         * modules/isnand-nolibm: Likewise.
52492         * modules/isnanf-nolibm-tests: Likewise.
52493         * modules/isnand-nolibm-tests: Likewise.
52494         * lib/frexp.c: Likewise.
52495         * lib/isfinite.c: Likewise.
52496         * lib/signbitd.c: Likewise.
52497         * lib/signbitf.c: Likewise.
52498         * lib/vasnprintf.c: Likewise.
52499         * tests/test-ceilf1.c: Likewise.
52500         * tests/test-ceilf2.c: Likewise.
52501         * tests/test-floorf1.c: Likewise.
52502         * tests/test-floorf2.c: Likewise.
52503         * tests/test-frexp.c: Likewise.
52504         * tests/test-round1.c: Likewise.
52505         * tests/test-round2.c: Likewise.
52506         * tests/test-roundf1.c: Likewise.
52507         * tests/test-strtod.c: Likewise.
52508         * tests/test-trunc1.c: Likewise.
52509         * tests/test-trunc2.c: Likewise.
52510         * tests/test-truncf1.c: Likewise.
52511         * tests/test-truncf2.c: Likewise.
52512         * NEWS: Mention the renamed header files.
52513
52514 2008-07-11  Jim Meyering  <meyering@redhat.com>
52515
52516         vc-list-files: make the last-resort awk code more portable
52517         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
52518         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
52519         does not support it.
52520
52521 2008-07-10  Eric Blake  <ebb9@byu.net>
52522
52523         Work with tar's bootstrap.
52524         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
52525         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
52526         an m4 comment.
52527
52528 2008-07-09  Jim Meyering  <meyering@redhat.com>
52529
52530         posix-shell.m4: fix typo that made this test malfunction
52531         * m4/posix-shell.m4: Remove capitalization in variable name.
52532
52533 2008-07-08  Bruno Haible  <bruno@clisp.org>
52534
52535         * m4/onceonly.m4: Update comments.
52536         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52537
52538 2008-07-04  Jim Meyering  <meyering@redhat.com>
52539
52540         * users.txt: Add vc-dwim.
52541         (bison, coreutils): Use the gitweb URL.
52542
52543 2008-07-03  Jim Meyering  <meyering@redhat.com>
52544
52545         * users.txt: Add libffcall.  From Sam Steingold.
52546
52547 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
52548
52549         getdate.y: do not ignore TZ with relative day, month or year offset
52550         * lib/getdate.y (get_date): Move the tz-handling block to follow the
52551         relative-date-handling, since otherwise, the latter would clobber the
52552         sole output (an updated Start value) of the tz-handling block.
52553         * tests/test-getdate.c: Tests for the fix
52554
52555 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52556
52557         Recognize 'foo_LIBRARIES += libgnu.a'.
52558         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
52559         makefile snippet has already specified an installation location,
52560         also using '+='.
52561
52562 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
52563
52564         getdate.y: factor out common actions
52565         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
52566         Use them in place of open-coded actions.
52567
52568 2008-07-01  Simon Josefsson  <simon@josefsson.org>
52569
52570         Add self-test for getdate module.
52571         * modules/getdate-tests: New file.
52572         * tests/test-getdate.c: New file.
52573
52574 2008-06-29  Bruno Haible  <bruno@clisp.org>
52575
52576         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
52577         .gitignore.
52578         Reported by Sylvain Beucler <beuc@beuc.net>.
52579
52580 2008-06-29  Bruno Haible  <bruno@clisp.org>
52581
52582         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
52583         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
52584
52585 2008-06-29  Bruno Haible  <bruno@clisp.org>
52586
52587         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
52588         EXTRA_DIST.
52589         Reported by Sylvain Beucler <beuc@beuc.net>.
52590
52591 2008-06-26  Jim Meyering  <meyering@redhat.com>
52592
52593         make several modules depend on the "open" module
52594         This provides slightly increased consistency when opening-for-write
52595         the name of a non-directory spelled with a trailing slash.
52596         * modules/chdir-safer: Likewise.
52597         * modules/chown: Likewise.
52598         * modules/clean-temp: Likewise.
52599         * modules/copy-file: Likewise.
52600         * modules/fchdir: Likewise.
52601         * modules/fcntl-safer: Likewise.
52602         * modules/pipe: Likewise.
52603         * modules/utime: Likewise.
52604         Prompted by Eric Blake and Bruno Haible.
52605
52606 2008-06-24  Andreas Schwab  <schwab@suse.de>
52607
52608         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
52609         literals can be used as initializers for global variables.
52610
52611 2008-06-23  Eric Blake  <ebb9@byu.net>
52612
52613         Make gnulib-cache.m4 easier to diff.
52614         * gnulib-tool (func_import): Allow newlines when reading cached
52615         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
52616
52617 2008-06-23  Bruno Haible  <bruno@clisp.org>
52618
52619         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
52620         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
52621         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
52622         m4/signalblocking.m4.
52623         (gl_PREREQ_SIGACTION): Don't invoke it.
52624         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
52625         gl_PREREQ_SIG_HANDLER_H.
52626         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52627         Don't check for sigaction here.
52628
52629 2008-06-23  Bruno Haible  <bruno@clisp.org>
52630
52631         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
52632         (install_handlers): Don't set the SA_RESETHAND flag.
52633
52634 2008-06-23  Bruno Haible  <bruno@clisp.org>
52635
52636         * m4/sigaction.m4: Comment fixes.
52637         * lib/signal.in.h: Likewise.
52638
52639 2008-06-23  Eric Blake  <ebb9@byu.net>
52640
52641         Fix typo.
52642         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
52643
52644         Avoid SA_ namespace.
52645         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
52646         Reported by Ralf Wildenhues.
52647
52648         Avoid test failure due to SA_RESTORER.
52649         * tests/test-sigaction.c (SA_MASK): New macro.
52650         (main): Avoid failing due to extension flags being set.
52651         Reported by Jim Meyering.
52652
52653         Revert use of sig-handler.h in sigprocmask.c.
52654         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
52655         it requires the existence of struct sigaction.
52656         * lib/sigprocmask.c (handler_t): Restore typedef.
52657         (rpl_signal, old_handlers): Use local type.
52658
52659 2008-06-22  Bruno Haible  <bruno@clisp.org>
52660
52661         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
52662         conditionally.
52663         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52664
52665 2008-06-22  Bruno Haible  <bruno@clisp.org>
52666
52667         * doc/posix-functions/siginterrupt.texi: Move note.
52668
52669         * lib/signal.in.h (SA_RESTART): New macro.
52670         * lib/sigaction.c: Update comment.
52671
52672         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
52673
52674         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
52675         (gl_PREREQ_SIGPROCMASK): Invoke it.
52676         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
52677
52678         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
52679
52680         * lib/sigprocmask.c: Update a comment.
52681
52682 2008-06-21  Eric Blake  <ebb9@byu.net>
52683
52684         Use sigaction module rather than signal().
52685         * modules/c-stack (Depends-on): Add sigaction.
52686         * modules/fatal-signal (Depends-on): Likewise.
52687         * modules/nanosleep (Depends-on): Likewise.
52688         * modules/sigprocmask (Files): Add sig-handler.h.
52689         * modules/sigaction (Files): Likewise.
52690         * lib/sig-handler.h (get_handler): New file, suggested by Paul
52691         Eggert.
52692         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
52693         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
52694         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
52695         (init_fatal_signals): Likewise.
52696         * lib/nanosleep.c (rpl_nanosleep): Likewise.
52697         (siginterrupt): Delete fallback.
52698         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
52699         instead.
52700         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
52701         siginterrupt.
52702
52703         New module sigaction, for mingw.
52704         * modules/sigaction: New module...
52705         * modules/sigaction-tests: ...and its test.
52706         * m4/sigaction.m4: New file.
52707         * lib/sigaction.c: Likewise.
52708         * tests/test-sigaction.c: Likewise.
52709         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
52710         * modules/signal (Makefile.am): Likewise.
52711         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
52712         needed.
52713         * doc/posix-headers/signal.texi (signal.h): Mention provided
52714         types.
52715         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
52716         that sigaction is preferable.
52717         * doc/posix-functions/sigaction.texi (sigaction): Mention new
52718         module.
52719         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52720         sigaction.
52721
52722         Improve robustness of sigprocmask by overriding signal.
52723         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
52724         is in use.
52725         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
52726         (SIGKILL, SIGSTOP): Provide fallbacks.
52727         (rpl_signal): Implement.
52728         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
52729         signal can be called inside handlers.
52730
52731         Fix nanosleep module on mingw.
52732         * modules/nanosleep (Depends-on): Add sys_select.
52733         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
52734
52735         Fix licensing of sigprocmask.
52736         * modules/raise (License): Relicense as LGPL.
52737
52738 2008-06-21  Bruno Haible  <bruno@clisp.org>
52739
52740         * lib/propername.c (proper_name_utf8): Don't use the transliterated
52741         result if it contains question marks.
52742         Reported by Michael Geng <linux@michaelgeng.de>.
52743
52744 2008-06-19  Bruno Haible  <bruno@clisp.org>
52745
52746         Fix CVS-ism.
52747         * doc/gnulib.texi: Include updated-stamp.texi.
52748         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
52749         (updated-stamp.texi): New rule.
52750         (gnulib.info): Depend on it.
52751         * doc/.gitignore: Add updated-stamp.texi.
52752         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
52753
52754 2008-06-19  Bruno Haible  <bruno@clisp.org>
52755
52756         * doc/Makefile (gnulib.info): Update and simplify dependencies.
52757         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52758
52759 2008-06-19  Eric Blake  <ebb9@byu.net>
52760
52761         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
52762         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
52763         Reported by Stepan Kasal.
52764
52765 2008-06-18  Bruno Haible  <bruno@clisp.org>
52766
52767         * lib/fatal-signal.c (init_fatal_signals): Add comment.
52768         Reported by Eric Blake.
52769
52770 2008-06-18  Eric Blake  <ebb9@byu.net>
52771
52772         Work around cygwin 1.5.25 strsignal bug.
52773         * tests/test-strsignal.c: Allow for const char *.
52774         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
52775
52776 2008-06-18  Simon Josefsson  <simon@josefsson.org>
52777
52778         * users.txt: Update URL to article and add author/date
52779         information.
52780
52781 2008-06-17  Bruno Haible  <bruno@clisp.org>
52782
52783         New macro gl_DISABLE_THREADS.
52784         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
52785         if the user did not pass --enable-threads or --disable-threads option.
52786         (gl_DISABLE_THREADS): New macro.
52787         Reported by Eric Blake <ebb9@byu.net>.
52788
52789 2008-06-17  Bruno Haible  <bruno@clisp.org>
52790
52791         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
52792         when the macro ignores it.
52793         Based on a patch by Eric Blake <ebb9@byu.net>.
52794
52795 2008-06-17  Bruno Haible  <bruno@clisp.org>
52796
52797         * modules/tls (License): Change to LGPLv2+.
52798         Reported by Eric Blake.
52799
52800 2008-06-17  Eric Blake  <ebb9@byu.net>
52801
52802         Simplify c-stack prerequisites.
52803         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
52804         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
52805         no longer requires <ucontext.h> to exist.  Optimize setrlimit
52806         check.
52807         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
52808         <sys/resource.h>.
52809
52810         Move c-stack test into testsuite.
52811         * modules/c-stack-tests: New file.
52812         * lib/c-stack.c [DEBUG]: Move test program...
52813         * tests/test-c-stack.c: ...into this new file.  Skip rather than
52814         fail test if sigaltstack is lacking.
52815         * tests/test-c-stack.sh: New driver file.
52816
52817 2008-06-16  Eric Blake  <ebb9@byu.net>
52818
52819         Use raise module consistently.
52820         * modules/fatal-signal (Depends-on): Add raise.
52821         * modules/sigprocmask (Depends-on): Likewise.
52822         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
52823         * lib/sigprocmask.c (sigprocmask): Likewise.
52824         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52825         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
52826
52827         Fix compliance bug in sigpending.
52828         * lib/sigprocmask.c (sigpending): Return pending array via
52829         parameter, not return value.
52830
52831 2008-06-14  Eric Blake  <ebb9@byu.net>
52832
52833         Improve obstack-printf test code.
52834         * tests/test-obstack-printf.c (test_function): Fix comment, and
52835         simplify usage of obstack_* in macros.  Add a test for coverage.
52836         Reported by Bruno Haible.
52837
52838 2008-06-14  Bruno Haible  <bruno@clisp.org>
52839
52840         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
52841         array size as a constant, not as a const variable.
52842         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
52843         AC_USE_SYSTEM_EXTENSIONS.
52844         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
52845         Test whether the obstack_printf function actually exists.
52846         * modules/obstack-printf (Depends-on): Add extensions.
52847         (Include): Remove obstack.h.
52848         * modules/obstack-printf-posix (Depends-on): Add extensions.
52849         (Include): Remove obstack.h.
52850
52851 2008-06-13  Eric Blake  <ebb9@byu.net>
52852
52853         Add obstack-printf and obstack-printf-posix modules.
52854         * modules/obstack-printf: New file.
52855         * modules/obstack-printf-posix: Likewise.
52856         * MODULES.html.sh (Misc): Mention them.
52857         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52858         Likewise.
52859         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52860         Likewise.
52861         * modules/stdio (Makefile.am): Accomodate new modules.
52862         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52863         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
52864         Declare.
52865         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
52866         functions.
52867         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
52868         (gl_REPLACE_OBSTACK_PRINTF): New macros
52869         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
52870         * tests/test-obstack-printf.c: New file.
52871         * modules/obstack-printf-tests: Likewise.
52872         * modules/obstack-printf-posix-tests: Likewise.
52873
52874 2008-06-11  Bruno Haible  <bruno@clisp.org>
52875
52876         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
52877         * lib/open.c: Include errno.h.
52878         (open): Fail when attempting to write to a file that has a trailing
52879         slash.
52880         * tests/test-open.c (main): Test against trailing slash bug.
52881         * doc/posix-functions/open.texi: Mention the trailing slash bug.
52882
52883 2008-06-10  Bruno Haible  <bruno@clisp.org>
52884
52885         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
52886         for $? to work inside the trap command, with various /bin/sh-s.
52887         * tests/test-vc-list-files-cvs.sh: Likewise.
52888
52889 2008-06-10  Bruno Haible  <bruno@clisp.org>
52890
52891         * lib/acl-internal.h: Don't include gettext.h here.
52892         * lib/set-mode-acl.c: Include gettext.h here.
52893         * lib/copy-acl.c: Likewise.
52894
52895 2008-06-10  Bruno Haible  <bruno@clisp.org>
52896
52897         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
52898         * lib/wait-process.c (wait_subprocess): Likewise.
52899         * lib/execute.h (execute): Add termsigp argument.
52900         * lib/execute.c (execute): Likewise.
52901         * lib/csharpcomp.c (compile_csharp_using_pnet,
52902         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
52903         * lib/csharpexec.c (execute_csharp_using_pnet,
52904         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
52905         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
52906         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
52907         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
52908         is_jikes_present): Update.
52909         * lib/javaexec.c (execute_java_class): Update.
52910         * lib/javaversion.c (execute_and_read_line): Update.
52911         * NEWS: Document the changes.
52912         Reported by Eric Blake.
52913
52914 2008-06-10  Eric Blake  <ebb9@byu.net>
52915
52916         Add missing include.
52917         * tests/test-strstr.c (includes): Add <signal.h>.
52918         * tests/test-strcasestr.c (includes): Likewise.
52919         * tests/test-memmem.c (includes): Likewise.
52920
52921 2008-06-10  Bruno Haible  <bruno@clisp.org>
52922
52923         * lib/wait-process.c (wait_subprocess): Add an assertion.
52924
52925 2008-06-10  Bruno Haible  <bruno@clisp.org>
52926
52927         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
52928
52929 2008-06-10  Bruno Haible  <bruno@clisp.org>
52930
52931         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
52932         using alarm().
52933         * tests/test-strcasestr.c (main): Likewise.
52934         * tests/test-strstr.c (main): Likewise.
52935
52936 2008-06-09  Bruno Haible  <bruno@clisp.org>
52937
52938         Work around the Solaris 10 ACE ACLs ABI change.
52939         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
52940         declare if ACL_NO_TRIVIAL is present.
52941         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
52942         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
52943         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
52944         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
52945         define if ACL_NO_TRIVIAL is present.
52946         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
52947         and use the current ABI.
52948         (file_has_acl): Use same #if condition as elsewhere.
52949         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
52950         in use, and use the current ABI.
52951         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
52952         Reported by Jim Meyering.
52953
52954 2008-06-09  Eric Blake  <ebb9@byu.net>
52955
52956         Work around environments that (stupidly) ignore SIGALRM.
52957         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
52958         before using alarm().
52959         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52960         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52961         Reported by Ian Beckwith <ianb@erislabs.net>.
52962
52963         Produce autobuild blurb earlier in log.
52964         * modules/autobuild (configure.ac-early): Move AB_INIT here.
52965
52966 2008-06-09  Jim Meyering  <meyering@redhat.com>
52967         and Ondřej Vašík  <ovasik@redhat.com>
52968
52969         utimens.c: correct kernel bug work-around
52970         Ondřej Vašík found that the invalid return value of 280 indicates
52971         failure, not success, and the kernel bug we're trying to work
52972         around affects not just the utimensat call, but also the fallback
52973         futimens call.
52974         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
52975         not success.
52976         [HAVE_FUTIMENS]: Use the same work-around, here.
52977
52978 2008-06-09  Jim Meyering  <meyering@redhat.com>
52979
52980         add more guards around definition of ACE_-related code
52981         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
52982         ALLOW and ACE_OWNER are also defined.
52983
52984 2008-06-08  Bruno Haible  <bruno@clisp.org>
52985
52986         * lib/acl-internal.h: Add me as co-author.
52987         * lib/file-has-acl.c: Likewise.
52988         * lib/set-mode-acl.c: Likewise.
52989         * lib/copy-acl.c: Likewise.
52990
52991 2008-06-08  Bruno Haible  <bruno@clisp.org>
52992
52993         Add support for AIX ACLs.
52994         * lib/acl-internal.h (acl_nontrivial): New declaration.
52995         * lib/file-has-acl.c (acl_nontrivial): New function.
52996         (file_has_acl): Add implementation using AIX 4 ACL API.
52997         * lib/set-mode-acl.c (qset_acl): Likewise.
52998         * lib/copy-acl.c (qcopy_acl): Likewise.
52999
53000 2008-06-08  Bruno Haible  <bruno@clisp.org>
53001
53002         Add support for HP-UX ACLs.
53003         * lib/acl-internal.h (acl_nontrivial): New declaration.
53004         * lib/file-has-acl.c (acl_nontrivial): New function.
53005         (file_has_acl): Add implementation using HP-UX 11 ACL API.
53006         * lib/set-mode-acl.c (qset_acl): Likewise.
53007         * lib/copy-acl.c (qcopy_acl): Likewise.
53008
53009 2008-06-08  Bruno Haible  <bruno@clisp.org>
53010
53011         Add support for Cygwin ACLs.
53012         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
53013         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
53014         the chmod_or_fchmod call.
53015         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
53016
53017 2008-06-08  Bruno Haible  <bruno@clisp.org>
53018
53019         Fix bug with setuid modes in Solaris 10+ code.
53020         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
53021         succeeded, when the mode contains some special bits.
53022
53023 2008-06-08  Bruno Haible  <bruno@clisp.org>
53024
53025         Add support for Solaris 7..10 ACLs.
53026         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
53027         declarations.
53028         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
53029         functions.
53030         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
53031         * lib/set-mode-acl.c (qset_acl): Likewise.
53032         * lib/copy-acl.c (qcopy_acl): Likewise.
53033
53034 2008-06-08  Bruno Haible  <bruno@clisp.org>
53035
53036         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
53037         declaration.
53038         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
53039         (acl_access_nontrivial): Remove MacOS X case.
53040         (file_has_acl): Use acl_extended_nontrivial.
53041         * lib/copy-acl.c (qcopy_acl): Likewise.
53042
53043 2008-06-08  Bruno Haible  <bruno@clisp.org>
53044
53045         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
53046
53047 2008-06-08  Jim Meyering  <meyering@redhat.com>
53048
53049         * modules/acl (Maintainer): Add Bruno Haible.
53050
53051 2008-06-07  Bruno Haible  <bruno@clisp.org>
53052
53053         Improve support for Tru64 ACLs.
53054         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
53055         ACL on OSF/1.
53056
53057 2008-06-07  Bruno Haible  <bruno@clisp.org>
53058
53059         Add support for MacOS X ACLs.
53060         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
53061         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
53062         * lib/set-mode-acl.c (qset_acl): Likewise.
53063         * lib/copy-acl.c (qcopy_acl): Likewise.
53064
53065 2008-06-07  Bruno Haible  <bruno@clisp.org>
53066
53067         Fix memory leak introduced on 2008-05-22.
53068         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
53069         use.
53070
53071 2008-06-07  Bruno Haible  <bruno@clisp.org>
53072
53073         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
53074         to construct an empty ACL.
53075
53076 2008-06-07  Bruno Haible  <bruno@clisp.org>
53077
53078         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
53079         precisely.
53080         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
53081
53082 2008-06-07  Bruno Haible  <bruno@clisp.org>
53083
53084         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
53085         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
53086
53087 2008-06-07  Bruno Haible  <bruno@clisp.org>
53088
53089         * doc/posix-functions/_setjmp.texi: Explain the use of this function
53090         regardless of POSIX.
53091         * doc/posix-functions/_longjmp.texi: Likewise.
53092         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
53093         SystemV platform in this case.
53094
53095 2008-06-06  Eric Blake  <ebb9@byu.net>
53096
53097         Document abort() bugs.
53098         * doc/posix-functions/abort.texi (abort): Mention anomalies.
53099
53100         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
53101         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
53102         sigsetjmp.
53103         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
53104         siglongjmp, but only as a macro.
53105         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
53106         is obsolete.
53107         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
53108
53109         Tweak documentation to cover cygwin argz bugs.
53110         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
53111         argz bug fix; no code change needed since no cygwin releases
53112         occurred between the last fix and the bug being tested.
53113         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
53114         module and recently fixed cygwin bugs.
53115         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
53116         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
53117         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
53118         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
53119         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
53120         Likewise.
53121         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
53122         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
53123         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
53124         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
53125         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
53126         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
53127         Likewise.
53128
53129         Avoid gcc warning on cygwin.
53130         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
53131         !ACL_NO_TRIVIAL]: Avoid unused variable.
53132
53133 2008-06-05  Eric Blake  <ebb9@byu.net>
53134
53135         Be tolerant of UNKNOWN version in gnulib-tool test dir.
53136         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
53137         git-version-gen fails to come up with a version.
53138         Reported by Simon Josefsson.
53139
53140 2008-06-05  Jim Meyering  <meyering@redhat.com>
53141             Paul Eggert  <eggert@cs.ucla.edu>
53142
53143         utimens.c: work around a probable Linux kernel bug
53144         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
53145         appears to be a kernel bug that causes utimensat to return 280
53146         instead of 0, indicating success.
53147
53148 2008-06-04  Bruno Haible  <bruno@clisp.org>
53149
53150         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
53151         2008-06-01 commit.
53152
53153 2008-06-04  Bruno Haible  <bruno@clisp.org>
53154
53155         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
53156         * lib/file-has-acl.c (acl_access_nontrivial): New function.
53157         (file_has_acl): Use it. Save errno afterwards.
53158         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
53159
53160 2008-06-03  Bruno Haible  <bruno@clisp.org>
53161
53162         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
53163         draft code. Simplify #ifs.
53164         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
53165         Put Solaris code after POSIX-draft code. Fix comments regarding
53166         Solaris 10, HP-UX. Mention Cygwin.
53167         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
53168
53169 2008-06-03  Eric Blake  <ebb9@byu.net>
53170
53171         Provide fallback for older kernels.
53172         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
53173         Provide runtime fallback if kernel lacks support.
53174         Reported by Mike Frysinger.
53175
53176 2008-06-02  Bruno Haible  <bruno@clisp.org>
53177
53178         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
53179         it exists.
53180
53181 2008-06-02  Bruno Haible  <bruno@clisp.org>
53182
53183         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
53184         * lib/copy-acl.c (qcopy_acl): Update comment.
53185
53186 2008-06-02  Bruno Haible  <bruno@clisp.org>
53187
53188         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
53189         like ACL APIs.
53190
53191 2008-06-02  Bruno Haible  <bruno@clisp.org>
53192
53193         * tests/test-file-has-acl.sh: Use different code for Cygwin.
53194         * tests/test-set-mode-acl.sh: Likewise.
53195         * tests/test-copy-acl.sh: Likewise.
53196         * tests/test-copy-file.sh: Likewise.
53197
53198 2008-06-02  Bruno Haible  <bruno@clisp.org>
53199
53200         * tests/test-file-has-acl.sh: Remove unused code.
53201
53202 2008-06-01  Bruno Haible  <bruno@clisp.org>
53203
53204         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
53205         (copy_acl): Just a wrapper around qcopy_acl that emits the error
53206         messages.
53207         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
53208
53209 2008-06-01  Bruno Haible  <bruno@clisp.org>
53210
53211         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
53212         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
53213         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
53214         APIs.
53215         * modules/acl-tests (configure.ac): Remove tests now contained in
53216         m4/acl.m4.
53217
53218 2008-06-02  Jim Meyering  <meyering@redhat.com>
53219
53220         announce-gen: use a better key-server host name
53221         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
53222         it may be more consistently reliable.  Suggested by Werner Koch
53223         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
53224
53225 2008-06-01  Bruno Haible  <bruno@clisp.org>
53226
53227         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
53228         Reported by Voroskoi Andras <voroskoi@gmail.com>.
53229
53230 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
53231
53232         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
53233
53234 2008-06-01  Bruno Haible  <bruno@clisp.org>
53235
53236         New ACL tests.
53237         * tests/test-file-has-acl.sh: New file.
53238         * tests/test-file-has-acl.c: New file.
53239         * tests/test-set-mode-acl.sh: New file.
53240         * tests/test-set-mode-acl.c: New file.
53241         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
53242         * tests/test-copy-acl.c: New file.
53243         * modules/acl-tests: New file, based on modules/copy-file-tests.
53244         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
53245         (Depends-on): Add acl-tests.
53246         (configure.ac): Remove checks.
53247         (Makefile.am): Don't create test-sameacls program here any more.
53248
53249 2008-06-01  Bruno Haible  <bruno@clisp.org>
53250
53251         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
53252         * tests/test-sameacls.c: Include progname.h.
53253         (main): Invoke set_program_name. Portability fixes for MacOS X,
53254         Solaris, HP-UX.
53255
53256 2008-06-01  Bruno Haible  <bruno@clisp.org>
53257
53258         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
53259         function.
53260         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
53261
53262 2008-06-01  Bruno Haible  <bruno@clisp.org>
53263
53264         * modules/rpmatch (Depends-on): Add strdup.
53265
53266 2008-06-01  Bruno Haible  <bruno@clisp.org>
53267
53268         * lib/pipe.c: Include unistd-safer.h.
53269         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
53270         * modules/pipe (Depends-on): Add unistd-safer.
53271
53272 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53273
53274         * modules/autobuild (configure.ac): Call AB_INIT.
53275
53276 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53277
53278         * tests/test-getaddrinfo.c: Don't print debug messages by default.
53279         Suggested by Bruno Haible <bruno@clisp.org>.
53280
53281 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53282
53283         * tests/test-base64.c: Cast size_t to unsigned long when invoking
53284         printf.  Use %lu instead of %d.  Reported by Bruno Haible
53285         <bruno@clisp.org>.
53286
53287 2008-05-29  Eric Blake  <ebb9@byu.net>
53288
53289         Prefer new POSIX 200x interfaces over futimesat.
53290         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
53291         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
53292         when available.
53293         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
53294
53295 2008-05-28  Bruno Haible  <bruno@clisp.org>
53296
53297         * modules/stpcpy (License): Change to LGPLv2+.
53298         Requested by David Lutterkort <dlutter@redhat.com>.
53299
53300 2008-05-27  Bruno Haible  <bruno@clisp.org>
53301
53302         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
53303         current mingw.
53304         Reported by Jose E. Marchesi <jemarch@gnu.org>.
53305
53306 2008-05-27  Bruno Haible  <bruno@clisp.org>
53307
53308         * modules/iconv_open (Link): New section, from module 'iconv'.
53309         * modules/striconv (Link): Likewise.
53310         * modules/striconveh (Link): Likewise.
53311         * modules/xstriconv (Link): Likewise.
53312         * modules/unicodeio (Link): Likewise.
53313         * modules/propername (Link): Likewise.
53314         Reported by Jim Meyering.
53315
53316 2008-05-26  Jim Meyering  <meyering@redhat.com>
53317
53318         sha256: do not artificially restrict buffer length to be < 2^32
53319         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
53320         uint32_t to size_t.
53321         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
53322         to match.
53323
53324         avoid unaligned access errors, e.g., on sparc
53325         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
53326         direct access through a possibly-unaligned uint64* pointer.
53327         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
53328         direct access through a possibly-unaligned uint32* pointer.
53329         Prompted by this patch from Tom "spot" Callaway:
53330         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
53331
53332         sha512.c: fix typo in comment
53333         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
53334
53335 2008-05-25  Bruno Haible  <bruno@clisp.org>
53336
53337         * lib/set-mode-acl.c: Renamed from lib/acl.c.
53338         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
53339         (Makefile.am): Update lib_SOURCES.
53340
53341 2008-05-25  Bruno Haible  <bruno@clisp.org>
53342
53343         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
53344
53345 2008-05-25  Jim Meyering  <meyering@redhat.com>
53346
53347         useless-if-before-free: freed expr may have white-space differences
53348         * build-aux/useless-if-before-free: Recognize cases in which the
53349         freed expression differs from the tested one in embedded white
53350         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
53351         $1 was used, so we can't make any regexp shy.  Improved tests now
53352         detect this.
53353
53354         useless-if-before-free: accept white space in the expression.
53355         * build-aux/useless-if-before-free: For now, any white space
53356         in the expression must be identical in the free argument.
53357
53358         useless-if-before-free: efficiency tweak
53359         * build-aux/useless-if-before-free: Make the expression-matching
53360         regexp "shy".
53361         Make the *outer* regexp shy, not the expr-matching one.
53362
53363         update code-in-comment to accept cast of free arg
53364         * build-aux/useless-if-before-free: Update regexp.
53365
53366 2008-05-25  Bruno Haible  <bruno@clisp.org>
53367
53368         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
53369         * modules/copy-file-tests (Files, Makefile.am): Update.
53370         * tests/test-copy-file.c (func_test_copy): Update.
53371
53372 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
53373
53374         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
53375
53376 2008-05-23  Bruno Haible  <bruno@clisp.org>
53377
53378         Improve support for ACLs on OSF/1.
53379         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
53380         Remove fallback for unknown flavors of ACLs.
53381
53382 2008-05-22  Bruno Haible  <bruno@clisp.org>
53383
53384         Add support for ACLs on OSF/1.
53385         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
53386         replacements.
53387         (acl_free_text): New macro fallback.
53388         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
53389         acl_free.
53390         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
53391         acl_free_text function. Require AC_C_INLINE.
53392
53393 2008-05-22  Bruno Haible  <bruno@clisp.org>
53394
53395         Make copy_acl work on MacOS X 10.5.
53396         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
53397         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
53398         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
53399         If MODE_INSIDE_ACL, don't assume that every system has the same text
53400         representation for ACLs as FreeBSD.
53401         * lib/copy-acl.c (copy_acl): Add support for platforms with
53402         !MODE_INSIDE_ACL.
53403         * lib/file-has-acl.c (file_has_acl): Likewise.
53404         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
53405         FreeBSD, MacOS X, or IRIX, respectively.
53406
53407 2008-05-22  Bruno Haible  <bruno@clisp.org>
53408
53409         * lib/acl.h: Don't include <sys/acl.h>.
53410         (GETACLCNT): Move fallback to lib/acl-internal.h.
53411         * lib/acl-internal.h: Include <sys/acl.h> here.
53412         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
53413
53414 2008-05-22  Bruno Haible  <bruno@clisp.org>
53415
53416         Split off copy_acl function to separate file.
53417         * lib/copy-acl.c: New file, extracted from lib/acl.c.
53418         * lib/acl.c (copy_acl): Moved function to separate file.
53419         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
53420         * modules/acl (Files): Add lib/copy-acl.c.
53421         (Makefiles.am): Augment lib_SOURCES.
53422
53423 2008-05-22  Bruno Haible  <bruno@clisp.org>
53424
53425         * modules/copy-file-tests: New file.
53426         * tests/test-copy-file.sh: New file.
53427         * tests/test-copy-file.c: New file.
53428         * tests/test-copy-file-sameacls.c: New file.
53429
53430 2008-05-22  Eric Blake  <ebb9@byu.net>
53431
53432         Avoid gcc warning.
53433         * tests/test-memcmp.c (main): Pass NULL indirectly.
53434
53435 2008-05-21  Bruno Haible  <bruno@clisp.org>
53436
53437         Add reference doc about ACLs.
53438         * doc/acl-resources.txt: New file.
53439         * doc/acl-cygwin.txt: New file.
53440
53441 2008-05-21  Bruno Haible  <bruno@clisp.org>
53442
53443         Avoid one more warning from gcc.
53444         * lib/vasnprintf.c (IF_LINT): Update comments.
53445         (VASNPRINTF): Use it also for the 'prefix' array initializer.
53446
53447 2008-05-21  Jim Meyering  <meyering@redhat.com>
53448
53449         avoid a warning from gcc
53450         * lib/vasnprintf.c (IF_LINT): Define.
53451         (scale10_round_decimal_long_double):
53452         Use it to avoid a "may be used uninitialized" warning.
53453         (scale10_round_decimal_double): Likewise.
53454
53455 2008-05-21  Simon Josefsson  <simon@josefsson.org>
53456
53457         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
53458         declared.
53459
53460 2008-05-20  Bruno Haible  <bruno@clisp.org>
53461
53462         * tests/test-memcmp.c (main): Test also the sign of the result. Test
53463         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
53464
53465 2008-05-20  Simon Josefsson  <simon@josefsson.org>
53466
53467         * modules/memcmp-tests: New file.
53468         * tests/test-memcmp.c: New file.
53469
53470 2008-05-19  Bruno Haible  <bruno@clisp.org>
53471
53472         * modules/propername (Notice, configure.ac): Put quoted "..." into
53473         --keyword option.
53474         * lib/propername.h: Update comments accordingly.
53475         Reported by Eric Blake.
53476
53477 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
53478
53479         * modules/getpass-gnu (Depends-on): Add fseeko.
53480
53481 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53482
53483         * modules/base64-tests: New file.
53484
53485 2008-05-19  Bo Borgerson <gigabo@gmail.com>
53486
53487         * lib/base64.c (base64_decode_ctx): If a decode context structure
53488         was passed in use it to ignore newlines.  If a context structure
53489         was _not_ passed in, continue to treat newlines as garbage (this
53490         is the historical behavior).  Formerly base64_decode.
53491         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53492         takes a decode context structure.
53493         * lib/base64.h (base64_decode): Macro for four-argument calls.
53494         (base64_decode_alloc): Likewise.
53495         * lib/base64.c (base64_decode_ctx): If a decode context structure
53496         was passed in use it to ignore newlines.  If a context structure
53497         was _not_ passed in, continue to treat newlines as garbage (this
53498         is the historical behavior).  Formerly base64_decode.
53499         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53500         takes a decode context structure.
53501         * lib/base64.h (base64_decode): Macro for four-argument calls.
53502         (base64_decode_alloc): Likewise.
53503
53504 2008-05-19  Jim Meyering  <meyering@redhat.com>
53505
53506         avoid a warning from gcc
53507         * lib/trim.c (IF_LINT): Define.
53508         (trim2): Use it to avoid a "may be used uninitialized" warning.
53509
53510         Fix doc typo.
53511         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
53512
53513 2008-05-19  Bruno Haible  <bruno@clisp.org>
53514
53515         * doc/glibc-functions/getpass.texi: Document limits of other
53516         implementations.
53517
53518 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53519             Bruno Haible <bruno@clisp.org>
53520
53521         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
53522
53523 2008-05-18  Bruno Haible  <bruno@clisp.org>
53524
53525         * modules/propername: New file, from GNU gettext.
53526         * lib/propername.h: New file, from GNU gettext.
53527         * lib/propername.c: New file, from GNU gettext.
53528         * MODULES.html.sh (Internationalization functions): Add propername.
53529
53530 2008-05-16  Jim Meyering  <meyering@redhat.com>
53531             Bruno Haible  <bruno@clisp.org>
53532
53533         Avoid some warnings from "gcc -Wshadow".
53534         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
53535
53536 2008-05-15  Eric Blake  <ebb9@byu.net>
53537
53538         Extend previous patch to cygwin 1.7.0.
53539         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
53540         fast implementation in cygwin >= 1.7.0.
53541         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53542         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53543
53544 2008-05-15  Bruno Haible  <bruno@clisp.org>
53545
53546         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
53547         implementation in glibc >= 2.9.
53548         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53549         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53550
53551 2008-05-15  Bruno Haible  <bruno@clisp.org>
53552
53553         * MODULES.html.sh (Internationalization functions): Remove linebreak.
53554         (Unicode string functions): Add unilbrk/*.
53555         Reported by Karl Berry.
53556
53557 2008-05-15  Eric Blake  <ebb9@byu.net>
53558
53559         Fix violation of <stdbool.h> replacement in regex.
53560         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
53561         * lib/regexec.c (re_search_internal): Likewise.
53562         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
53563
53564 2008-05-15  Jim Meyering  <meyering@redhat.com>
53565
53566         avoid distracting test output when git or cvs is not found
53567         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
53568         * tests/test-vc-list-files-git.sh: Likewise.
53569
53570 2008-05-15  Eric Blake  <ebb9@byu.net>
53571
53572         Glibc finally accepted the memmem speedup code, bugzilla #5514.
53573         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
53574         glibc version.
53575         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
53576         * doc/posix-functions/strstr.texi (strstr): Likewise.
53577         * lib/str-two-way.h (MAX): Sychronize with glibc.
53578
53579 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
53580
53581         * lib/regcomp.c (optimize_utf8): Add a note on why we test
53582         opr.ctx_type.
53583         (calc_first): Initialize constraint field.
53584         (duplicate_node_closure): Use it instead of special casing ANCHORS.
53585         Fix grammar.
53586         (duplicate_node): Merge constraint field for all node types.
53587         (calc_eclosure_iter): Look at constraint field for all node types.
53588         * lib/regex_internal.c (create_cd_newstate): Don't look at
53589         opr.ctx_type.
53590
53591 2008-05-14  Bruno Haible  <bruno@clisp.org>
53592
53593         Help GCC to do better code generation.
53594         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
53595         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
53596         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
53597         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
53598         Declare with attribute 'malloc' if supported.
53599
53600 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
53601
53602         use "echo STR|wc -c" rather than unportable "expr length STR"
53603         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
53604         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
53605
53606 2008-05-14  Jim Meyering  <meyering@redhat.com>
53607
53608         use dd ibs=$n count=1 ... rather than less-portable head -c$n
53609         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
53610         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
53611         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
53612         via Collin Lasse.
53613
53614 2008-05-14  Eric Blake  <ebb9@byu.net>
53615
53616         Avoid quadratic growth in gl_LIBSOURCES.
53617         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
53618         Suggested by Bruno Haible.
53619
53620         Test xmemdup0.
53621         * modules/xmemdup0-tests: New file.
53622         * tests/test-xmemdup0.c: Likewise.
53623
53624 2008-05-13  Eric Blake  <ebb9@byu.net>
53625
53626         Split xmemdup0 into its own module.
53627         * modules/xmemdup0: New file.
53628         * lib/xmemdup0.h: Likewise.
53629         * lib/xmemdup0.c: Likewise.
53630         * MODULES.html.sh (Memory management functions): Add xmemdup0.
53631         * lib/xalloc.h (xmemdup0): Remove.
53632         * lib/xmalloc.c (xmemdup0): Likewise.
53633
53634 2008-05-13  Eric Blake  <ebb9@byu.net>
53635             Bruno Haible  <bruno@clisp.org>
53636
53637         Reduce number of forks required during autoconf.
53638         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
53639         and gl_LIBSOURCES_DIR.
53640         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
53641         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
53642         m4_syscmd per file.
53643         <m4_foreach_w>: Move...
53644         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
53645
53646 2008-05-13  Eric Blake  <ebb9@byu.net>
53647
53648         * gnulib-tool: Fix various comment typos.
53649
53650 2008-05-12  Bruno Haible  <bruno@clisp.org>
53651
53652         Tailor the linebreaking algorithm.
53653         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
53654
53655 2008-05-12  Bruno Haible  <bruno@clisp.org>
53656
53657         Update to Unicode 5.0.0.
53658         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53659         LBP_JV, LBP_JT. Redistribute values.
53660         (unilbrk_table): Change size.
53661         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
53662         Unicode TR#14 rev. 22.
53663         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53664         LBP_JV, LBP_JT. Redistribute values.
53665         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
53666         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
53667         Update.
53668         * lib/unilbrk/lbrkprop1.h: Regenerated.
53669         * lib/unilbrk/lbrkprop2.h: Regenerated.
53670         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
53671         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
53672         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
53673         Likewise.
53674         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
53675         Likewise.
53676         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
53677         result.
53678         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
53679         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
53680         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
53681         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
53682         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
53683         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
53684
53685 2008-05-11  Bruno Haible  <bruno@clisp.org>
53686
53687         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
53688
53689 2008-05-11  Bruno Haible  <bruno@clisp.org>
53690
53691         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
53692         * modules/unilbrk/gen-lbrk: New file.
53693
53694 2008-05-11  Bruno Haible  <bruno@clisp.org>
53695
53696         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
53697         * m4/sha512.m4 (gl_SHA512): Likewise.
53698
53699 2008-05-11  Jim Meyering  <meyering@redhat.com>
53700
53701         New modules: crypto/sha256, crypto/sha512 (from coreutils)
53702         * modules/crypto/sha256: New file.
53703         * modules/crypto/sha512: Likewise.
53704         * lib/sha256.c: Likewise.
53705         * lib/sha256.h: Likewise.
53706         * lib/sha512.c: Likewise.
53707         * lib/sha512.h: Likewise.
53708         * lib/u64.h: Likewise.
53709         * m4/sha256.m4: Likewise.
53710         * m4/sha512.m4: Likewise.
53711         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
53712
53713 2008-05-10  Bruno Haible  <bruno@clisp.org>
53714
53715         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
53716         (Input/Output <stdio.h>): Add xprintf.
53717         (Signal handling <signal.h>): Add strsignal.
53718         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
53719         (Core language properties): Add func.
53720         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
53721         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
53722         strings.
53723         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
53724         (Input/output): New section.
53725         (File system functions): Add openat-die, stat-macros.
53726         (Networking functions): Add sockets.
53727         (Unicode string functions): Add unictype/*.
53728         (Support for building libraries and executables): Add gperf.
53729         (Support for building documentation): Add agpl-3.0.
53730         (Misc): Add nocrash.
53731
53732 2008-05-10  Bruno Haible  <bruno@clisp.org>
53733
53734         * modules/unictype/gen-ctype: New file.
53735
53736 2008-05-10  Jim Meyering  <meyering@redhat.com>
53737
53738         Make chdir-safer.c more efficient on a system with no symlinks.
53739         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
53740         also if ELOOP is zero.  Suggested by Bruno Haible.
53741
53742         Make chdir-safer.c slightly safer.
53743         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
53744         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
53745
53746         Avoid compile failure on systems without ELOOP (like mingw).
53747         * lib/chdir-safer.c (ELOOP): Define if not already defined.
53748         Reported by Bruno Haible.
53749
53750 2008-05-10  Bruno Haible  <bruno@clisp.org>
53751
53752         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
53753         (is_utf8_encoding): Use a case-insensitive comparison.
53754         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
53755         streq.
53756
53757 2008-05-10  Bruno Haible  <bruno@clisp.org>
53758
53759         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
53760         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
53761         * lib/unilbrk/ulc-common.h (iconv_string_length,
53762         iconv_string_keeping_offsets): Remove declarations.
53763         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
53764         Don't include <iconv.h>, streq.h, xsize.h.
53765         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
53766         conversion.
53767         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
53768         <iconv.h>, streq.h, xsize.h.
53769         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
53770         conversion.
53771         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
53772         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
53773         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
53774         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
53775
53776 2008-05-10  Bruno Haible  <bruno@clisp.org>
53777
53778         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
53779         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
53780
53781         * modules/unilbrk/u32-width-linebreaks-tests: New file.
53782         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
53783
53784         * modules/unilbrk/u16-width-linebreaks-tests: New file.
53785         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
53786
53787         * modules/unilbrk/u8-width-linebreaks-tests: New file.
53788         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
53789
53790         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
53791         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
53792
53793         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
53794         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
53795
53796         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
53797         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
53798
53799         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
53800         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
53801
53802 2008-05-10  Bruno Haible  <bruno@clisp.org>
53803
53804         Split up 'linebreak' module.
53805         * lib/unilbrk.h: New file, based on lib/linebreak.h.
53806         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
53807         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
53808         modifications.
53809         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
53810         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
53811         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
53812         lib/linebreak.c.
53813         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
53814         lib/linebreak.c.
53815         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
53816         lib/linebreak.c.
53817         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
53818         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
53819         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
53820         lib/linebreak.c.
53821         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
53822         lib/linebreak.c.
53823         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
53824         lib/linebreak.c.
53825         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
53826         lib/linebreak.c.
53827         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
53828         lib/linebreak.c.
53829         * modules/unilbrk/base: New file.
53830         * modules/unilbrk/tables: New file.
53831         * modules/unilbrk/u8-possible-linebreaks: New file.
53832         * modules/unilbrk/u16-possible-linebreaks: New file.
53833         * modules/unilbrk/u32-possible-linebreaks: New file.
53834         * modules/unilbrk/ulc-common: New file.
53835         * modules/unilbrk/ulc-possible-linebreaks: New file.
53836         * modules/unilbrk/u8-width-linebreaks: New file.
53837         * modules/unilbrk/u16-width-linebreaks: New file.
53838         * modules/unilbrk/u32-width-linebreaks: New file.
53839         * modules/unilbrk/ulc-width-linebreaks: New file.
53840         * lib/linebreak.h: Remove file.
53841         * lib/linebreak.c: Remove file.
53842         * m4/linebreak.m4: Remove file.
53843         * modules/linebreak: Remove file.
53844         * NEWS: Mention the changes.
53845
53846 2008-05-09  Eric Blake  <ebb9@byu.net>
53847
53848         Add xmemdup0.
53849         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
53850         implementation.
53851         * lib/xmalloc.c (xmemdup0): New C implementation.
53852
53853 2008-05-08  Bruno Haible  <bruno@clisp.org>
53854
53855         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
53856
53857 2008-05-07  Eric Blake  <ebb9@byu.net>
53858
53859         Support cross-compilation of <wctype.h>.
53860         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
53861         AC_CACHE_CHECK.
53862
53863 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
53864
53865         * build-aux/vc-list-files: Add support for bzr.
53866
53867 2008-05-03  Jim Meyering  <meyering@redhat.com>
53868
53869         avoid failed assertion with tight malloc
53870         * tests/test-getndelim2.c: Correct an off-by-one assertion.
53871
53872 2008-05-03  Simon Josefsson  <simon@josefsson.org>
53873
53874         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
53875         are needed from arpa/inet.h.
53876         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
53877         Reported by Bruno Haible.
53878
53879 2008-05-02  Jim Meyering  <meyering@redhat.com>
53880
53881         avoid compilation error on FreeBSD 6
53882         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
53883
53884 2008-05-01  Jim Meyering  <meyering@redhat.com>
53885
53886         useless-if-before-free: correct --help's exit status description
53887         * build-aux/useless-if-before-free (usage): Like grep, exit 0
53888         for one or more matches, etc.  Reported by Bruno Haible.
53889
53890         vc-list-files: make the stand-alone gnulib test work
53891         * modules/vc-list-files-tests (configure.ac):
53892         Define and AC_SUBST abs_aux_dir.
53893         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
53894         $(abs_top_srcdir) to each script and having each of them
53895         duplicate the work of setting PATH, set PATH here, using
53896         the new variable, abs_aux_dir instead.
53897         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
53898         * tests/test-vc-list-files-git.sh: Likewise.
53899         Reported by Bruno Haible.
53900
53901 2008-05-01  Bruno Haible  <bruno@clisp.org>
53902
53903         * lib/getndelim2.c (getndelim2): Fix newsize computation during
53904         reallocation. Rename 'done' to 'found_delimiter'.
53905
53906 2008-05-01  Jim Meyering  <meyering@redhat.com>
53907
53908         vc-list-files: accommodate /bin/sh like the one from Solaris 10
53909         * build-aux/vc-list-files: Use `...`, not $(...).
53910
53911 2008-04-30  Jim Meyering  <meyering@redhat.com>
53912
53913         add tests for vc-list-files
53914         * modules/vc-list-files-tests: New module.
53915         * tests/test-vc-list-files-cvs.sh: New file.
53916         * tests/test-vc-list-files-git.sh: New file.
53917
53918         avoid a warning from gcc
53919         * lib/getndelim2.c (IF_LINT): Define.
53920         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
53921
53922         vc-list-files: work properly with build-aux/cvsu, too
53923         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
53924         to all cvs-based clauses.
53925
53926         vc-list-files: work properly in the CVS+awk case, too
53927         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
53928
53929         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
53930         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
53931         take more than one file argument, so .  Add quotes, just in case $dir
53932         ever contains a shell meta-character.  Prompted by Soren Hansen in
53933         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
53934
53935 2008-04-29  Eric Blake  <ebb9@byu.net>
53936
53937         Optimize getndelim2 to use block operations when possible.
53938         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
53939         freadseek, and memchr2.
53940         * lib/getndelim2.c (getndelim2): Use them for block reads.
53941
53942 2008-04-29  Bruno Haible  <bruno@clisp.org>
53943
53944         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
53945         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53946         * modules/inet_ntop (Depends-on): Add extensions.
53947         * modules/inet_pton (Depends-on): Likewise.
53948         Reported by Simon Josefsson.
53949
53950 2008-04-29  Jim Meyering  <meyering@redhat.com>
53951
53952         When the is more than one match in a block, match all of them.
53953         * build-aux/useless-if-before-free: Iterate through each block
53954         until there are no more matches.
53955
53956         Fix broken useless-if-before-free script.
53957         * build-aux/useless-if-before-free: Fix typo: missing "?" after
53958         the expression to match cast of argument to free-like function.
53959
53960 2008-04-29  Eric Blake  <ebb9@byu.net>
53961
53962         Use new header.
53963         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
53964
53965 2008-04-29  Jim Meyering  <meyering@redhat.com>
53966
53967         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
53968         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
53969         by gnulib to exist and to declare e.g., inet_ntop.
53970         Don't include "inet_ntop.h", now removed.
53971
53972         * m4/arpa_inet_h.m4: Remove trailing blanks.
53973
53974 2008-04-29  Eric Blake  <ebb9@byu.net>
53975
53976         Silence valgrind on safe reads beyond potential array bounds.
53977         * lib/rawmemchr.valgrind: New file.
53978         * lib/strchrnul.valgrind: Likewise.
53979         * modules/rawmemchr (Files): Distribute new file.
53980         * modules/strchrnul (Files): Likewise.
53981         Suggested by Bruno Haible.
53982
53983 2008-04-29  Bruno Haible  <bruno@clisp.org>
53984
53985         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
53986         (inet_ntop, inet_pton): Change portability warning's wording.
53987         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
53988         Invoke gl_CHECK_NEXT_HEADERS.
53989         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
53990         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
53991         set ARPA_INET_H.
53992         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53993         * modules/arpa_inet (Description): No longer only for systems that
53994         lack it.
53995         (Depends-on): Add include_next.
53996         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
53997         HAVE_ARPA_INET_H.
53998
53999 2008-04-29  Jim Meyering  <meyering@redhat.com>
54000
54001         * modules/mkdir (License): Re-license as LGPLv2+.
54002
54003 2008-04-29  Bruno Haible  <bruno@clisp.org>
54004
54005         * modules/rawmemchr (Maintainer): Set to Eric.
54006         * modules/strchrnul (Maintainer): Likewise.
54007
54008 2008-04-29  Simon Josefsson  <simon@josefsson.org>
54009
54010         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
54011         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
54012
54013         * modules/arpa_inet (arpa/inet.h): Use them.
54014
54015 2008-04-28  Eric Blake  <ebb9@byu.net>
54016
54017         Test getndelim2.
54018         * modules/getndelim2-tests: New file.
54019         * tests/test-getndelim2.c: Likewise.
54020         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
54021         stream.
54022         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
54023
54024         * MODULES.html.sh: Document new module.
54025
54026 2008-04-20  Bruno Haible  <bruno@clisp.org>
54027
54028         * lib/c-stack.c (die): Use raise.
54029         * modules/c-stack (Depends-on): Add raise.
54030
54031 2008-04-28  Bruno Haible  <bruno@clisp.org>
54032
54033         Expect rpmatch to be declared.
54034         * lib/yesno.c (rpmatch): Remove declaration.
54035
54036         Declare rpmatch.
54037         * lib/stdlib.in.h (rpmatch): New declaration.
54038         * lib/rpmatch.c: Include <stdlib.h> first.
54039         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
54040         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
54041         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
54042         HAVE_RPMATCH.
54043         * modules/rpmatch (Depends-on): Add stdlib, extensions.
54044         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54045         (Include): Set to <stdlib.h>.
54046         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
54047         HAVE_RPMATCH.
54048         * NEWS: Document the change.
54049
54050 2008-04-28  Bruno Haible  <bruno@clisp.org>
54051
54052         Change rpmatch to use nl_langinfo when appropriate.
54053         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
54054         (N_): New macro.
54055         (localized_pattern): New function/macro.
54056         (try): Remove match, nomatch arguments. Copy the pattern into safe
54057         memory before caching it.
54058         (rpmatch): Use localized_pattern. Add translator comments.
54059         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
54060         Suggested by Eric Blake.
54061         * modules/rpmatch (Depends-on): Add stdbool.
54062
54063 2008-04-28  Eric Blake  <ebb9@byu.net>
54064
54065         Add rawmemchr module, matching glibc.
54066         * modules/string (Makefile.am): New indicator.
54067         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
54068         * lib/string.in.h (rawmemchr): Declare when appropriate.
54069         * modules/rawmemchr: New file.
54070         * m4/rawmemchr.m4: Likewise.
54071         * lib/rawmemchr.c: Likewise.
54072         * modules/rawmemchr-tests: Likewise.
54073         * tests/test-rawmemchr.c: Likewise.
54074         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
54075         module.
54076         * modules/strchrnul (Depends-on): Add rawmemchr.
54077         * lib/strchrnul.c (strchrnul): Optimize a corner case.
54078
54079         Whitespace cleanup.
54080         * tests/test-strchrnul.c: Reindent.
54081         * lib/strchrnul.c: Likewise.
54082
54083         Optimize and test strchrnul.
54084         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
54085         * modules/strchrnul-tests: New file.
54086         * tests/test-strchrnul.c: Likewise.
54087
54088         Remove intprops dependency.
54089         * modules/memchr (Depends-on): Remove intprops.
54090         * modules/memrchr (Depends-on): Likewise.
54091         * modules/memchr2 (Depends-on): Likewise.
54092         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
54093         * lib/memrchr.c (__memrchr): Likewise.
54094         * lib/memrchr2.c (memchr2): Likewise.
54095         Reported by Simon Josefsson.
54096
54097 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54098
54099         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
54100         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54101
54102 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54103
54104         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
54105
54106         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
54107
54108         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
54109
54110         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
54111         declarations.
54112         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
54113
54114         * m4/inet_pton.m4: Don't check for header files.
54115
54116         * m4/inet_ntop.m4: Don't check for header files.
54117
54118 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54119
54120         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
54121         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
54122         trigger for cygwin).
54123         Reported by Bruno Haible  <bruno@clisp.org>.
54124
54125 2008-04-28  Bruno Haible  <bruno@clisp.org>
54126
54127         * doc/posix-functions/strdup.texi: Mention mingw problem.
54128
54129 2008-04-27  Bruno Haible  <bruno@clisp.org>
54130
54131         * modules/stat-time-tests (Depends-on): Add sleep.
54132         * tests/test-stat-time.c (force_unlink): New function.
54133         (cleanup): Use it.
54134         (test_mtime): Remove the ctime related tests.
54135         (test_ctime): New function, containing the ctime related tests.
54136         (main): Call test_ctime, except on native Windows platforms.
54137
54138 2008-04-27  Bruno Haible  <bruno@clisp.org>
54139
54140         * lib/rpmatch.c (rpmatch): Add some comments.
54141         Reported by James Youngman <jay@gnu.org>.
54142
54143 2008-04-27  Bruno Haible  <bruno@clisp.org>
54144
54145         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
54146         quiet NaNs.
54147
54148 2008-04-27  Bruno Haible  <bruno@clisp.org>
54149
54150         Make test-yesno.sh work on mingw.
54151         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
54152         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
54153         (main): Set stdin to binary mode.
54154         * modules/yesno-tests (Depends-on): Add binary-io.
54155
54156 2008-04-27  Bruno Haible  <bruno@clisp.org>
54157
54158         Fix 'isfinite' on x86, x86_64, ia64 platforms.
54159         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
54160         argument that lie outside the IEEE 854 domain.
54161         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
54162         (gl_ISFINITE): Use it.
54163         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
54164
54165 2008-04-27  Bruno Haible  <bruno@clisp.org>
54166
54167         Allow local renaming in config.h.
54168         * lib/memrchr.c (memrchr): Don't undefine outside libc.
54169
54170 2008-04-27  Bruno Haible  <bruno@clisp.org>
54171
54172         * lib/memchr.c (__memchr): Change type of 'i'.
54173         * lib/memchr2.c (memchr2): Likewise.
54174
54175 2008-04-26  Eric Blake  <ebb9@byu.net>
54176         and Bruno Haible  <bruno@clisp.org>
54177
54178         Optimize and test memrchr.
54179         * modules/memrchr (Depends-on): Add intprops.
54180         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
54181         * modules/memrchr-tests: New file.
54182         * tests/test-memrchr.c: New file.
54183
54184 2008-04-26  Bruno Haible  <bruno@clisp.org>
54185
54186         Add tentative support for DragonFly BSD.
54187         * lib/stdio-impl.h: Add macros for DragonFly BSD.
54188         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
54189         fp.
54190         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54191         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
54192         * lib/fpurge.c (fpurge): Likewise.
54193         * lib/freadable.c (freaadable): Likewise.
54194         * lib/freadahead.c (freadahead): Likewise.
54195         * lib/freading.c (freading): Likewise.
54196         * lib/freadptr.c (freadptr): Likewise.
54197         * lib/freadseek.c (freadptrinc): Likewise.
54198         * lib/fseeko.c (fseeko): Likewise.
54199         * lib/fseterr.c (fseterr): Likewise.
54200         * lib/fwritable.c (fwritable): Likewise.
54201         * lib/fwriting.c (fwriting): Likewise.
54202
54203 2008-04-26  Bruno Haible  <bruno@clisp.org>
54204
54205         * lib/stdio-impl.h: New file.
54206         * lib/fbufmode.c: Include stdio-impl.h.
54207         (fbufmode): Use fp_, remove redundant #defines.
54208         * lib/fflush.c: Include stdio-impl.h.
54209         (clear_ungetc_buffer): Remove redundant #defines.
54210         * lib/fpurge.c: Include stdio-impl.h.
54211         (fpurge): Remove redundant #defines.
54212         * lib/freadable.c: Include stdio-impl.h.
54213         (freadable): Remove redundant #defines.
54214         * lib/freadahead.c: Include stdio-impl.h.
54215         (freadahead): Remove redundant #defines.
54216         * lib/freading.c: Include stdio-impl.h.
54217         (freading): Remove redundant #defines.
54218         * lib/freadptr.c: Include stdio-impl.h.
54219         (freadptr): Remove redundant #defines.
54220         * lib/freadseek.c: Include stdio-impl.h.
54221         (freadptrinc): Remove redundant #defines.
54222         * lib/fseeko.c: Include stdio-impl.h.
54223         (rpl_fseeko): Remove redundant #defines.
54224         * lib/fseterr.c: Include stdio-impl.h.
54225         (fseterr): Remove redundant #defines.
54226         * lib/fwritable.c: Include stdio-impl.h.
54227         (fwritable: Remove redundant #defines.
54228         * lib/fwriting.c: Include stdio-impl.h.
54229         (fwriting): Remove redundant #defines.
54230         * modules/fbufmode (Files): Add lib/stdio-impl.h.
54231         * modules/fflush (Files): Likewise.
54232         * modules/fpurge (Files): Likewise.
54233         * modules/freadable (Files): Likewise.
54234         * modules/freadahead (Files): Likewise.
54235         * modules/freading (Files): Likewise.
54236         * modules/freadptr (Files): Likewise.
54237         * modules/freadseek (Files): Likewise.
54238         * modules/fseeko (Files): Likewise.
54239         * modules/fseterr (Files): Likewise.
54240         * modules/fwritable (Files): Likewise.
54241         * modules/fwriting (Files): Likewise.
54242
54243 2008-04-26  Bruno Haible  <bruno@clisp.org>
54244
54245         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54246         restore_seek_optimization, update_fpos_cache): New functions, extracted
54247         from rpl_fflush.
54248         (rpl_fflush): Use them.
54249         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
54250         (gl_REPLACE_FFLUSH): Use it.
54251
54252 2008-04-26  Bruno Haible  <bruno@clisp.org>
54253
54254         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
54255         on Solaris.
54256         * tests/test-xstrtoimax.sh: Likewise.
54257         * tests/test-xstrtoumax.sh: Likewise.
54258         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54259
54260 2008-04-26  Bruno Haible  <bruno@clisp.org>
54261
54262         * modules/memchr-tests: New file.
54263         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
54264
54265 2008-04-26  Eric Blake  <ebb9@byu.net>
54266             Bruno Haible  <bruno@clisp.org>
54267
54268         * lib/memchr.c: Include intprops.h.
54269         (__memchr): Optimize parallel detection of matching bytes. Rename local
54270         variables. Add explanatory comments.
54271
54272 2008-04-26  Bruno Haible  <bruno@clisp.org>
54273
54274         Fix module 'memchr', broken since 2000-10-28.
54275         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
54276
54277 2008-04-26  Bruno Haible  <bruno@clisp.org>
54278
54279         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
54280         comments.
54281
54282 2008-04-25  Eric Blake  <ebb9@byu.net>
54283
54284         Use native fstatat on cygwin 1.7.0.
54285         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
54286         first.
54287
54288 2008-04-23  Eric Blake  <ebb9@byu.net>
54289
54290         Improve memchr2 performance.
54291         * lib/memchr2.c (memchr2): Further optimize parallel detection of
54292         NUL bytes.
54293         * modules/memchr2 (Depends-on): Use intprops.h.
54294
54295 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54296
54297         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
54298         an inline function instead of a CPP macro.  Patch by Ben Pfaff
54299         <blp@cs.stanford.edu>.
54300
54301 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54302
54303         * lib/arpa_inet.in.h: New file.
54304
54305         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
54306         (Makefile.am): Sed in substitute header file.
54307
54308         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
54309         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
54310
54311         * modules/inet_ntop (configure.ac): Use
54312         gl_ARPA_INET_MODULE_INDICATOR.
54313
54314         * modules/inet_pton (configure.ac): Use
54315         gl_ARPA_INET_MODULE_INDICATOR.
54316
54317 2008-04-22  Jim Meyering  <meyering@redhat.com>
54318
54319         * modules/verify (License): Re-license as LGPLv2+.
54320
54321 2008-04-22  Simon Josefsson  <simon@josefsson.org>
54322
54323         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
54324         parameter to void* as per POSIX standard (MinGW uses char*).
54325
54326 2008-04-21  Bruno Haible  <bruno@clisp.org>
54327
54328         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
54329         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
54330         Define to replacements if REPLACE_ISWCNTRL is 1.
54331         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
54332         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
54333         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
54334         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
54335         what it fixes.
54336         * doc/posix-functions/iswalpha.texi: Likewise.
54337         * doc/posix-functions/iswblank.texi: Likewise.
54338         * doc/posix-functions/iswcntrl.texi: Likewise.
54339         * doc/posix-functions/iswdigit.texi: Likewise.
54340         * doc/posix-functions/iswgraph.texi: Likewise.
54341         * doc/posix-functions/iswlower.texi: Likewise.
54342         * doc/posix-functions/iswprint.texi: Likewise.
54343         * doc/posix-functions/iswpunct.texi: Likewise.
54344         * doc/posix-functions/iswspace.texi: Likewise.
54345         * doc/posix-functions/iswupper.texi: Likewise.
54346         * doc/posix-functions/iswxdigit.texi: Likewise.
54347         Reported by Alain Guibert.
54348
54349 2008-04-21  Bruno Haible  <bruno@clisp.org>
54350
54351         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
54352         Patch by Alain Guibert.
54353
54354 2008-04-21  Bruno Haible  <bruno@clisp.org>
54355
54356         Fix test failures on mingw.
54357         * tests/test-xstrtol.c (print_no_progname): New function.
54358         (main): Install it in error_print_progname hook.
54359         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
54360         * tests/test-xstrtoimax.sh: Likewise.
54361         * tests/test-xstrtoumax.sh: Likewise.
54362
54363 2008-04-21  Bruno Haible  <bruno@clisp.org>
54364
54365         Fix test failure on mingw.
54366         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
54367
54368 2008-04-21  Bruno Haible  <bruno@clisp.org>
54369
54370         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
54371         Actually assign a value.
54372
54373 2008-04-20  Bruno Haible  <bruno@clisp.org>
54374
54375         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
54376         take 2.
54377         * lib/canonicalize.c (canonicalize_file_name): Elide if the
54378         'canonicalize-lgpl' module is also used.
54379         * lib/canonicalize-lgpl.c: Undo last change.
54380         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
54381
54382 2008-04-20  Bruno Haible  <bruno@clisp.org>
54383
54384         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
54385         config.h. Provide _mkdir based fallback for mingw.
54386         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
54387         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
54388         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
54389         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
54390         rather than defining mkdir in config.h.
54391         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
54392         (gl_SYS_STAT_H_DEFAULTS): New macro.
54393         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
54394         HAVE_IO_H any more.
54395         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
54396         HAVE_DECL_MKDIR and HAVE_IO_H.
54397
54398 2008-04-20  Bruno Haible  <bruno@clisp.org>
54399
54400         * lib/isapipe.c: Port to native Windows platforms.
54401
54402 2008-04-20  Bruno Haible  <bruno@clisp.org>
54403
54404         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
54405
54406 2008-04-21  Eric Blake  <ebb9@byu.net>
54407
54408         Work around preprocessors that don't handle UINTMAX_MAX.
54409         * lib/memchr2.c (memchr2): Avoid embedded #if.
54410         Reported by Alain Guibert, fix suggested by Bruno Haible.
54411
54412 2008-04-21  Simon Josefsson  <simon@josefsson.org>
54413
54414         * doc/posix-functions/strftime.texi (strftime): Explain better
54415         Windows incompatibility.  Suggested by Micah Cowan
54416         <micah@cowan.name>.
54417
54418 2008-04-20  Bruno Haible  <bruno@clisp.org>
54419
54420         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
54421         unistr/u8-mblen.
54422
54423 2008-04-20  Bruno Haible  <bruno@clisp.org>
54424
54425         Fix test failure on platforms with non-GNU iconv.
54426         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
54427         (U_TO_U8): Use it, rather than u16_to_u8.
54428         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
54429         units at the end of the input string.
54430         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
54431
54432 2008-04-20  Bruno Haible  <bruno@clisp.org>
54433
54434         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
54435         when the resulting length is 0.
54436         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
54437
54438 2008-04-20  Bruno Haible  <bruno@clisp.org>
54439
54440         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
54441         works.
54442         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
54443
54444 2008-04-20  Bruno Haible  <bruno@clisp.org>
54445
54446         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
54447         * modules/tsearch-tests (configure.ac): Test for initstate function.
54448
54449 2008-04-20  Bruno Haible  <bruno@clisp.org>
54450
54451         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
54452         for nlink_t if missing.
54453         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
54454
54455 2008-04-19  Bruno Haible  <bruno@clisp.org>
54456
54457         Work around snprintf bug on Linux libc5.
54458         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
54459         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54460         gl_SNPRINTF_SIZE1.
54461         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54462         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
54463         that test failed.
54464         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
54465         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
54466         * modules/snprintf (Files): Add m4/printf.m4.
54467         * modules/vsnprintf (Files): Likewise.
54468         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
54469         * doc/posix-functions/vsnprintf.texi: Likewise.
54470
54471 2008-04-19  Bruno Haible  <bruno@clisp.org>
54472
54473         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
54474         from 0.0058 to less than 10^-7.
54475
54476 2008-04-19  Bruno Haible  <bruno@clisp.org>
54477
54478         Fix rounding when a precision is given.
54479         * lib/vasnprintf.c (is_borderline): New function.
54480         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
54481         9...9x.
54482         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
54483         %e, %g.
54484         * tests/test-vasprintf-posix.c (test_function): Likewise.
54485         * tests/test-snprintf-posix.h (test_function): Likewise.
54486         * tests/test-sprintf-posix.h (test_function): Likewise.
54487         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
54488         * tests/test-printf-posix.h (test_function): Likewise.
54489         * tests/test-printf-posix.output: Update.
54490         Reported by John Darrington <john@darrington.wattle.id.au> via
54491         Ben Pfaff <blp@cs.stanford.edu>.
54492
54493 2008-04-18  Simon Josefsson  <simon@josefsson.org>
54494
54495         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
54496         Suggested by Bruno Haible <bruno@clisp.org>.
54497
54498 2008-04-17  Bruno Haible  <bruno@clisp.org>
54499
54500         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
54501         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
54502         implementation.
54503         Patch by Bruce Merry <bmerry@gmail.com>.
54504
54505 2008-04-17  Simon Josefsson  <simon@josefsson.org>
54506
54507         * doc/posix-functions/strftime.texi (strftime): Mention that %e
54508         doesn't work under Windows.
54509
54510 2008-04-16  Bruno Haible  <bruno@clisp.org>
54511
54512         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
54513         New macros.
54514         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
54515         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
54516         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
54517         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
54518         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
54519         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
54520         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
54521         macros.
54522         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
54523         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
54524         Northern Sotho, Uighur.
54525
54526 2008-04-16  Bruno Haible  <bruno@clisp.org>
54527
54528         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
54529         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
54530         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
54531         Reported by Daniel Bergström <daniel@octocode.com>.
54532
54533 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
54534             Bruno Haible  <bruno@clisp.org>
54535
54536         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
54537         function.
54538         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
54539         New functions, mostly extracted from gl_locale_name_default.
54540         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
54541
54542 2008-04-16  Eric Blake  <ebb9@byu.net>
54543
54544         Adjust strtod detection to catch glibc 2.7 bug.
54545         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
54546         Reported by John Gatewood Ham.
54547
54548 2008-04-16  Bruno Haible  <bruno@clisp.org>
54549
54550         Add tentative support for Linux libc5.
54551         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
54552         * lib/fpurge.c (fpurge): Likewise.
54553         * lib/freadable.c (freadable): Likewise.
54554         * lib/freadahead.c (freadahead): Likewise.
54555         * lib/freading.c (freading): Likewise.
54556         * lib/freadptr.c (freadptr): Likewise.
54557         * lib/freadseek.c (freadptrinc): Likewise.
54558         * lib/fseeko.c (rpl_fseeko): Likewise.
54559         * lib/fseterr.c (fseterr): Likewise.
54560         * lib/fwritable.c (fwritable): Likewise.
54561         * lib/fwriting.c (fwriting): Likewise.
54562         Reported by Alain Guibert <alguibert+bts@free.fr>.
54563
54564 2008-04-15  Bruno Haible  <bruno@clisp.org>
54565
54566         * modules/mathl (configure.ac): Define module indicator.
54567
54568 2008-04-15  Bruno Haible  <bruno@clisp.org>
54569
54570         * lib/logl.c (logl): Remove unused variables.
54571
54572 2008-04-15  Bruno Haible  <bruno@clisp.org>
54573
54574         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
54575         fails.
54576
54577 2008-04-15  Bruno Haible  <bruno@clisp.org>
54578
54579         * lib/trim.c (trim2): Fix argument of isspace() macro.
54580
54581 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
54582
54583         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
54584         to 0.
54585         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
54586
54587 2008-04-14  Bruno Haible  <bruno@clisp.org>
54588
54589         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
54590         AC_LANG_PROGRAM argument.
54591         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
54592         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
54593         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
54594         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
54595         * m4/math_h.m4 (gl_MATH_H): Likewise.
54596         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
54597         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54598         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
54599         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
54600         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
54601         * m4/regex.m4 (gl_REGEX): Likewise.
54602         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
54603         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
54604         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54605         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
54606         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54607         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54608         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54609         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
54610
54611 2008-04-14  Jim Meyering  <meyering@redhat.com>
54612
54613         test-strtod: fix typos: s/abs/fabs/
54614         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
54615
54616 2008-04-13  Bruno Haible  <bruno@clisp.org>
54617
54618         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
54619         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
54620         module is also used and while not building the reloc-wrapper.
54621
54622 2008-04-13  Bruno Haible  <bruno@clisp.org>
54623
54624         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
54625
54626 2008-04-13  Bruno Haible  <bruno@clisp.org>
54627
54628         Fix AIX compilation failure introduced on 2008-04-02.
54629         * tests/test-frexp.c (exp): Undefine before redefining.
54630         * tests/test-frexpl.c (exp): Likewise.
54631
54632 2008-04-13  Bruno Haible  <bruno@clisp.org>
54633
54634         Work around a HP-UX stdio bug.
54635         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
54636         * tests/test-ftello.c (main): Likewise.
54637         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
54638         * doc/posix-functions/ftello.texi: Likewise.
54639
54640 2008-04-13  Bruno Haible  <bruno@clisp.org>
54641
54642         Make test-signbit pass on HP-UX/hppa.
54643         * tests/test-signbit.c (minus_zerol): New variable.
54644         (test_signbitl): Use it.
54645
54646 2008-04-13  Bruno Haible  <bruno@clisp.org>
54647
54648         Make truncl work on OSF/1 4.0.
54649         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
54650         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54651         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54652         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
54653         HAVE_DECL_TRUNCL.
54654         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
54655         HAVE_DECL_TRUNCL.
54656         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
54657
54658 2008-04-13  Bruno Haible  <bruno@clisp.org>
54659
54660         * lib/unictype.h: Remove trailing comma from enumeration definitions.
54661
54662 2008-04-13  Bruno Haible  <bruno@clisp.org>
54663
54664         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
54665         expression, so as to avoid HP-UX 11 cc compiler bug.
54666
54667 2008-04-13  Bruno Haible  <bruno@clisp.org>
54668
54669         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
54670
54671 2008-04-13  Bruno Haible  <bruno@clisp.org>
54672
54673         * lib/git-merge-changelog.c: Remove empty declaration outside of
54674         functions.
54675
54676 2008-04-13  Bruno Haible  <bruno@clisp.org>
54677
54678         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
54679
54680 2008-04-13  Bruno Haible  <bruno@clisp.org>
54681
54682         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
54683         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
54684         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
54685         also if it exists but lacks definitions of the SHUT_* macros.
54686         * modules/sys_socket (Description): Update.
54687         Reported by Elbert Pol <e.pol@chello.nl>.
54688
54689 2008-04-13  Bruno Haible  <bruno@clisp.org>
54690
54691         * lib/localcharset.c (OS2): Don't redefine if already defined.
54692         Reported by Elbert Pol <e.pol@chello.nl>.
54693
54694 2008-04-13  Bruno Haible  <bruno@clisp.org>
54695
54696         * lib/binary-io.h [__EMX__]: Include <io.h>.
54697         Reported by Elbert Pol <e.pol@chello.nl>.
54698
54699 2008-04-12  Bruno Haible  <bruno@clisp.org>
54700
54701         * lib/fpucw.h: Enable the definitions also for x86_64.
54702         Needed for NetBSD/x86_64.
54703         Reported by Thomas Klausner <tk@giga.or.at>.
54704
54705 2008-04-12  Bruno Haible  <bruno@clisp.org>
54706
54707         * tests/test-strtod.c: Include isnand.h.
54708         (main): Use isnand instead of isnan.
54709         Reported by Jim Meyering.
54710
54711 2008-04-12  Bruno Haible  <bruno@clisp.org>
54712
54713         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
54714         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54715
54716 2008-04-12  Jim Meyering  <meyering@redhat.com>
54717
54718         * m4/math_h.m4 (gl_MATH_H): Fix typos.
54719
54720 2008-04-12  Bruno Haible  <bruno@clisp.org>
54721
54722         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
54723         Reported by Elbert Pol <e.pol@chello.nl>.
54724
54725 2008-04-12  Eric Blake  <ebb9@byu.net>
54726
54727         Work around Solaris 10 math.h bug.
54728         * m4/math_h.m4 (gl_MATH_H): Check for bug.
54729         (gl_MATH_H_DEFAULTS): Set up default.
54730         * modules/math (Makefile.am): Replace new indicators.
54731         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
54732         * tests/test-math.c (main): Test this.
54733         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
54734         * doc/posix-headers/math.texi (math.h): Mention bug.
54735         Reported by Nelson H. F. Beebe and Jim Meyering.
54736
54737 2008-04-11  Bruno Haible  <bruno@clisp.org>
54738
54739         Adapt to future versions of Apple GCC.
54740         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
54741         Reported by Peter O'Gorman <peter@pogma.com>.
54742
54743 2008-04-11  Bruno Haible  <bruno@clisp.org>
54744
54745         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
54746
54747 2008-04-11  Bruno Haible  <bruno@clisp.org>
54748
54749         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
54750
54751         * modules/getaddrinfo-tests (Makefile.am): Define
54752         test_getaddrinfo_LDADD.
54753
54754 2008-04-11  Bruno Haible  <bruno@clisp.org>
54755
54756         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
54757         (init): Fix syntax error.
54758         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
54759         is declared.
54760
54761 2008-04-11  Bruno Haible  <bruno@clisp.org>
54762
54763         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
54764         * modules/glob (Depends-on): Add stdbool.
54765
54766 2008-04-11  Bruno Haible  <bruno@clisp.org>
54767
54768         * lib/trim.c: Include <string.h>.
54769
54770 2008-04-11  Eric Blake  <ebb9@byu.net>
54771
54772         Avoid compile failure on OS/2.
54773         * lib/regex_internal.h (internal_function): Disable optimization
54774         on OS/2 (__EMX__), where it caused compiler error.
54775         Reported by Elbert Pol.
54776
54777 2008-04-11  Bruno Haible  <bruno@clisp.org>
54778
54779         Flush the standard error stream before aborting. Needed on mingw.
54780         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
54781         * tests/test-array_list.c (ASSERT): Likewise.
54782         * tests/test-array_oset.c (ASSERT): Likewise.
54783         * tests/test-avltree_list.c (ASSERT): Likewise.
54784         * tests/test-avltree_oset.c (ASSERT): Likewise.
54785         * tests/test-avltreehash_list.c (ASSERT): Likewise.
54786         * tests/test-binary-io.c (ASSERT): Likewise.
54787         * tests/test-byteswap.c (ASSERT): Likewise.
54788         * tests/test-c-ctype.c (ASSERT): Likewise.
54789         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
54790         * tests/test-c-strcasestr.c (ASSERT): Likewise.
54791         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
54792         * tests/test-c-strstr.c (ASSERT): Likewise.
54793         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
54794         * tests/test-canonicalize.c (ASSERT): Likewise.
54795         * tests/test-carray_list.c (ASSERT): Likewise.
54796         * tests/test-ceilf1.c (ASSERT): Likewise.
54797         * tests/test-ceilf2.c (ASSERT): Likewise.
54798         * tests/test-ceill.c (ASSERT): Likewise.
54799         * tests/test-count-one-bits.c (ASSERT): Likewise.
54800         * tests/test-fbufmode.c (ASSERT): Likewise.
54801         * tests/test-fflush2.c (ASSERT): Likewise.
54802         * tests/test-floorf1.c (ASSERT): Likewise.
54803         * tests/test-floorf2.c (ASSERT): Likewise.
54804         * tests/test-floorl.c (ASSERT): Likewise.
54805         * tests/test-fopen.c (ASSERT): Likewise.
54806         * tests/test-fpending.c (ASSERT): Likewise.
54807         * tests/test-fprintf-posix.c (ASSERT): Likewise.
54808         * tests/test-fpurge.c (ASSERT): Likewise.
54809         * tests/test-freadable.c (ASSERT): Likewise.
54810         * tests/test-freadahead.c (ASSERT): Likewise.
54811         * tests/test-freading.c (ASSERT): Likewise.
54812         * tests/test-freadptr.c (ASSERT): Likewise.
54813         * tests/test-freadptr2.c (ASSERT): Likewise.
54814         * tests/test-freadseek.c (ASSERT): Likewise.
54815         * tests/test-freopen.c (ASSERT): Likewise.
54816         * tests/test-frexp.c (ASSERT): Likewise.
54817         * tests/test-frexpl.c (ASSERT): Likewise.
54818         * tests/test-fseek.c (ASSERT): Likewise.
54819         * tests/test-fseeko.c (ASSERT): Likewise.
54820         * tests/test-fstrcmp.c (ASSERT): Likewise.
54821         * tests/test-ftell.c (ASSERT): Likewise.
54822         * tests/test-ftello.c (ASSERT): Likewise.
54823         * tests/test-func.c (ASSERT): Likewise.
54824         * tests/test-fwritable.c (ASSERT): Likewise.
54825         * tests/test-fwriting.c (ASSERT): Likewise.
54826         * tests/test-getdelim.c (ASSERT): Likewise.
54827         * tests/test-getline.c (ASSERT): Likewise.
54828         * tests/test-i-ring.c (ASSERT): Likewise.
54829         * tests/test-iconv-utf.c (ASSERT): Likewise.
54830         * tests/test-iconv.c (ASSERT): Likewise.
54831         * tests/test-isfinite.c (ASSERT): Likewise.
54832         * tests/test-isnand.c (ASSERT): Likewise.
54833         * tests/test-isnanf.c (ASSERT): Likewise.
54834         * tests/test-isnanl.h (ASSERT): Likewise.
54835         * tests/test-ldexpl.c (ASSERT): Likewise.
54836         * tests/test-linked_list.c (ASSERT): Likewise.
54837         * tests/test-linkedhash_list.c (ASSERT): Likewise.
54838         * tests/test-localename.c (ASSERT): Likewise.
54839         * tests/test-lseek.c (ASSERT): Likewise.
54840         * tests/test-mbscasecmp.c (ASSERT): Likewise.
54841         * tests/test-mbscasestr1.c (ASSERT): Likewise.
54842         * tests/test-mbscasestr2.c (ASSERT): Likewise.
54843         * tests/test-mbscasestr3.c (ASSERT): Likewise.
54844         * tests/test-mbscasestr4.c (ASSERT): Likewise.
54845         * tests/test-mbschr.c (ASSERT): Likewise.
54846         * tests/test-mbscspn.c (ASSERT): Likewise.
54847         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
54848         * tests/test-mbspbrk.c (ASSERT): Likewise.
54849         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
54850         * tests/test-mbsrchr.c (ASSERT): Likewise.
54851         * tests/test-mbsspn.c (ASSERT): Likewise.
54852         * tests/test-mbsstr1.c (ASSERT): Likewise.
54853         * tests/test-mbsstr2.c (ASSERT): Likewise.
54854         * tests/test-mbsstr3.c (ASSERT): Likewise.
54855         * tests/test-memchr2.c (ASSERT): Likewise.
54856         * tests/test-memmem.c (ASSERT): Likewise.
54857         * tests/test-open.c (ASSERT): Likewise.
54858         * tests/test-printf-frexp.c (ASSERT): Likewise.
54859         * tests/test-printf-frexpl.c (ASSERT): Likewise.
54860         * tests/test-printf-posix.c (ASSERT): Likewise.
54861         * tests/test-quotearg.c (ASSERT): Likewise.
54862         * tests/test-rbtree_list.c (ASSERT): Likewise.
54863         * tests/test-rbtree_oset.c (ASSERT): Likewise.
54864         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
54865         * tests/test-round1.c (ASSERT): Likewise.
54866         * tests/test-roundf1.c (ASSERT): Likewise.
54867         * tests/test-roundl.c (ASSERT): Likewise.
54868         * tests/test-signbit.c (ASSERT): Likewise.
54869         * tests/test-sleep.c (ASSERT): Likewise.
54870         * tests/test-snprintf-posix.c (ASSERT): Likewise.
54871         * tests/test-snprintf.c (ASSERT): Likewise.
54872         * tests/test-sprintf-posix.c (ASSERT): Likewise.
54873         * tests/test-stat-time.c (ASSERT): Likewise.
54874         * tests/test-strcasestr.c (ASSERT): Likewise.
54875         * tests/test-strerror.c (ASSERT): Likewise.
54876         * tests/test-striconv.c (ASSERT): Likewise.
54877         * tests/test-striconveh.c (ASSERT): Likewise.
54878         * tests/test-striconveha.c (ASSERT): Likewise.
54879         * tests/test-strsignal.c (ASSERT): Likewise.
54880         * tests/test-strstr.c (ASSERT): Likewise.
54881         * tests/test-strtod.c (ASSERT): Likewise.
54882         * tests/test-trunc1.c (ASSERT): Likewise.
54883         * tests/test-trunc2.c (ASSERT): Likewise.
54884         * tests/test-truncf1.c (ASSERT): Likewise.
54885         * tests/test-truncf2.c (ASSERT): Likewise.
54886         * tests/test-truncl.c (ASSERT): Likewise.
54887         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
54888         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
54889         * tests/test-vasnprintf.c (ASSERT): Likewise.
54890         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
54891         * tests/test-vasprintf.c (ASSERT): Likewise.
54892         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
54893         * tests/test-vprintf-posix.c (ASSERT): Likewise.
54894         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
54895         * tests/test-vsnprintf.c (ASSERT): Likewise.
54896         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
54897         * tests/test-wcwidth.c (ASSERT): Likewise.
54898         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
54899         * tests/test-xprintf-posix.c (ASSERT): Likewise.
54900         * tests/test-xvasprintf.c (ASSERT): Likewise.
54901         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
54902         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
54903         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
54904         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
54905         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
54906         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
54907         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
54908         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
54909         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
54910         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
54911         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
54912         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
54913         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
54914         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
54915         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
54916         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
54917         * tests/unictype/test-block_list.c (ASSERT): Likewise.
54918         * tests/unictype/test-block_of.c (ASSERT): Likewise.
54919         * tests/unictype/test-block_test.c (ASSERT): Likewise.
54920         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
54921         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
54922         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
54923         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
54924         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
54925         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
54926         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
54927         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
54928         * tests/unictype/test-combining.c (ASSERT): Likewise.
54929         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
54930         * tests/unictype/test-digit.c (ASSERT): Likewise.
54931         * tests/unictype/test-mirror.c (ASSERT): Likewise.
54932         * tests/unictype/test-numeric.c (ASSERT): Likewise.
54933         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
54934         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
54935         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
54936         * tests/unictype/test-scripts.c (ASSERT): Likewise.
54937         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
54938         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
54939         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
54940         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
54941         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
54942         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
54943         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
54944         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
54945         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
54946         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
54947         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
54948         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
54949         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
54950         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
54951         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
54952         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
54953         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
54954         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
54955         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
54956         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
54957         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
54958         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
54959         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
54960         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
54961         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
54962         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
54963         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
54964         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
54965         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
54966         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
54967         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
54968         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
54969         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
54970         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
54971         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
54972         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
54973         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
54974         Reported by Eric Blake.
54975
54976 2008-04-11  Bruno Haible  <bruno@clisp.org>
54977
54978         * lib/wchar.in.h: Tweak comment.
54979
54980 2008-04-11  Bruno Haible  <bruno@clisp.org>
54981
54982         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
54983         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
54984         gl_COMMON.
54985         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
54986
54987 2008-04-11  Bruno Haible  <bruno@clisp.org>
54988
54989         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
54990
54991 2008-04-11  Simon Josefsson  <simon@josefsson.org>
54992
54993         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
54994         of attempting to use non-existing /dev/*random.  Based on patch
54995         from Adam Strzelecki <ono@java.pl> in
54996         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
54997
54998 2008-04-08  Bruno Haible  <bruno@clisp.org>
54999
55000         Add tentative support for emx+gcc.
55001         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
55002         * lib/fpurge.c (fpurge): Likewise.
55003         * lib/freadable.c (freadable): Likewise.
55004         * lib/freadahead.c (freadahead): Likewise.
55005         * lib/freading.c (freading): Likewise.
55006         * lib/freadptr.c (freadptr): Likewise.
55007         * lib/freadseek.c (freadptrinc): Likewise.
55008         * lib/fseeko.c (rpl_fseeko): Likewise.
55009         * lib/fseterr.c (fseterr): Likewise.
55010         * lib/fwritable.c (fwritable): Likewise.
55011         * lib/fwriting.c (fwriting): Likewise.
55012         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
55013
55014 2008-04-09  Eric Blake  <ebb9@byu.net>
55015
55016         Avoid some autoconf warnings.
55017         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
55018         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
55019         * m4/afs.m4 (gl_AFS): Likewise.
55020         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
55021         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
55022         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55023         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
55024         (gl_INTEGER_TYPE_SUFFIX): Likewise.
55025         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
55026         (AC_CHECK_DECLS_ONCE): Likewise.
55027         Rename file...
55028         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
55029         gnulib-tool requires autoconf 2.59 or better.
55030         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
55031
55032 2008-04-08  Eric Blake  <ebb9@byu.net>
55033
55034         Use 'git describe --match' if present (added in git 1.5.5).
55035         * build-aux/git-version-gen: Limit result to tags that match 'v*'
55036         if possible.
55037
55038 2008-04-08  Bruno Haible  <bruno@clisp.org>
55039
55040         Add tentative support for OpenServer.
55041         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
55042         _ptr, _cnt.
55043         * lib/fpurge.c (fpurge): Likewise.
55044         * lib/freadable.c (freadable): Likewise.
55045         * lib/freadahead.c (freadahead): Likewise.
55046         * lib/freading.c (freading): Likewise.
55047         * lib/freadptr.c (freadptr): Likewise.
55048         * lib/freadseek.c (freadptrinc): Likewise.
55049         * lib/fseeko.c (rpl_fseeko): Likewise.
55050         * lib/fseterr.c (fseterr): Likewise.
55051         * lib/fwritable.c (fwritable): Likewise.
55052         * lib/fwriting.c (fwriting): Likewise.
55053         Reported by Roger Cornelius <rac@tenzing.org> and
55054         Brian K. White <brian@aljex.com>.
55055
55056 2008-04-06  Jim Meyering  <meyering@redhat.com>
55057
55058         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
55059
55060 2008-04-06  Bruno Haible  <bruno@clisp.org>
55061
55062         Avoid possible error with non-ASCII bytes in UTF-8 locales.
55063         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
55064         * tests/test-printf-posix.sh: Likewise.
55065         * tests/test-vfprintf-posix.sh: Likewise.
55066         * tests/test-vprintf-posix.sh: Likewise.
55067         * tests/test-xprintf-posix.sh: Likewise.
55068
55069 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55070
55071         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
55072         hide error from 'ls', needed on OS/2.
55073         Report by Elbert Pol <elbert.pol@gmail.com>.
55074
55075 2008-04-04  Eric Blake  <ebb9@byu.net>
55076
55077         Make test-fseeko.c failures meaningful.
55078         * tests/test-fseeko.c: Print line number on failure.
55079         * tests/test-fseek.c: Likewise.
55080         Reported by Nelson H. F. Beebe.
55081
55082         Improve strtod bug detection check.
55083         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
55084         required for Solaris 10.
55085         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
55086
55087 2008-04-04  Bruno Haible  <bruno@clisp.org>
55088
55089         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
55090         by m4/setenv.m4.
55091
55092 2008-04-03  Eric Blake  <ebb9@byu.net>
55093
55094         Ensure sane .version contents.
55095         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
55096         version string.
55097         * build-aux/git-version-gen: Improve documentation.
55098
55099         Make GNU make output nicer.
55100         * top/GNUmakefile [!_have-Makefile]: Add dependency on
55101         MAKECMDGOALS to enforce message for all command line targets.  Set
55102         srcdir for use in maint.mk.
55103
55104         Another maintainer tweak.
55105         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
55106         a target that regenerates version.
55107
55108 2008-04-03  Jim Meyering  <meyering@redhat.com>
55109
55110         vc-list-files: don't cause coreutils "make po-check" failure
55111         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
55112
55113 2008-04-03  Eric Blake  <ebb9@byu.net>
55114
55115         Allow VPATH usage of vc-list-files.
55116         * build-aux/vc-list-files (scriptversion): Add timestamp.
55117         (options): Add --help, --version, -C.
55118         (CVS): Support installed cvsu.
55119
55120 2008-04-02  Bruno Haible  <bruno@clisp.org>
55121
55122         Avoid some "statement with no effect" warnings from gcc.
55123         * tests/test-wctype.c (main): Explicitly ignore unused values.
55124         Reported by Jim Meyering.
55125
55126 2008-04-02  Jim Meyering  <meyering@redhat.com>
55127
55128         Avoid some warnings from "gcc -Wshadow".
55129         * tests/test-frexp.c (exp): Define to a different identifier.
55130         * tests/test-frexpl.c (exp): Likewise.
55131
55132 2008-04-03  Jim Meyering  <meyering@redhat.com>
55133
55134         bootstrap: remove dangling *.[ch] symlinks from lib
55135         * build-aux/bootstrap [dangling symlink removal]: Move find's
55136         -depth option to precede all others, to avoid a warning.
55137         Remove *.[ch] files too, and from "$source_base" (usually lib/).
55138
55139 2008-04-02  Bruno Haible  <bruno@clisp.org>
55140
55141         Avoid some warnings from "gcc -Wshadow".
55142         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
55143         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
55144         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
55145         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
55146         Reported by Jim Meyering.
55147
55148 2008-04-01  Bruno Haible  <bruno@clisp.org>
55149
55150         Fix test to work on IRIX 6.5 with cc.
55151         * tests/test-math.c (numeric_equal): New function.
55152         (main): Use it.
55153
55154 2008-04-01  Bruno Haible  <bruno@clisp.org>
55155
55156         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
55157
55158 2008-04-01  Bruno Haible  <bruno@clisp.org>
55159
55160         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
55161         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55162         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
55163         (Depends-on): Remove math.
55164
55165         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
55166         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55167         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
55168         (Depends-on): Remove math.
55169
55170         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
55171         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55172         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
55173         (Depends-on): Remove math.
55174         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
55175         (Depends-on): Remove math.
55176
55177         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
55178         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55179         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
55180         (Depends-on): Remove math.
55181         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
55182         (Depends-on): Remove math.
55183
55184         * tests/test-round1.c: Include nan.h.
55185         (main): Use NaNd instead of NAN.
55186         * modules/round-tests (Files): Add tests/nan.h.
55187
55188         * tests/test-trunc1.c: Include nan.h.
55189         (main): Use NaNd instead of NAN.
55190         * modules/trunc-tests (Files): Add tests/nan.h.
55191
55192         * tests/test-roundf1.c: Include nan.h.
55193         (main): Use NaNf instead of NAN.
55194         * modules/roundf-tests (Files): Add tests/nan.h.
55195
55196         * tests/test-truncf1.c: Include nan.h.
55197         (main): Use NaNf instead of NAN.
55198         * modules/truncf-tests (Files): Add tests/nan.h.
55199
55200         * tests/test-ceilf1.c: Include nan.h.
55201         (main): Use NaNf instead of NAN.
55202         * modules/ceilf-tests (Files): Add tests/nan.h.
55203
55204         * tests/test-floorf1.c: Include nan.h.
55205         (main): Use NaNf instead of NAN.
55206         * modules/floorf-tests (Files): Add tests/nan.h.
55207
55208         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
55209         (main): Use NaNf instead of NAN.
55210         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
55211
55212         * tests/test-isnand.c: Include nan.h instead of <math.h>.
55213         (main): Use NaNd instead of NAN.
55214         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
55215
55216         * tests/test-frexp.c: Include nan.h.
55217         (main): Use NaNd instead of NAN.
55218         * modules/frexp-tests (Files): Add tests/nan.h.
55219
55220         * lib/isnan.c: Don't include <math.h>.
55221         (FUNC): Don't use NAN macro.
55222         * modules/isnand-nolibm (Depends-on): Remove math.
55223         * modules/isnanf-nolibm (Depends-on): Remove math.
55224         * modules/isnanl (Depends-on): Remove math.
55225         * modules/isnanl-nolibm (Depends-on): Remove math.
55226
55227         * tests/nan.h: New file.
55228
55229 2008-04-01  Eric Blake  <ebb9@byu.net>
55230
55231         Fix typos.
55232         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
55233         values to be the right type.
55234
55235         For now, cater to gnulib strtod inaccuracies.
55236         * tests/test-strtod.c (main): Allow 1-ulp error on expected
55237         fractional results.  While not as nice from a QoI perspective, it
55238         is a quicker patch than correctly implementing decimal to binary
55239         rounding.
55240
55241 2008-03-31  Eric Blake  <ebb9@byu.net>
55242
55243         Guarantee a definition of NAN.
55244         * lib/math.in.h (NAN): Define if missing.
55245         * tests/test-math.c (main): Test it.
55246         * doc/posix-headers/math.texi (math.h): Document this.
55247         * lib/isnan.c (rpl_isnand): Use it.
55248         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
55249         * tests/test-floorf1.c (NaN): Likewise.
55250         * tests/test-frexp.c (NaN): Likewise.
55251         * tests/test-isnand.c (NaN): Likewise.
55252         * tests/test-isnanf.c (NaN): Likewise.
55253         * tests/test-round1.c (NaN): Likewise.
55254         * tests/test-roundf1.c (NaN): Likewise.
55255         * tests/test-snprintf-posix.h (NaN): Likewise.
55256         * tests/test-sprintf-posix.h (NaN): Likewise.
55257         * tests/test-trunc1.c (NaN): Likewise.
55258         * tests/test-truncf1.c (NaN): Likewise.
55259         * tests/test-vasnprintf-posix.c (NaN): Likewise.
55260         * tests/test-vasprintf-posix.c (NaN): Likewise.
55261         * modules/isnand-nolibm (Depends-on): Add math.
55262         * modules/isnanf-nolibm (Depends-on): Likewise.
55263         * modules/isnanl (Depends-on): Likewise.
55264         * modules/isnanl-nolibm (Depends-on): Likewise.
55265         * modules/snprintf-posix-tests (Depends-on): Likewise.
55266         * modules/sprintf-posix-tests (Depends-on): Likewise.
55267         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
55268         * modules/vsprintf-posix-tests (Depends-on): Likewise.
55269         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
55270         * modules/vasprintf-posix-tests (Depends-on): Likewise.
55271
55272 2008-03-31  Bruno Haible  <bruno@clisp.org>
55273
55274         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
55275         * doc/posix-functions/strtod.texi: Likewise.
55276
55277 2008-03-31  Bruno Haible  <bruno@clisp.org>
55278
55279         * tests/test-strtod.c (main): Don't use C99 syntax.
55280
55281 2008-03-31  Bruno Haible  <bruno@clisp.org>
55282
55283         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
55284         Reported by Eric Blake.
55285
55286 2008-03-31  Jim Meyering  <meyering@redhat.com>
55287
55288         Don't compare actual signbit return values.
55289         * tests/test-strtod.c (main): Rather, compare only their
55290         zero/non-zero nature.
55291
55292 2008-03-31  Eric Blake  <ebb9@byu.net>
55293
55294         More strtod documentation.
55295         * doc/posix-functions/strtod.texi (strtod): Interpret more test
55296         failures as distinct bugs.
55297
55298 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
55299
55300         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
55301         Problem reported by Erik Benada in
55302         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
55303
55304 2008-03-30  Bruno Haible  <bruno@clisp.org>
55305
55306         * tests/test-strtod.c: Add comments about which assertion fails on which
55307         platform.
55308         * doc/posix-functions/strtod.texi: Add info about many more platforms.
55309
55310 2008-03-30  Eric Blake  <ebb9@byu.net>
55311
55312         Test signbit behavior on zeros.
55313         * tests/test-signbit.c (test_signbitf): Add tests for zero.
55314         (test_signbitd, test_signbitl): Likewise.
55315
55316         More strtod touchups.
55317         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
55318         sign of negative underflow, for now.  Use .5, not .1.
55319         * doc/posix-functions/strtod.texi (strtod): Mention these
55320         limitations.
55321         Reported by Jim Meyering.
55322
55323 2008-03-30  Bruno Haible  <bruno@clisp.org>
55324
55325         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
55326         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
55327
55328 2008-03-30  Bruno Haible  <bruno@clisp.org>
55329
55330         Avoid failure when attempting to return empty iconv results on some
55331         platforms.
55332         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
55333         allocation, don't report ENOMEM when the resulting string is empty.
55334
55335 2008-03-30  Bruno Haible  <bruno@clisp.org>
55336
55337         Fix buffer overrun.
55338         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
55339         Don't consider the width for tmp_length. Check count against tmp_length
55340         before doing the padding. Ensure enough allocation during padding.
55341
55342 2008-03-30  Eric Blake  <ebb9@byu.net>
55343
55344         strtod touchups.
55345         * lib/strtod.c (strtod): Avoid compiler warnings.
55346         Reported by Jim Meyering.
55347
55348 2008-03-30  Bruno Haible  <bruno@clisp.org>
55349
55350         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
55351         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
55352         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
55353         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
55354         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
55355         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
55356         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
55357         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
55358
55359         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
55360         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
55361         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
55362         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
55363         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
55364         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
55365         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
55366         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
55367
55368         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
55369         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
55370         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
55371         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
55372         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
55373         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
55374         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
55375         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
55376
55377         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
55378         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
55379
55380         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
55381         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
55382
55383         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
55384         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
55385
55386         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
55387         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
55388         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
55389
55390         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
55391         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
55392         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
55393
55394         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
55395         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
55396         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
55397
55398         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
55399         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
55400         * modules/vasprintf (Depends-on): Add EOVERFLOW.
55401
55402         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
55403         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
55404         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
55405         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
55406         (Depends-on): Add EOVERFLOW.
55407         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
55408         (Depends-on): Add EOVERFLOW.
55409         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55410         (Depends-on): Add EOVERFLOW.
55411         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55412         (Depends-on): Add EOVERFLOW.
55413         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55414         (Depends-on): Add EOVERFLOW.
55415         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55416         (Depends-on): Add EOVERFLOW.
55417         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55418         (Depends-on): Add EOVERFLOW.
55419         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55420         (Depends-on): Add EOVERFLOW.
55421
55422         * lib/sprintf.c (EOVERFLOW): Remove fallback.
55423         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
55424         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
55425
55426         * lib/snprintf.c (EOVERFLOW): Remove fallback.
55427         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
55428         * modules/snprintf (Depends-on): Add EOVERFLOW.
55429
55430         * lib/poll.c (EOVERFLOW): Remove fallback.
55431         * modules/poll (Depends-on): Add EOVERFLOW.
55432
55433         * lib/getugroups.c (EOVERFLOW): Remove fallback.
55434         * modules/getugroups (Depends-on): Add EOVERFLOW.
55435
55436         * lib/getdelim.c (EOVERFLOW): Remove fallback.
55437         * modules/getdelim (Depends-on): Add EOVERFLOW.
55438
55439         * lib/ftell.c (EOVERFLOW): Remove fallback.
55440         * modules/ftell (Depends-on): Add EOVERFLOW.
55441
55442         * lib/fprintf.c (EOVERFLOW): Remove fallback.
55443         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
55444         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
55445
55446         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
55447
55448         * modules/EOVERFLOW-tests: New file.
55449         * tests/test-EOVERFLOW.c: New file.
55450
55451         * modules/EOVERFLOW: New file.
55452         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
55453
55454 2008-03-30  Bruno Haible  <bruno@clisp.org>
55455
55456         Fix bug introduced on 2007-06-10.
55457         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
55458         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
55459
55460 2008-03-30  Bruno Haible  <bruno@clisp.org>
55461
55462         Improve freadseek's efficiency after ungetc.
55463         * lib/freadseek.c: Include freadahead.h.
55464         (freadptrinc): New function, extracted from freadseek.
55465         (freadseek): Use it in a loop. Use freadahead to determine the number
55466         of loop iterations.
55467         * modules/freadseek (Depends-on): Add freadahead.
55468         (configure.ac): Require AC_C_INLINE.
55469
55470 2008-03-30  Bruno Haible  <bruno@clisp.org>
55471
55472         * lib/freadseek.c (freadseek): Don't ignore the return value of
55473         freadptr.
55474
55475 2008-03-29  Eric Blake  <ebb9@byu.net>
55476
55477         Add hex float support.
55478         * modules/strtod (Depends-on): Add c-ctype.
55479         (Link): Mention POW_LIB.
55480         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
55481         whitespace between 'e' and exponent.
55482         * tests/test-strtod.c (main): Enable hex float tests.
55483         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
55484         now provides.
55485
55486         Document various strtod bugs, with some fixes.
55487         * doc/posix-functions/strtod.texi (strtod): Document bugs with
55488         "-0x", "inf", "nan", and hex constants.
55489         * doc/posix-functions/atof.texi (atof): Likewise.
55490         * modules/stdlib (Makefile.am): Support strtod.
55491         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
55492         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
55493         detect additional strtod bugs.
55494         * lib/stdlib.in.h (rpl_strtod): Add declarations.
55495         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
55496         bool where appropriate.  Parse 'inf' and 'nan'.
55497         * tests/test-strtod.c: New file.
55498         * modules/strtod (Depends-on): Add stdbool, stdlib.
55499         (configure.ac): Turn on module indicator.
55500         * modules/strtod-tests: New module.
55501
55502 2008-03-29  Eric Blake  <ebb9@byu.net>
55503
55504         Fix ftell on mingw.
55505         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
55506         * modules/ftell-tests (Depends-on): Add binary-io.
55507         * modules/ftello-tests (Depends-on): Likewise.
55508         * tests/test-ftell.c (main): Enhance test to cover behavior after
55509         ungetc.  Enforce binary mode.
55510         * tests/test-ftello.c (main): Likewise.
55511
55512         Pass test-freadseek on cygwin.
55513         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
55514         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
55515         ungetc buffer.
55516
55517         * tests/test-fflush2.c (main): Fix typo.
55518
55519 2008-03-29  Bruno Haible  <bruno@clisp.org>
55520
55521         * tests/test-fflush2.c (main): Temporarily disable the contents of
55522         this test.
55523         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
55524         Reported by Eric Blake.
55525
55526 2008-03-28  Simon Josefsson  <simon@josefsson.org>
55527
55528         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
55529         (GC_SHA224_DIGEST_SIZE): Add.
55530
55531         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
55532         (gc_hash_digest_length): Likewise.
55533         (gc_hash_buffer): Likewise.
55534
55535 2008-03-25  Bruno Haible  <bruno@clisp.org>
55536
55537         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
55538         detail which gettext release to use.
55539         Reported by Simon Josefsson.
55540
55541 2008-03-26  Jim Meyering  <meyering@redhat.com>
55542
55543         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
55544         * modules/gnumakefile (clean-GNUmakefile): Also, use
55545         test ... && ... || : syntax rather than if-then ... fi.
55546
55547         gnumakefile: Don't double-quote-expand $(VPATH) value.
55548         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
55549
55550 2008-03-24  Eric Blake  <ebb9@byu.net>
55551
55552         Alter GNUmakefile to install into top directory.
55553         * modules/maintainer-makefile: Split, and add dependency...
55554         * modules/gnumakefile: to this new module.
55555         * build-aux/GNUmakefile: Move...
55556         * top/GNUmakefile: ...here.
55557         * build-aux/maint.mk: Move...
55558         * top/maint.mk: ...here.
55559         * MODULES.html.sh (Support for maintaining...): Document new
55560         module.
55561
55562 2008-03-23  Bruno Haible  <bruno@clisp.org>
55563
55564         * gnulib-tool: New options --vc-files, --no-vc-files.
55565         (func_usage): Document them.
55566         (vc_files): New variable.
55567         (func_import): Consider vc_files.
55568         (func_create_testdir): Set vc_files to empty.
55569         Suggested by Jim Meyering and Karl Berry.
55570
55571 2008-03-23  Bruno Haible  <bruno@clisp.org>
55572
55573         Fix regex compilation error on HP-UX 11.
55574         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
55575         * modules/regex (Files): Add m4/mbstate_t.m4.
55576         Reported by Ton Voon <ton.voon@altinity.com>.
55577
55578 2008-03-23  Bruno Haible  <bruno@clisp.org>
55579
55580         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
55581
55582 2008-03-23  Eric Blake  <ebb9@byu.net>
55583             Bruno Haible  <bruno@clisp.org>
55584
55585         Install files from top/ in the destination directory.
55586         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
55587         augmentation also for the files from top/.
55588         (func_import, func_create_testdir): Rewrite file names:
55589         top/filename -> filename.
55590
55591 2008-03-23  Bruno Haible  <bruno@clisp.org>
55592
55593         Tweak "gnulib --version" output.
55594         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
55595
55596 2008-03-23  Bruno Haible  <bruno@clisp.org>
55597
55598         Tweak "gnulib --version" output.
55599         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
55600         rather than contents of ChangeLog, when possible.
55601
55602 2008-03-21  Eric Blake  <ebb9@byu.net>
55603
55604         More --version tweaks.
55605         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
55606         date of last ChangeLog entry.
55607
55608 2008-03-21  Jim Meyering  <meyering@redhat.com>
55609
55610         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
55611
55612 2008-03-20  Eric Blake  <ebb9@byu.net>
55613
55614         VPATH fix.
55615         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
55616
55617 2008-03-20  Simon Josefsson  <simon@josefsson.org>
55618
55619         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
55620         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
55621
55622 2008-03-20  Eric Blake  <ebb9@byu.net>
55623
55624         Sync GNUmakefile with coreutils.
55625         * build-aux/GNUmakefile (have-Makefile): Rename...
55626         (_have-Makefile): ...to this, for namespace consideration.
55627         (GNUmakefile.cfg): Include, if present.
55628         (_autoreconf): Define a default.
55629         (_is-dist-target): New rule for rebuilds to pick up intra-release
55630         version.
55631         (maint-cfg.mk): Rename...
55632         (cfg.mk): ...to this.
55633
55634 2008-03-18  Jim Meyering  <meyering@redhat.com>
55635
55636         New script and module: mktempd
55637         * MODULES.html.sh (maint+release support): Add mktempd.
55638         * build-aux/mktempd: New file.
55639         * modules/mktempd: New file.
55640
55641 2008-03-15  Jim Meyering  <meyering@redhat.com>
55642
55643         Undo last change.
55644         * lib/sha1.c, lib/md5.c: 63 != ~63.
55645         Reported by Andreas Schwab.
55646
55647         sha1.c, md5.c: Hoist a redundant expression.
55648         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
55649         "ctx->buflen" only once, before calling *_process_block.
55650         * lib/md5.c (md5_process_bytes): Likewise.
55651
55652 2008-03-14  Eric Blake  <ebb9@byu.net>
55653
55654         Bump copyright year in files generated by gnulib-tool.
55655         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
55656         gnulib-tool, rather than hard-coding it.
55657
55658         Fix 'gnulib-tool --version' output to work with git.
55659         * gnulib-tool (func_gnulib_dir): New function, extracted from...
55660         (startup): ...here.
55661         (func_version): Use it to invoke git-version-gen, rather than
55662         relying on CVS keyword expansion.  Modernize wording.
55663         (cvsdatestamp, last_checkin_date, version): Kill unused
55664         variables.
55665
55666 2008-03-12  Jim Meyering  <meyering@redhat.com>
55667
55668         Recognize optional cast of the argument to free.
55669         * build-aux/useless-if-before-free: Update regexps.
55670
55671         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
55672
55673 2008-03-11  Bruno Haible  <bruno@clisp.org>
55674
55675         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
55676         by a single package.
55677         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
55678         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
55679         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
55680         Reported by Sam Steingold <sds@gnu.org>.
55681
55682 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
55683
55684         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
55685         repositories.
55686
55687 2008-03-11  Bruno Haible  <bruno@clisp.org>
55688
55689         Avoid conflicts between local macro definitions.
55690         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55691         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
55692
55693 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
55694             Bruno Haible  <bruno@clisp.org>
55695
55696         Make va_copy work with some version of xlc on AIX 5.1.
55697         * lib/stdarg.in.h: New file.
55698         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
55699         On AIX, use a <stdarg.h> file substitute.
55700         * modules/stdarg (Files): Add lib/stdarg.in.h.
55701         (Depends-on): Add include_next.
55702         (Makefile.am): Build a stdarg.h substitute if requested.
55703         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
55704
55705 2008-03-10  Bruno Haible  <bruno@clisp.org>
55706
55707         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
55708         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55709         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55710
55711 2008-03-10  Bruno Haible  <bruno@clisp.org>
55712
55713         * modules/stdlib (Depends-on): Add include_next, remove
55714         absolute-header.
55715
55716 2008-03-09  Bruno Haible  <bruno@clisp.org>
55717
55718         * lib/freadahead.h (freadahead): Document more precisely.
55719         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
55720         the sum of both buffer sizes.
55721         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
55722         * NEWS: Document the change.
55723
55724 2008-03-09  Bruno Haible  <bruno@clisp.org>
55725
55726         Extend freadptr to return also the buffer size.
55727         * lib/freadptr.h (freadptr): Add sizep argument.
55728         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
55729         (freadptr): Add sizep argument. Determine buffer size like freadahead
55730         does.
55731         * tests/test-freadptr.c: Don't include freadahead.h.
55732         (main): Adapt for new calling convention of freadptr.
55733         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
55734         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
55735         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
55736         tests/test-freadptr2.sh.
55737         (Depends): Remove freadahead.
55738         (TESTS): Add test-freadptr2.sh.
55739         (check_PROGRAMS): Add test-freadptr2.
55740
55741 2008-03-09  Bruno Haible  <bruno@clisp.org>
55742
55743         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
55744         Report and solution by Simon Josefsson.
55745
55746 2008-03-06  Bruno Haible  <bruno@clisp.org>
55747
55748         Make fflush after ungetc work on BSD platforms.
55749         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
55750         * tests/test-fflush2.c: New file.
55751         * tests/test-fflush2.sh: New file.
55752         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
55753         tests/test-fflush2.c.
55754         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
55755         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
55756
55757 2008-03-06  Eric Blake  <ebb9@byu.net>
55758
55759         Likewise for ftello.
55760         * modules/ftello (Dependencies): Add extensions.
55761         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
55762
55763 2008-03-06  Bruno Haible  <bruno@clisp.org>
55764
55765         * modules/fseeko (Dependencies): Add extensions.
55766         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
55767         Needed on glibc systems.
55768
55769 2008-03-06  Bruno Haible  <bruno@clisp.org>
55770
55771         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
55772         email address.
55773         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55774
55775 2008-03-06  Bruno Haible  <bruno@clisp.org>
55776
55777         * users.txt: Add libgnupdf.
55778
55779 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
55780
55781         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
55782         (Header File Substitutes, Function Substitutes,
55783         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
55784         (Build robot for gnulib): Fix typo.
55785
55786 2008-03-06  Bruno Haible  <bruno@clisp.org>
55787
55788         * doc/gnulib-tool.texi (VCS Issues): Small updates.
55789         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55790
55791 2008-03-06  Bruno Haible  <bruno@clisp.org>
55792
55793         * doc/func.texi: New file, extracted from doc/gnulib.texi.
55794         * doc/gnulib.texi: Include it.
55795
55796 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55797
55798         * modules/func (License): Change license to unlimited; there was
55799         no LGPL parts in the module anyway.
55800
55801 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55802
55803         * modules/__func__: Renamed to modules/func.
55804         * modules/__func__-tests: Renamed to modules/func-tests.
55805         * tests/test-__func__.c: Renamed to tests/test-func.c.
55806         * m4/__func__.m4: Renamed to m4/func.m4.
55807         * doc/gnulib.texi (__func__): Section renamed to func.
55808         Suggested by Eric Blake <ebb9@byu.net>.
55809
55810 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55811
55812         * doc/gnulib.texi (__func__): Use C99 terminology when talking
55813         about __func__.  Make example self-contained.  Suggested by Eric
55814         Blake <ebb9@byu.net>.
55815
55816         * tests/test-__func__.c (main): Avoid extraneous () around __func.
55817         Suggested by Eric Blake <ebb9@byu.net>.
55818
55819 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55820
55821         * modules/__func__: New file.
55822         * modules/__func__-tests: New file.
55823         * tests/test-__func__.c: New file.
55824         * m4/__func__.m4: New file.
55825         * doc/gnulib.texi (__func__): Document __func__ module.
55826
55827 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55828
55829         * modules/byteswap (License): Re-license as LGPLv2+.
55830
55831 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55832
55833         * doc/Makefile: Add pdf target.
55834
55835 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55836
55837         * modules/inline (License): Use 'unlimited', since there are only
55838         *.m4 files in this module.
55839
55840 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55841             Bruno Haible  <bruno@clisp.org>
55842
55843         Add support for HP C 7.1 on OpenVMS 8.3.
55844         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
55845
55846 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55847
55848         Update VMS specifics.
55849         * lib/getopt.c [VMS]: Remove include of unixlib.h.
55850
55851 2008-03-02  Jim Meyering  <meyering@redhat.com>
55852
55853         Remove the last dependency on the "free" module.
55854         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
55855         Reported by Bob Proulx.
55856
55857         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
55858
55859         Remove useless "if" tests before free.  Deprecate "free" module.
55860         * doc/posix-functions/free.texi: Mention that this
55861         module is no longer useful.
55862         * modules/free (Notice): Say this module is obsolete.
55863         * modules/readutmp (Depends-on): Remove free.
55864         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
55865         * lib/putenv.c (putenv): Likewise.
55866         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
55867         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
55868         * tests/test-c-strcasestr.c (main): Likewise.
55869         * tests/test-c-strstr.c (main): Likewise.
55870         * tests/test-mbscasestr1.c (main): Likewise.
55871         * tests/test-mbscasestr2.c (main): Likewise.
55872         * tests/test-mbsstr1.c (main): Likewise.
55873         * tests/test-mbsstr2.c (main): Likewise.
55874         * tests/test-memmem.c (main): Likewise.
55875         * tests/test-strcasestr.c (main): Likewise.
55876         * tests/test-striconv.c (main): Likewise.
55877         * tests/test-striconveh.c (main): Likewise.
55878         * tests/test-striconveha.c (main): Likewise.
55879         * tests/test-strstr.c (main): Likewise.
55880
55881         * build-aux/git-version-gen: Adjust a comment and the Usage string.
55882
55883         bootstrap: sync from coreutils again
55884         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
55885
55886 2008-03-01  Jim Meyering  <meyering@redhat.com>
55887
55888         bootstrap: sync from coreutils
55889         * build-aux/bootstrap (update_po_files): Copy a .po file into place
55890         also when the target doesn't exist.
55891
55892 2008-03-01  Eric Blake  <ebb9@byu.net>
55893
55894         Fix bugs in last patch.
55895         * lib/memchr2.c (memchr2): Fix typo.
55896         * tests/test-memchr2.c: Test previous bug, and don't use GNU
55897         extension.
55898         Reported by Bruce Korb.
55899
55900         New module 'memchr2'.
55901         * modules/memchr2: New file.
55902         * modules/memchr2-tests: Likewise.
55903         * lib/memchr2.h: Likewise.
55904         * lib/memchr2.c: Likewise, based on memchr.c.
55905         * tests/test-memchr2.c: New test.
55906         * MODULES.html.sh (String handling): Add memchr2.
55907
55908 2008-02-29  Bruno Haible  <bruno@clisp.org>
55909
55910         * modules/freadseek-tests: New file.
55911         * tests/test-freadseek.sh: New file.
55912         * tests/test-freadseek.c: New file.
55913
55914         New module 'freadseek'.
55915         * modules/freadseek: New file.
55916         * lib/freadseek.h: New file.
55917         * lib/freadseek.c: New file.
55918         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
55919
55920 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
55921
55922         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
55923         wydawca.
55924
55925         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
55926         program_invocation_name and program_invocation_short_name are
55927         present.
55928
55929 2008-02-28  Bruno Haible  <bruno@clisp.org>
55930
55931         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
55932         * tests/test-freadptr.sh: Also test non-seekable stdin.
55933
55934 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
55935
55936         * build-aux/bootstrap (source_base, m4_base)
55937         (doc_base, tests_base): New variables.
55938         (gnulib_tool_options): Do not hardcode base directories, use
55939         the above variables instead.
55940
55941 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
55942
55943         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
55944
55945 2008-02-28  Bruno Haible  <bruno@clisp.org>
55946
55947         * modules/freadptr-tests: New file.
55948         * tests/test-freadptr.sh: New file.
55949         * tests/test-freadptr.c: New file.
55950
55951         New module 'freadptr'.
55952         * modules/freadptr: New file.
55953         * lib/freadptr.h: New file.
55954         * lib/freadptr.c: New file.
55955         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
55956
55957 2008-02-26  Karl Berry  <karl@freefriends.org>
55958
55959         Sync from Libtool:
55960         * libltdl/argz.c (argz_add, argz_count): New functions.
55961         * libltdl/argz.in.h: Declare them.
55962         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
55963
55964 2008-02-22  Bruno Haible  <bruno@clisp.org>
55965
55966         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
55967         is a pointer type.  Needed for HP-UX 10.
55968         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
55969         * doc/posix-functions/gmtime_r.texi: Likewise.
55970         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55971
55972 2008-02-24  Bruno Haible  <bruno@clisp.org>
55973
55974         * modules/environ-tests: New file.
55975         * tests/test-environ.c: New file.
55976
55977         New module 'environ'.
55978         * modules/environ: New file.
55979         * lib/unistd.in.h (environ): New declaration.
55980         * m4/environ.m4: New file.
55981         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
55982         after use.
55983         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
55984         HAVE_DECL_ENVIRON.
55985         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
55986         HAVE_DECL_ENVIRON.
55987         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
55988         wrong claim that 'environ' is missing on some systems.
55989         * modules/execute (Depends-on): Add environ.
55990         * lib/execute.c (environ): Remove fallback declaration.
55991         * modules/pipe (Depends-on): Add environ.
55992         * lib/pipe.c (environ): Remove fallback declaration.
55993         * modules/setenv (Depends-on): Add environ.
55994         * lib/setenv.c (environ): Remove fallback declaration.
55995         * modules/unsetenv (Depends-on): Add environ.
55996         * lib/unsetenv.c (environ): Remove fallback declaration.
55997         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
55998         m4/environ.m4.
55999         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
56000         (gl_PREREQ_UNSETENV): Likewise.
56001
56002 2008-02-24  Bruno Haible  <bruno@clisp.org>
56003
56004         * doc/posix-functions/environ.texi: Document the MacOS X problem.
56005
56006 2008-02-20  Bob Proulx  <bob@proulx.com>
56007
56008         Enable use of older two part flavor 'git describe'.
56009         * build-aux/git-version-gen: If using the older two part flavor of
56010         git version then recreate the third part now present in the
56011         newer three part flavor of git describe.
56012
56013 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
56014
56015         * lib/fts.c (fts_build): Typo correction to comment.
56016
56017 2008-02-17  Bruno Haible  <bruno@clisp.org>
56018
56019         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
56020         generating no-op conflicts.
56021
56022 2008-02-17  Bruno Haible  <bruno@clisp.org>
56023
56024         Speed up by 10%.
56025         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
56026         result_entries, rather than an index-based loop.
56027
56028 2008-02-17  Bruno Haible  <bruno@clisp.org>
56029
56030         Speed up by 25%.
56031         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
56032         'hashcode_cached'.
56033         (entry_create): New function.
56034         (entry_hashcode): Use the cached hashcode if possible.
56035         (read_changelog_file, try_split_merged_entry): Use entry_create.
56036
56037 2008-02-17  Bruno Haible  <bruno@clisp.org>
56038
56039         Speed up from O(n^2) to O(n) for long ChangeLog files.
56040         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
56041         (read_changelog_file): Change implementation of entries_reversed list
56042         to rbtreehash.
56043         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
56044
56045 2008-02-17  Bruno Haible  <bruno@clisp.org>
56046
56047         New option --split-merged-entry.
56048         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
56049         (find_paragraph_end, try_split_merged_entry): New functions.
56050         (long_options): Add option --split-merged-entry.
56051         (usage): Document option --split-merged-entry.
56052         (main): Implement option --split-merged-entry.
56053         Reported by Eric Blake.
56054
56055 2008-02-17  Bruno Haible  <bruno@clisp.org>
56056
56057         * lib/git-merge-changelog.c: Include c-strstr.h.
56058         (main): Support the "git pull --rebase" situation.
56059         * modules/git-merge-changelog (Depends-on): Add c-strstr.
56060         Reported by Eric Blake.
56061
56062 2008-02-16  Eric Blake  <ebb9@byu.net>
56063
56064         Avoid doubling \ in common case of "c-maybe" quoting style.
56065         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
56066         eliding outer quotes.
56067         * lib/quotearg.h: Document this.
56068         * tests/test-quotearg.c (result_strings, inputs, results_g)
56069         (flag_results, locale_results): Test it by adding a new string to
56070         each test group.
56071         (compare_strings): Test new string.
56072
56073 2008-02-13  Eric Blake  <ebb9@byu.net>
56074
56075         Avoid trigraph quoting in default output.
56076         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
56077         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
56078         unless explicitly requested.
56079         * tests/test-quotearg.c (flag_results, main): Add additional tests.
56080
56081 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
56082
56083         Don't rely on signed integer overflowing to negative value.
56084         * lib/getugroups.c (getugroups): Include <limits.h>.
56085         Instead, compare against INT_MAX, and increment only if the test passes.
56086
56087 2008-02-13  Jim Meyering  <meyering@redhat.com>
56088         and Eric Blake  <ebb9@byu.net>
56089
56090         Avoid shadowing warning and compile errors on Linux.
56091         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
56092         forwarding macros on Linux.
56093         (dcgettext): Define a stub, for Linux.
56094         (results_g, main): Avoid warnings.
56095
56096 2008-02-12  Eric Blake  <ebb9@byu.net>
56097
56098         Silence warning in last patch.
56099         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
56100
56101         Quotearg part 4: add tests, fix c-maybe colon quoting.
56102         * lib/quotearg.h: Improve documentation.
56103         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
56104         escapes when adding outer quotes.  When quoting trigraphs, use
56105         valid C notation.  When quoting NUL, omit extra characters if next
56106         character is not digit.  Alter prototype.
56107         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
56108         callers.
56109         * modules/quotearg-tests: New module.
56110         * tests/test-quotearg.c: New test.
56111
56112 2008-02-07  Eric Blake  <ebb9@byu.net>
56113
56114         Quotearg part 3: add flag to control outer quote elision.
56115         * lib/quotearg.h (c_maybe_quoting_style): New style.
56116         (enum quoting_flags): Better documentation of flags.
56117         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
56118         c-maybe style.
56119         (quotearg_buffer_restyled): Handle new flag to elide outer
56120         quotes.
56121
56122         Quotearg part 2: add flag that can control NUL elision.
56123         * lib/quotearg.h (set_quoting_flags): New prototype.
56124         * lib/quotearg.c (struct quoting_options): Add flag field.
56125         (set_quoting_flags): New function.
56126         (quotearg_buffer_restyled): Add flags parameter.
56127         (quotearg_alloc_mem): Set the flag if length cannot be returned.
56128         (quotearg_n_options): Set the flag, since length cannot be
56129         returned.
56130         (quoting_options_from_style): Default flags correctly.
56131
56132         Quotearg part 1: more wrappers, restore quotearg_char state.
56133         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
56134         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
56135         (quotearg_colon_mem): New wrappers.
56136         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
56137         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
56138         functions.
56139         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
56140         (quotearg_colon_mem): New functions.
56141
56142 2008-02-11  Bruno Haible  <bruno@clisp.org>
56143
56144         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
56145         library in the current directory: it does not work with parallel make.
56146         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56147
56148 2008-02-11  Bruno Haible  <bruno@clisp.org>
56149
56150         * .gitattributes: New file.
56151
56152 2008-02-11  Jim Meyering  <meyering@redhat.com>
56153
56154         useless-if-before-free: Fix reversed exit values.
56155         * build-aux/useless-if-before-free: Use correct values
56156         for EXIT_MATCH and EXIT_NO_MATCH.
56157
56158         * build-aux/useless-if-before-free: Close stdout carefully.
56159
56160 2008-02-10  Bruno Haible  <bruno@clisp.org>
56161
56162         New module 'git-merge-changelog'.
56163         * modules/git-merge-changelog: New file.
56164         * lib/git-merge-changelog.c: New file.
56165
56166 2008-02-10  Jim Meyering  <meyering@redhat.com>
56167
56168         useless-if-before-free: New option: --list (-l).
56169
56170         useless-if-before-free: Don't exit immediately upon open failure.
56171         * build-aux/useless-if-before-free: Exit 2 for errors.
56172         Upon failure to open a file, don't exit immediately.
56173         Rather, just warn and continue with any remaining files.
56174
56175 2008-02-10  Bruno Haible  <bruno@clisp.org>
56176
56177         New abstract list operation 'node_set_value'.
56178         * lib/gl_list.h (gl_list_node_set_value): New function.
56179         (struct gl_list_implementation): New field node_set_value.
56180         * lib/gl_list.c (gl_list_node_set_value): New function.
56181         * lib/gl_array_list.c (gl_array_node_set_value): New function.
56182         (gl_array_list_implementation): Update.
56183         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
56184         (gl_carray_list_implementation): Update.
56185         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
56186         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56187         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56188         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
56189         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56190         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56191         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56192         Update.
56193         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56194         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
56195         (gl_sublist_list_implementation): Update.
56196
56197 2008-02-10  Bruno Haible  <bruno@clisp.org>
56198
56199         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
56200         Needed when ELEMENT is #defined to 'some_type *'.
56201
56202 2008-02-10  Jim Meyering  <meyering@redhat.com>
56203
56204         New script and module: useless-if-before-free
56205         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
56206         * build-aux/useless-if-before-free: New file.
56207         * modules/useless-if-before-free: New file.
56208
56209         * build-aux/gitlog-to-changelog: Use committer date, not author date.
56210
56211         xstrtol_error: Fix typo.
56212         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
56213         s/exit_failure/exit_status/.
56214
56215 2008-02-09  Jim Meyering  <meyering@redhat.com>
56216
56217         New script and module: gitlog-to-changelog
56218         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
56219         * modules/gitlog-to-changelog: New file.
56220         * build-aux/gitlog-to-changelog: New file.
56221
56222 2008-02-08  Jim Meyering  <meyering@redhat.com>
56223
56224         Avoid two "parameter unused" warnings.
56225         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
56226         Mark "st" as used.
56227
56228         Use "git COMMAND", not "git-COMMAND".
56229         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
56230         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
56231         * build-aux/git-version-gen: Use "git status", not "git-status".
56232
56233 2008-02-07  Bruno Haible  <bruno@clisp.org>
56234
56235         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
56236         Avoids a crash on Windows Vista.
56237         Reported by Adam Strzelecki <ono@java.pl> via
56238         Simon Josefsson <simon@josefsson.org>.
56239
56240 2008-02-06  Bruno Haible  <bruno@clisp.org>
56241
56242         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
56243         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
56244         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
56245         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
56246         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56247         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56248         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
56249         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
56250         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56251         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56252         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56253         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56254         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56255         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56256         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56257         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
56258         left-adjust flag.
56259         * tests/test-snprintf-posix.h (test_function): Likewise.
56260         * tests/test-sprintf-posix.h (test_function): Likewise.
56261         * tests/test-vasprintf-posix.c (test_function): Likewise.
56262         * doc/posix-functions/fprintf.texi: Update.
56263         * doc/posix-functions/printf.texi: Update.
56264         * doc/posix-functions/snprintf.texi: Update.
56265         * doc/posix-functions/sprintf.texi: Update.
56266         * doc/posix-functions/vfprintf.texi: Update.
56267         * doc/posix-functions/vprintf.texi: Update.
56268         * doc/posix-functions/vsnprintf.texi: Update.
56269         * doc/posix-functions/vsprintf.texi: Update.
56270         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56271
56272 2008-02-06  Bruno Haible  <bruno@clisp.org>
56273
56274         Fix bug introduced on 2008-01-26.
56275         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
56276
56277 2008-02-06  Bruno Haible  <bruno@clisp.org>
56278
56279         Fix bug introduced on 2007-06-10.
56280         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
56281         !NEED_PRINTF_FLAG_ZERO.
56282
56283 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
56284
56285         getloadavg: use libperfstat on AIX5
56286         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
56287
56288 2008-02-03  Bruno Haible  <bruno@clisp.org>
56289
56290         * lib/diffseq.h: Add comments about required #includes.
56291         Reported by Michael Biggs <gnulib@doubleplum.net>.
56292
56293 2008-02-01  Bruno Haible  <bruno@clisp.org>
56294
56295         * users.txt: Add gnuit.
56296
56297 2008-01-31  Bruno Haible  <bruno@clisp.org>
56298
56299         * lib/md4.c (set_uint32): Mark as inline.
56300         * lib/md5.c (set_uint32): Likewise.
56301         * lib/sha1.c (set_uint32): Likewise.
56302         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
56303         * m4/md5.m4 (gl_MD5): Likewise.
56304         * m4/sha1.m4 (gl_SHA1): Likewise.
56305
56306 2008-01-31  Jim Meyering  <meyering@redhat.com>
56307
56308         Use "sizeof VAR", rather than a literal "4".
56309         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
56310         * lib/md4.c (md4_read_ctx): Likewise.
56311         * lib/sha1.c (sha1_read_ctx): Likewise.
56312
56313 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56314
56315         * tests/test-sha1.c: New file, based on test-md5.c.
56316
56317         * modules/crypto/sha1-tests: New file.
56318
56319 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56320
56321         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
56322
56323 2008-01-31  Jim Meyering  <meyering@redhat.com>
56324
56325         Prefer "sizeof v" over the equivalent "4".
56326         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
56327         * lib/md5.c (set_uint32): Likewise.
56328         * lib/sha1.c (set_uint32): Likewise.
56329
56330 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56331
56332         * lib/sha1.c (set_uint32): Mark function as static.
56333
56334 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56335
56336         md2: clarify comments to say that alignment is not required.
56337         * lib/md2.h: Remove warning about alignment in comment.
56338         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
56339         never been required.
56340
56341 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56342
56343         md4: adapt alignment constraint fix from sha1.
56344         * lib/md4.c (set_uint32): New function, from sha1.c
56345         (md4_read_ctx): Use it.
56346         (md4_finish_ctx): Doc fix.
56347         * lib/md4.h: Doc fix.
56348
56349 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56350
56351         md5: adapt alignment constraint fix from sha1.
56352         * lib/md5.c (set_uint32): New function, from sha1.c
56353         (md5_read_ctx): Use it.
56354         (md5_finish_ctx): Doc fix.
56355         * lib/md5.h: Doc fix.
56356
56357 2008-01-30  Peter Palfrader  <weasel@debian.org>
56358
56359         sha1: remove the result buffer alignment constraint
56360         * lib/sha1.c (set_uint32): New function.
56361         (sha1_read_ctx): Rewrite to remove the result buffer alignment
56362         constraint.
56363         (sha1_finish_ctx): Remove comment warning about alignment constraint.
56364         * lib/sha1.h: Likewise.
56365
56366 2008-01-30  Andreas Schwab  <schwab@suse.de>
56367             Bruno Haible  <bruno@clisp.org>
56368
56369         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
56370         correct definition of LDBL_MIN_EXP.
56371
56372 2008-01-30  Karl Berry  <karl@gnu.org>
56373
56374         * config/srclist-update: try to preserve x bit on updates.
56375         * config/srclistvars.sh: update for karl.
56376
56377 2008-01-29  Jim Meyering  <meyering@redhat.com>
56378
56379         vasnprintf.c: Avoid warning about unused label
56380         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
56381         "overflow" label definition and associated code with the
56382         same cpp condition that guards the sole use of that label.
56383
56384 2008-01-26  Bruno Haible  <bruno@clisp.org>
56385
56386         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
56387         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
56388         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
56389         * lib/isnanl-nolibm.h (isnanl): Likewise.
56390         Reported by Paul Eggert <eggert@cs.ucla.edu>.
56391
56392 2008-01-26  Bruno Haible  <bruno@clisp.org>
56393
56394         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
56395         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
56396
56397 2008-01-26  Bruno Haible  <bruno@clisp.org>
56398
56399         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
56400         GCC >= 4.0 built-in.
56401         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
56402
56403 2008-01-26  Bruno Haible  <bruno@clisp.org>
56404
56405         Rename isnan, applicable to 'double' only, to isnand.
56406         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
56407         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
56408         (configure.ac): Update.
56409         (Include): Replace "isnan.h" with "isnand.h".
56410         * m4/isnand.m4: Renamed from m4/isnan.m4.
56411         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
56412         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
56413         instead of isnan.c.
56414         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
56415         instead of HAVE_ISNAN_IN_LIBC.
56416         (isnand): Renamed from isnan.
56417         * lib/isnand.c: New file.
56418         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
56419         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
56420         (Makefile.am): Update.
56421         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
56422         Include isnand.h instead of isnan.h.
56423         (main): Test isnand instead of isnan.
56424         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
56425         isnan-nolibm.
56426         * modules/frexp (Depends-on): Likewise.
56427         * modules/frexp-tests (Depends-on): Likewise.
56428         * modules/frexp-nolibm (Depends-on): Likewise.
56429         * modules/frexp-nolibm-tests (Depends-on): Likewise.
56430         * modules/isfinite (Depends-on): Likewise.
56431         * modules/round-tests (Depends-on): Likewise.
56432         * modules/signbit (Depends-on): Likewise.
56433         * modules/signbit-tests (Depends-on): Likewise.
56434         * modules/snprintf-posix (Depends-on): Likewise.
56435         * modules/sprintf-posix (Depends-on): Likewise.
56436         * modules/trunc-tests (Depends-on): Likewise.
56437         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56438         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56439         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56440         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56441         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56442         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56443         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56444         * modules/vasnprintf-posix (Depends-on): Likewise.
56445         * modules/vasprintf-posix (Depends-on): Likewise.
56446         * modules/vfprintf-posix (Depends-on): Likewise.
56447         * modules/vsnprintf-posix (Depends-on): Likewise.
56448         * modules/vsprintf-posix (Depends-on): Likewise.
56449         * lib/frexp.c: Include isnand.h instead of isnan.h.
56450         (ISNAN): Set to isnand instead of isnan.
56451         * lib/isfinite.c: Include isnand.h instead of isnan.h.
56452         (gl_isfinited): Use isnand instead of isnan.
56453         * lib/signbitd.c: Include isnand.h instead of isnan.h.
56454         (gl_signbitd): Use isnand instead of isnan.
56455         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
56456         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
56457         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
56458         (main): Use isnand instead of isnan.
56459         * tests/test-round1.c: Include isnand.h.
56460         (main): Use isnand instead of isnan.
56461         * tests/test-round2.c: Include isnand.h instead of isnan.h.
56462         (ISNAN): Set to isnand instead of isnan.
56463         * tests/test-trunc1.c: Include isnand.h.
56464         (main): Use isnand instead of isnan.
56465         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
56466         (equal): Use isnand instead of isnan.
56467         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
56468         isnand-nolibm.
56469         * NEWS: Mention the change.
56470
56471 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
56472             Bruno Haible  <bruno@clisp.org>
56473
56474         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
56475         the GCC builtins for signbits are present and set
56476         REPLACE_SIGNBIT_USING_GCC if so.
56477         * lib/math.in.h (signbit): Define using GCC builtins if
56478         REPLACE_SIGNBIT_USING_GCC is set.
56479         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
56480         REPLACE_SIGNBIT_USING_GCC.
56481         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
56482
56483 2008-01-25  Jim Meyering  <meyering@redhat.com>
56484
56485         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
56486         * lib/poll.c: Include <config.h>, not "config.h".
56487         * tests/test-getaddrinfo.c: Likewise.
56488
56489 2008-01-25  Simon Josefsson  <simon@josefsson.org>
56490
56491         * modules/sockets-tests: New file.
56492
56493 2008-01-24  Simon Josefsson  <simon@josefsson.org>
56494
56495         * modules/sockets: New module, can be used to call WSA_Startup and
56496         WSA_Cleanup when needed.
56497
56498         * lib/sockets.h, lib/sockets.c: New files.
56499
56500         * m4/sockets.m4: New file.
56501
56502         * tests/test-sockets.c: New file.
56503
56504 2008-01-19  Bruno Haible  <bruno@clisp.org>
56505
56506         * doc/posix-headers: Renamed from doc/headers.
56507         * doc/posix-functions: Renamed from doc/functions.
56508         * doc/gnulib.texi: Update.
56509
56510 2008-01-19  Bruno Haible  <bruno@clisp.org>
56511
56512         * doc/glibc-functions/strcasestr.texi: Include contents of
56513         doc/functions/strcasestr.texi, fixing the list of platforms.
56514         * doc/functions/strcasestr.texi: Remove file.
56515
56516 2008-01-19  Bruno Haible  <bruno@clisp.org>
56517
56518         * doc/glibc-functions/memmem.texi: Include contents of
56519         doc/functions/memmem.texi.
56520         * doc/functions/memmem.texi: Remove file.
56521
56522 2008-01-18  Bruno Haible  <bruno@clisp.org>
56523
56524         * doc/glibc-functions/*.texi: New files.
56525         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
56526         to use the new files.
56527
56528 2008-01-17  Bruno Haible  <bruno@clisp.org>
56529
56530         * tests/test-gethostname.c (main): Fix printf statement.
56531
56532 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56533
56534         * modules/gethostname-tests: New file.
56535
56536         * tests/test-gethostname.c: New file.
56537
56538 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56539
56540         * lib/gethostname.c: Include string.h unconditionally, strncpy is
56541         used by the UNAME case.  Reported by Bruno Haible
56542         <bruno@clisp.org>.
56543
56544 2008-01-17  Eric Blake  <ebb9@byu.net>
56545
56546         Convert c-strcasestr to be more efficient.
56547         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
56548         (Depends-on): Add c-strcase, remove malloca, strnlen.
56549         * tests/test-c-strcasestr.c (main): Enhance test.
56550         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
56551
56552 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
56553
56554         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
56555         Use it in creating po/Makevars.
56556
56557 2008-01-15  Simon Josefsson  <simon@josefsson.org>
56558
56559         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
56560         Applications that requires it should initialize libgcrypt
56561         manually.
56562
56563 2008-01-16  Simon Josefsson  <simon@josefsson.org>
56564
56565         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
56566
56567 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
56568
56569         Fix problem with getdate on mingw32 reported by Simon Josefsson
56570         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
56571         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
56572         tzname", when deciding whether to declare tzname.
56573         * lib/strftime.c (tzname): Likewise.
56574
56575 2008-01-15  Bruno Haible  <bruno@clisp.org>
56576
56577         Work around a MacOS X 10.5 bug in frexpl().
56578         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
56579         * doc/functions/frexpl.texi: Document the bug.
56580         Reported by Elias Pipping <pipping@gentoo.org>.
56581
56582 2008-01-14  Eric Blake  <ebb9@byu.net>
56583
56584         Touch up previous patch.
56585         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
56586         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
56587
56588         Convert strcasestr module to use Two-Way algorithm.
56589         * modules/strcasestr-simple: New module, based on the old
56590         strcasestr, but with Two-Way rather than KMP.
56591         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
56592         * lib/string.in.h (rpl_strcasestr): Declare.
56593         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
56594         performance.
56595         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
56596         * modules/string (Makefile.am): Support strcasestr.
56597         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
56598         * modules/strcasestr-tests (Depends-on): Check for alarm.
56599         * tests/test-strcasestr.c: Augment test.
56600         * lib/str-two-way.h: Clean up stray macro.
56601         * NEWS: Document new module.
56602         * MODULES.html.sh (string handling): Likewise.
56603         * doc/functions/strcasestr.texi: New file.
56604         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
56605         here, since it is not a POSIX function.
56606
56607 2008-01-14  Colin Watson  <cjwatson@debian.org>
56608             Bruno Haible  <bruno@clisp.org>
56609
56610         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
56611         works fine; if not, set REPLACE_STRSIGNAL.
56612         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
56613         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56614         REPLACE_STRSIGNAL.
56615         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
56616         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
56617         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
56618
56619 2008-01-14  Bruno Haible  <bruno@clisp.org>
56620
56621         * modules/strsignal (Include): Change to <string.h>.
56622
56623 2008-01-14  Colin Watson  <cjwatson@debian.org>
56624
56625         * modules/argp (Notice): Add a notice recommending to change
56626         XGETTEXT_OPTIONS.
56627         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
56628
56629 2008-01-13  Colin Watson  <cjwatson@debian.org>
56630
56631         * modules/strsignal-tests: New file.
56632         * tests/test-strsignal.c: New file.
56633
56634         * lib/strsignal.c: New file, from glibc with modifications.
56635         * lib/siglist.h: New file, from glibc with modifications.
56636         * lib/string.in.h (strsignal): New declaration.
56637         * m4/strsignal.m4: New file.
56638         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56639         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
56640         * modules/strsignal: New file.
56641         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
56642         HAVE_DECL_STRSIGNAL.
56643
56644 2008-01-13  Bruno Haible  <bruno@clisp.org>
56645
56646         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
56647         locale encoding is not ASCII. Needed for OpenBSD 4.0.
56648         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
56649         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56650
56651 2008-01-13  Bruno Haible  <bruno@clisp.org>
56652
56653         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
56654         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
56655         * lib/argp.h (__attribute__): Likewise.
56656         * lib/c-stack.c (__attribute__): Likewise.
56657         * lib/error.h (__attribute__): Likewise.
56658         * lib/fts.c (__attribute__): Likewise.
56659         * lib/openat.h (__attribute__): Likewise.
56660         * lib/stdio.in.h (__attribute__): Likewise.
56661         * lib/string.in.h (__attribute__): Likewise.
56662         * lib/utimens.c (__attribute__): Likewise.
56663         * lib/vasnprintf.h (__attribute__): Likewise.
56664         * lib/xalloc.h (__attribute__): Likewise.
56665         * lib/xprintf.h (__attribute__): Likewise.
56666         * lib/xstrtol.h (__attribute__): Likewise.
56667         * lib/xvasprintf.h (__attribute__): Likewise.
56668
56669 2008-01-12  Bruno Haible  <bruno@clisp.org>
56670
56671         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
56672         * doc/glibc-headers/a.out.texi: New file.
56673         * doc/glibc-headers/aliases.texi: New file.
56674         * doc/glibc-headers/alloca.texi: New file.
56675         * doc/glibc-headers/ar.texi: New file.
56676         * doc/glibc-headers/argp.texi: New file.
56677         * doc/glibc-headers/argz.texi: New file.
56678         * doc/glibc-headers/byteswap.texi: New file.
56679         * doc/glibc-headers/crypt.texi: New file.
56680         * doc/glibc-headers/endian.texi: New file.
56681         * doc/glibc-headers/envz.texi: New file.
56682         * doc/glibc-headers/err.texi: New file.
56683         * doc/glibc-headers/error.texi: New file.
56684         * doc/glibc-headers/execinfo.texi: New file.
56685         * doc/glibc-headers/fpu_control.texi: New file.
56686         * doc/glibc-headers/fstab.texi: New file.
56687         * doc/glibc-headers/fts.texi: New file.
56688         * doc/glibc-headers/getopt.texi: New file.
56689         * doc/glibc-headers/ieee754.texi: New file.
56690         * doc/glibc-headers/ifaddrs.texi: New file.
56691         * doc/glibc-headers/libintl.texi: New file.
56692         * doc/glibc-headers/mcheck.texi: New file.
56693         * doc/glibc-headers/mntent.texi: New file.
56694         * doc/glibc-headers/obstack.texi: New file.
56695         * doc/glibc-headers/paths.texi: New file.
56696         * doc/glibc-headers/printf.texi: New file.
56697         * doc/glibc-headers/pty.texi: New file.
56698         * doc/glibc-headers/resolv.texi: New file.
56699         * doc/glibc-headers/shadow.texi: New file.
56700         * doc/glibc-headers/sysexits.texi: New file.
56701         * doc/glibc-headers/ttyent.texi: New file.
56702
56703 2008-01-12  Jim Meyering  <meyering@redhat.com>
56704
56705         announce-gen: emit Gnulib's git-based version string.
56706         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
56707         New option --gnulib-version=V, where V is expected to be
56708         the output of running git describe in the gnulib directory.
56709         (get_tool_versions): Request feedback on xdelta.  I suspect it's
56710         not useful, and plan to stop publishing an xdelta file with each
56711         coreutils release.
56712
56713         * build-aux/announce-gen: Also check for lzma-compressed files.
56714
56715 2008-01-11  Bruno Haible  <bruno@clisp.org>
56716
56717         * tests/test-memmem.c (main): Increase maximum allowed time.
56718         * tests/test-strstr.c (main): Likewise.
56719
56720 2008-01-11  Bruno Haible  <bruno@clisp.org>
56721
56722         * doc/functions/memmem.texi: Add more precisions about platforms.
56723         * doc/functions/strstr.texi: Likewise.
56724
56725 2008-01-10  Eric Blake  <ebb9@byu.net>
56726
56727         * m4/strstr.m4: Delete cruft from copy-n-paste.
56728         Reported by Bruno Haible.
56729
56730 2008-01-10  Bruno Haible  <bruno@clisp.org>
56731
56732         Make c-strstr rely on strstr.
56733         * lib/c-strstr.c: Don't include str-kmp.h.
56734         (c_strstr): Define in terms of strstr.
56735         * modules/c-strstr (Files): Remove lib/str-kmp.h.
56736         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
56737
56738 2008-01-10  Bruno Haible  <bruno@clisp.org>
56739
56740         * doc/gnulib.texi (String Functions in C Locale): New section.
56741         * doc/c-ctype.texi: New file.
56742         * doc/c-strcase.texi: New file.
56743         * doc/c-strcaseeq.texi: New file.
56744         * doc/c-strcasestr.texi: New file.
56745         * doc/c-strstr.texi: New file.
56746         * doc/c-strtod.texi: New file.
56747         * doc/c-strtold.texi: New file.
56748
56749 2008-01-10  Eric Blake  <ebb9@byu.net>
56750
56751         * lib/relocatable.h: Fix a comment.
56752
56753 2008-01-10  Eric Blake  <ebb9@byu.net>
56754
56755         Share two-way algorithm.
56756         * lib/str-two-way.h: New file, merged from...
56757         * lib/memmem.c: ...here...
56758         * lib/strstr.c: ...and here.
56759         * modules/memmem (Files): Use it.
56760         * modules/strstr (Files): Likewise.
56761
56762         Avoid quadratic strstr implementations.
56763         * lib/strstr.c: New file.
56764         * m4/strstr.m4: Likewise.
56765         * modules/strstr: Likewise.
56766         * modules/strstr-tests: Likewise.
56767         * tests/test-strstr.c: Likewise.
56768         * lib/string.in.h (rpl_strstr): Declare.
56769         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
56770         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
56771         * modules/string (Makefile.am): Likewise.
56772         * MODULES.html.sh (string handling): Mention new module.
56773         * doc/functions/strstr.texi (strstr): Document the bug.
56774
56775 2008-01-10  Bruno Haible  <bruno@clisp.org>
56776
56777         * lib/relocatable.h (relocate): State whether result is freshly
56778         allocated or not.
56779         * lib/relocatable.c (relocate): Return a freshly allocated string
56780         instead of a pointer to a privately held string.
56781         Reported by Sylvain Beucler <beuc@gnu.org>.
56782
56783 2008-01-10  Colin Watson  <cjwatson@debian.org>
56784
56785         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
56786         s/S_ISNLK/S_ISLNK/.
56787
56788 2008-01-09  Bruno Haible  <bruno@clisp.org>
56789
56790         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
56791         and other files.
56792         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
56793         if it's only a guess.
56794         * modules/memmem: Simplify by depending on memmem-simple.
56795
56796 2008-01-09  Bruno Haible  <bruno@clisp.org>
56797
56798         Work around OpenBSD 4.0 tdelete() bug.
56799         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
56800         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
56801         macros and don't redefine the enum values.
56802         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
56803         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
56804         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
56805
56806 2008-01-09  Bruno Haible  <bruno@clisp.org>
56807
56808         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
56809         (main): Don't perform the tests if setlocale did not install a UTF-8
56810         locale. Needed on OpenBSD 4.0.
56811         * modules/wcwidth-tests (Depends-on): Add localcharset.
56812
56813 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56814
56815         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
56816         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
56817         * NEWS: announce this.
56818         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
56819
56820 2008-01-09  Simon Josefsson  <simon@josefsson.org>
56821         and Eric Blake  <ebb9@byu.net>
56822
56823         Add memmem-simple module.
56824         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
56825         (gl_FUNC_MEMMEM): Separate performance from presence checks.
56826         * modules/memmem-simple: New file.
56827         * modules/memmem (Description): Tweak.
56828         * MODULES.html.sh (string handling): Mention new module.
56829         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
56830         addressed by memmem-simple.
56831         * NEWS: Document the difference.
56832
56833 2008-01-09  Eric Blake  <ebb9@byu.net>
56834
56835         Give gcc some memmem optimization hints.
56836         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
56837         (strcasestr): Declare as pure.
56838         * modules/memmem (Maintainer): Claim my implementation.
56839
56840 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56841
56842         Support AIX 6.1 and higher.
56843         * build-aux/config.libpath: Likewise.
56844         * build-aux/config.rpath: Likewise.
56845
56846 2008-01-08  Jim Meyering  <meyering@redhat.com>
56847             Bruno Haible  <bruno@clisp.org>
56848
56849         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
56850         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
56851         Reported by Peter Fales in
56852         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
56853
56854 2008-01-08  Bruno Haible  <bruno@clisp.org>
56855
56856         * modules/unictype/category-of (Depends-on): Add
56857         unictype/category-none.
56858         * modules/unictype/category-and-tests (Depends-on): Add
56859         unictype/category-{L,N,Lu,Nd}.
56860         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
56861         * modules/unictype/category-or-tests (Depends-on): Add
56862         unictype/category-{L,N}.
56863         * modules/unictype/category-name-tests (Depends-on): Add
56864         unictype/category-{Z,Nl}.
56865         Reported by Simon Josefsson.
56866
56867 2008-01-08  Bruno Haible  <bruno@clisp.org>
56868
56869         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
56870         convention better.
56871         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
56872         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
56873         Reported by Peter Miller <millerp@canb.auug.org.au>.
56874
56875 2008-01-08  Eric Blake  <ebb9@byu.net>
56876
56877         Rewrite memmem to guarantee linear complexity without malloc.
56878         * lib/memmem.c (memmem): Use Two-Way rather than
56879         Knuth-Morris-Pratt, to allow O(1) space usage.
56880         (critical_factorization, two_way_short_needle)
56881         (two_way_long_needle): New functions.
56882         (knuth_morris_pratt): Delete.
56883         * modules/memmem (Depends-on): No longer need malloca or stdbool.
56884         Add stdint.
56885         * tests/test-memmem.c (main): Add tests for periodic needle and
56886         sublinear performance.
56887         * doc/functions/memmem.texi (memmem): Document other deficiencies
56888         in cygwin and older glibc.
56889
56890 2008-01-08  Bruno Haible  <bruno@clisp.org>
56891
56892         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
56893         augmentation.
56894
56895 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
56896
56897         Add a configure time option: --disable-acl.
56898         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
56899         AC_ARG_ENABLE(acl).
56900
56901 2008-01-06  Simon Josefsson  <simon@josefsson.org>
56902
56903         * tests/test-localename.c: Don't include obsolete "setenv.h".
56904
56905         * modules/localename-tests (Depends-on): Need unsetenv.
56906
56907 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56908
56909         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
56910
56911 2008-01-06  Colin Watson  <cjwatson@debian.org>
56912
56913         * users.txt: Add man-db.
56914
56915 2008-01-07  Bruno Haible  <bruno@clisp.org>
56916
56917         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
56918         previous section name.
56919
56920 2008-01-07  Bruno Haible  <bruno@clisp.org>
56921
56922         * lib/progname.c (set_program_name): Don't strip off a leading
56923         "lt-" prefix outside a .libs directory.
56924         Suggested by Paul Eggert.
56925
56926 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
56927             Bruno Haible  <bruno@clisp.org>
56928
56929         Improve memory cleanup in 'relocatable' module.
56930         * lib/relocatable.h (compute_curr_prefix): Change return type to
56931         'char *'.
56932         * lib/relocatable.c (compute_curr_prefix): Change return type to
56933         'char *'. Free curr_installdir after use.
56934         (relocate): Free curr_prefix_better after use.
56935         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
56936
56937 2008-01-01  Bruno Haible  <bruno@clisp.org>
56938
56939         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
56940         failure on older glibc systems.
56941         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56942
56943 2008-01-05  Eric Blake  <ebb9@byu.net>
56944
56945         Avoid quadratic system memmem.
56946         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
56947         Reported by Ralf Wildenhues.
56948
56949         Fix memmem test for mingw.
56950         * modules/memmem-tests (configure.ac): Check for alarm.
56951         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
56952         it.
56953         * doc/functions/memmem.texi: New file.
56954         * doc/gnulib.texi (Function Substitutes): Add memmem.
56955         Reported by Bruno Haible.
56956
56957 2008-01-04  Bruno Haible  <bruno@clisp.org>
56958
56959         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
56960         Require gl_HEADER_STRINGS_H_DEFAULTS, not
56961         gl_HEADER_STRING_H_DEFAULTS.
56962
56963 2008-01-04  Eric Blake  <ebb9@byu.net>
56964
56965         Shorten duration of memmem test.
56966         * tests/test-memmem.c (main): Use alarm to declare failure if test
56967         is taking too long.
56968         Reported by Ralf Wildenhues.
56969
56970 2007-12-21  Simon Josefsson  <simon@josefsson.org>
56971
56972         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
56973         string, needed by strerror.
56974
56975 2008-01-03  Colin Watson  <cjwatson@debian.org>
56976             Bruno Haible  <bruno@clisp.org>
56977
56978         * doc/gnulib-tool.texi (Localization): New section.
56979
56980 2008-01-02  Bruno Haible  <bruno@clisp.org>
56981
56982         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
56983         variables to 'unsigned char *' type.
56984         Reported by Paul Eggert.
56985
56986 2008-01-02  Jim Meyering  <jim@meyering.net>
56987
56988         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
56989
56990 2007-12-31  Jim Meyering  <jim@meyering.net>
56991
56992         Avoid use of private FTS type name.
56993         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
56994
56995 2007-12-30  Karl Berry  <karl@gnu.org>
56996
56997         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
56998         work around defect in Texinfo and/or the standalone Info browser.
56999
57000 2007-12-30  Bruno Haible  <bruno@clisp.org>
57001
57002         Unify 5 copies of the KMP code.
57003         * lib/str-kmp.h: New file.
57004         * lib/c-strcasestr.c: Include str-kmp.h.
57005         (knuth_morris_pratt): Remove function.
57006         (c_strcasestr): Update.
57007         * lib/c-strstr.c: Include str-kmp.h.
57008         (knuth_morris_pratt): Remove function.
57009         (c_strcasestr): Update.
57010         * lib/mbscasestr.c: Include str-kmp.h.
57011         (knuth_morris_pratt_unibyte): Remove function.
57012         * lib/mbsstr.c: Include str-kmp.h.
57013         (knuth_morris_pratt_unibyte): Remove function.
57014         * lib/strcasestr.c: Include str-kmp.h.
57015         (knuth_morris_pratt): Remove function.
57016         (strcasestr): Update.
57017         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
57018         * modules/c-strstr (Files): Likewise.
57019         * modules/mbscasestr (Files): Likewise.
57020         * modules/mbsstr (Files): Likewise.
57021         * modules/strcasestr (Files): Likewise.
57022         Suggested by Paul Eggert.
57023
57024 2007-12-30  Bruno Haible  <bruno@clisp.org>
57025
57026         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
57027         defined.
57028
57029 2007-12-30  Bruno Haible  <bruno@clisp.org>
57030
57031         * lib/xmalloca.h: Include xalloc.h.
57032         (xnmalloca): New macro.
57033
57034 2007-12-30  Bruno Haible  <bruno@clisp.org>
57035
57036         * lib/malloca.h (nmalloca): New macro.
57037         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
57038         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
57039         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
57040         knuth_morris_pratt_multibyte): Likewise.
57041         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
57042         knuth_morris_pratt_multibyte): Likewise.
57043         * lib/memmem.c (knuth_morris_pratt): Likewise.
57044         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
57045
57046 2007-12-25  Bruno Haible  <bruno@clisp.org>
57047
57048         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
57049         * lib/glob.c: Don't include openat.h.
57050         (link_exists2_p): Add back the code that deals with the
57051         !GLOB_ALTDIRFUNC case.
57052         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
57053         let it do the filename concatenation.
57054         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
57055         * modules/glob (Depends-on): Remove openat.
57056
57057 2007-12-31  Bruno Haible  <bruno@clisp.org>
57058
57059         * modules/dirfd (License): Change to LGPLv2+.
57060         Approved by Jim Meyering.
57061
57062 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
57063
57064         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
57065         when multiplying M by sizeof (size_t).
57066
57067 2007-12-10  Martin Lambers  <marlam@marlam.de>
57068
57069         Override getpagesize on mingw.
57070         * lib/getpagesize.c: New file.
57071         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
57072         * modules/getpagesize (Files): Add lib/getpagesize.c.
57073         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
57074         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57075         REPLACE_GETPAGESIZE.
57076         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
57077
57078 2007-12-25  Bruno Haible  <bruno@clisp.org>
57079
57080         * modules/localcharset (Notice): New field.
57081         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
57082         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57083
57084 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
57085             Bruno Haible  <bruno@clisp.org>
57086
57087         Avoid using the syntax symbol() in formatted documentation.
57088         * MODULES.html.sh (func_module): When replacing symbol() with a
57089         hyperlink, remove the parentheses. Show an error if some remain.
57090         Recognize and render the '...' syntax.
57091         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
57092         Rework. Add paragraph about GCC's inlining.
57093         * doc/alloca.texi: Likewise.
57094         * doc/error.texi: Remove parentheses from symbol reference.
57095         * doc/gnulib-intro.texi: Likewise.
57096         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
57097         * modules/fnmatch (Description): Reword to say "the ... function".
57098         * modules/full-read (Description): Likewise.
57099         * modules/full-write (Description): Likewise.
57100         * modules/safe-read (Description): Likewise.
57101         * modules/safe-write (Description): Likewise.
57102         * modules/strchrnul (Description): Likewise.
57103         * modules/trim (Description): Likewise.
57104         * modules/error (Description): Remove parentheses from symbol
57105         references.
57106         * modules/verror (Description): Likewise.
57107         Reported by Karl Berry.
57108
57109 2007-12-25  Bruno Haible  <bruno@clisp.org>
57110
57111         Fixup after 2007-10-16 commit.
57112         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
57113
57114 2007-12-24  Bruno Haible  <bruno@clisp.org>
57115
57116         Make --enable-relocatable work with DESTDIR.
57117         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
57118         to compute installdir from destprog.
57119         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
57120         also set the RELOC_DESTDIR variable.
57121         Reported by Левашев Иван <octagram@bluebottle.com>.
57122
57123 2007-12-24  Bruno Haible  <bruno@clisp.org>
57124
57125         Fix link error due to xalloc_die().
57126         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
57127         of xreadlink.
57128         * lib/relocwrapper.c: Update comments.
57129         * build-aux/install-reloc: Remove xreadlink.c from file list.
57130         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
57131         xreadlink.c.
57132         Reported by Левашев Иван <octagram@bluebottle.com>.
57133
57134 2007-12-24  Bruno Haible  <bruno@clisp.org>
57135
57136         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
57137         * lib/setenv.h: Remove file.
57138         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
57139         lib/setenv.h.
57140         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
57141         (Depends-on): Add stdlib.
57142         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
57143         gl_FUNC_UNSETENV.
57144         (Include): Replace setenv.h with <stdlib.h>.
57145         * modules/unsetenv: New file.
57146         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
57147         * lib/unsetenv.c: Include <stdlib.h> first.
57148         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
57149         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
57150         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
57151         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
57152         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
57153         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57154         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
57155         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57156         * doc/functions/unsetenv.texi: Update.
57157         * modules/xsetenv (Depends-on): Add unsetenv.
57158         * modules/getdate (Depends-on): Likewise.
57159         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
57160         * lib/xsetenv.c: Don't include setenv.h.
57161         * lib/getdate.y: Likewise.
57162         * lib/relocwrapper.c: Likewise.
57163         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
57164         (Depends-on): Add stdlib.
57165         * NEWS: Mention the changes.
57166         Reported by Левашев Иван <octagram@bluebottle.com>.
57167
57168 2007-12-23  Bruno Haible  <bruno@clisp.org>
57169
57170         * lib/memmem.c (memmem): Use lowercase variable names. Tab
57171         indentation.
57172
57173 2007-12-23  Bruno Haible  <bruno@clisp.org>
57174
57175         * lib/c-strcasestr.c: Add more comments.
57176         * lib/c-strstr.c: Likewise.
57177         * lib/mbscasestr.c: Likewise.
57178         * lib/mbsstr.c: Likewise.
57179         * lib/strcasestr.c: Likewise.
57180         * lib/memmem.c: Likewise.
57181
57182 2007-12-23  Bruno Haible  <bruno@clisp.org>
57183
57184         * tests/test-memmem.c: Include <string.h> first.
57185
57186 2007-12-22  Bruno Haible  <bruno@clisp.org>
57187
57188         * gnulib-tool (func_create_testdir): Change $auxdir while generating
57189         the contents of $testsbase.
57190         Reported by Ralf Wildenhues.
57191
57192 2007-12-22  Bruno Haible  <bruno@clisp.org>
57193
57194         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
57195         two variables local_ldadd_before, local_ldadd_last.
57196
57197 2007-12-20  Eric Blake  <ebb9@byu.net>
57198
57199         Work around circular library issue when cross-compiling.
57200         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
57201         that progname.o does not need to pull in rpl_memcmp.
57202
57203 2007-12-19  Eric Blake  <ebb9@byu.net>
57204
57205         Fix memmem to avoid O(n^2) worst-case complexity.
57206         * lib/memmem.c (knuth_morris_pratt): New function.
57207         (memmem): Use it if first few naive iterations fail.
57208         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
57209         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
57210         * modules/memchr (License): Likewise.
57211         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
57212         malloca.
57213         * tests/test-memmem.c: Rewrite, borrowing ideas from
57214         test-mbsstr1.c; the old version wouldn't even compile!
57215         * modules/memmem-tests: New file.
57216         * lib/string.in.h (rpl_memmem): Add declaration.
57217         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
57218         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
57219         REPLACE_MEMMEM.
57220
57221 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57222
57223         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
57224         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
57225         before any system include files, and undef after them all.  This
57226         should fix a problem on VMS reported by John E. Malmberg in
57227         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
57228
57229 2007-12-17  Eric Blake  <ebb9@byu.net>
57230
57231         Revert addition of verify, for BSD/OS.
57232         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
57233         can't handle large files, for the sake of obsolete platforms.
57234         * modules/fseeko (Depends-on): Remove verify.
57235         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
57236         * doc/functions/ftello.texi (ftello): Likewise.
57237         * doc/functions/fgetpos.texi (fgetpos): Likewise.
57238         Reported by Larry Jones.
57239
57240 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
57241
57242         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
57243         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
57244
57245 2007-12-17  Jim Meyering  <meyering@redhat.com>
57246
57247         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
57248         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
57249         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
57250         * modules/getcwd (Depends-on): Add openat.
57251         Reported by Petr Salinger.
57252
57253 2007-12-17  Bruno Haible  <bruno@clisp.org>
57254
57255         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
57256         avoid a segmentation fault of the configure test on x86_64 systems.
57257
57258 2007-12-15  Jim Meyering  <meyering@redhat.com>
57259
57260         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
57261
57262 2007-12-13  Eric Blake  <ebb9@byu.net>
57263
57264         Another fseek test.
57265         * tests/test-fseek.c (main): Also test ungetc handling.
57266         * tests/test-fseeko.c (main): Likewise.
57267         * modules/fseeko (Depends-on): Add verify.
57268         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
57269         large.
57270         Reported by Larry Jones.
57271
57272         Fix fseeko on mingw.
57273         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
57274         seek.
57275
57276         Beef up fseek tests.
57277         * tests/test-fseek.c (main): Also test eof handling.
57278         * tests/test-fseeko.c (main): Likewise.
57279         Reported by Larry Jones.
57280
57281 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
57282
57283         Fix fseeko on BSD-based platforms.
57284         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
57285         successful seek.
57286
57287 2007-12-12  Eric Blake  <ebb9@byu.net>
57288
57289         Allow circular dependency of separate libtests.a
57290         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
57291         when use_libtests.
57292
57293 2007-12-11  Eric Blake  <ebb9@byu.net>
57294
57295         Fix bug with -0.0L in previous patch.
57296         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
57297         * tests/test-isnan.c (main): Also test on zeroes.
57298         * tests/test-isnanf.c (main): Likewise.
57299         * tests/test-isnanl.h (main): Likewise.
57300
57301         Detect pseudo-denormals on x86 even when cross-compiling.
57302         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
57303         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
57304         invalid bit patterns that happen to satisfy ==.
57305
57306         Avoid link failures with separate libtests.a.
57307         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
57308         last, to satisfy circular dependencies.
57309
57310 2007-12-11  Eric Blake  <ebb9@byu.net>
57311         and Bruno Haible  <bruno@clisp.org>
57312
57313         Fix OpenBSD 4.0 <float.h> handling of long double.
57314         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
57315         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
57316         * doc/headers/float.texi (float.h): Document OpenBSD bug.
57317
57318 2007-12-11  Jim Meyering  <meyering@redhat.com>
57319
57320         * users.txt: Add libvirt.
57321
57322         Support versions of autoconf prior to 2.59c.
57323         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
57324         if it is not already defined.
57325
57326 2007-12-09  Bruno Haible  <bruno@clisp.org>
57327
57328         Let 'gnulib-tool --import' collect sources needed for the tests in
57329         tests/ rather than in lib/.
57330         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
57331         argument. If true, add rules to generate libtests.a, and put libtests.a
57332         into $(LDADD). Consider source files in subdirectories and set
57333         uses_subdirs.
57334         (func_emit_initmacro_start, func_emit_initmacro_end,
57335         func_emit_initmacro_done): Pass all arguments explicitly.
57336         (func_import): Determine two module lists main_modules,
57337         testsrelated_modules. Determine use_libtests. Determine two variables
57338         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
57339         instead of just sed_transform_lib_file. Determine two variables
57340         main_files and testsrelated_files. Compute 'files' as the union of
57341         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
57342         func_add_or_update. In the generated gnulib-comp.m4, collect the
57343         object files for tests/ in different variables than those for lib/.
57344         Substitute LIBTESTS_LIBDEPS.
57345         (func_create_testdir): Combine the uses_subdirs results from
57346         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
57347
57348 2007-12-09  Bruno Haible  <bruno@clisp.org>
57349
57350         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
57351         the build-aux directory.
57352
57353 2007-12-09  Bruno Haible  <bruno@clisp.org>
57354
57355         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
57356         introduced on 2006-09-09.
57357
57358 2007-12-07  Jim Meyering  <meyering@redhat.com>
57359
57360         Let these macros work also with autoconf-2.59.
57361         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
57362         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
57363         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
57364
57365 2007-12-06  Jim Meyering  <meyering@redhat.com>
57366
57367         Avoid a configure-time syntax error in gl_FUNC_ACL.
57368         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
57369         function in each branch, before testing the cache variable.
57370
57371 2007-12-04  Eric Blake  <ebb9@byu.net>
57372
57373         Make scripts executable.
57374         * build-aux/config.guess: Add execute permissions.
57375         * build-aux/config.sub: Likewise.
57376         * build-aux/gendocs.sh: Likewise.
57377
57378         Fix frexp on mingw.
57379         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
57380         cross-compiling.
57381         * doc/functions/frexp.texi (frexp): Document the bug.
57382
57383         Make cygwin fseeko check more reliable.
57384         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
57385         version numbers, rather than unrelated feature check.
57386         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
57387         * doc/functions/ftello.texi (ftello): Likewise.
57388         Reported by Bruno Haible.
57389
57390         * m4/strerror.m4: Bump version number.
57391
57392 2007-12-03  Bruno Haible  <bruno@clisp.org>
57393
57394         * doc/functions/mprotect.texi: Mention the mingw problem.
57395
57396 2007-12-03  Eric Blake  <ebb9@byu.net>
57397
57398         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
57399         REPLACE_STRERROR is initialized before this macro.
57400
57401 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
57402
57403         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
57404         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
57405         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
57406         put -lsec in even for programs other than 'ls'.  This fixes a problem
57407         for gettext reported by Bruno Haible in
57408         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
57409         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
57410         Add support for Solaris 10.  This isn't efficient, but should get the
57411         job done for now.
57412
57413 2007-12-03  James Youngman  <jay@gnu.org>
57414
57415         * doc/regexprops-generic.texi: change "an close-group" to "a
57416         close-group" and "illegal" to "not allowed".
57417
57418 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57419
57420         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
57421         pr_byname.h. Needed for the rare case when the maintainer has done
57422         "make maintainer-clean" in the source directory and then attempts a
57423         build outside the source directory.
57424         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
57425         scripts_byname.h.
57426
57427 2007-12-02  Martin Lambers <marlam@marlam.de>
57428             Bruno Haible  <bruno@clisp.org>
57429
57430         * lib/getpagesize.h: Remove file.
57431         * lib/unistd.in.h: Include declaration of getpagesize here.
57432         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
57433         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
57434         HAVE_SYS_PARAM_H.
57435         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
57436         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57437         * modules/getpagesize (Files): Remove lib/getpagesize.h.
57438         (Depends-on): Add unistd.
57439         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57440         (Include): Use <unistd.h> instead of getpagesize.h.
57441         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
57442         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57443         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
57444         gl_GETPAGESIZE invocation, already handled by module dependency.
57445         * lib/pagealign_alloc.c: Don't include getpagesize.h.
57446
57447 2007-12-02  Bruno Haible  <bruno@clisp.org>
57448
57449         * modules/strings-tests: New file.
57450         * tests/test-strings.c: New file.
57451
57452         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
57453         * lib/strings.in.h: New file.
57454         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
57455         * m4/strings_h.m4: New file.
57456         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
57457         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
57458         * modules/strings: New file.
57459         * modules/string (Makefile.am): Update.
57460         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
57461         Reported by Karl Berry.
57462
57463 2007-12-01  Eric Blake  <ebb9@byu.net>
57464
57465         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
57466         accomodate fix in cygwin 1.5.25.
57467
57468 2007-12-01  Jim Meyering  <meyering@redhat.com>
57469
57470         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
57471         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
57472         that would inhibit utf8-optimization of a regexp containing line-
57473         or buffer-anchors, e.g., `^', `$'.
57474
57475 2007-11-30  Bruno Haible  <bruno@clisp.org>
57476
57477         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
57478         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
57479         glthread_recursive_lock_init.
57480         * lib/lock.c (glthread_recursive_lock_init)
57481         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
57482         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57483
57484 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
57485
57486         New function qset_acl, like set_acl but with syscall semantics.
57487         * lib/acl.h (qset_acl): New decl.
57488         * lib/acl.c (qset_acl): New function.
57489         (set_acl): Use new function.  Use more-consistent diagnostics.
57490
57491 2007-11-28  Jim Meyering  <meyering@redhat.com>
57492
57493         * modules/physmem (License): Change from GPL to LGPLv2+.
57494
57495 2007-11-26  Bruno Haible  <bruno@clisp.org>
57496
57497         * lib/vasnprintf.c (decode_long_double): Don't abort if the
57498         'long double' type has excess precision.
57499         Reported by Jim Meyering in
57500         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
57501
57502 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57503
57504         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
57505         Sync from <http://gnu.org/licenses>.
57506         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
57507         with license text from same location.
57508         * doc/maintain.texi, doc/standards.texi:  Sync from
57509         <http://savannah.gnu.org/projects/gnustandards>.
57510
57511 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
57512         and Jim Meyering  <meyering@redhat.com>
57513
57514         Adjust getdate' grammar to accept a slightly more regular language.
57515         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
57516         Before, the former was rejected.
57517         * lib/getdate.y (digits_to_date_time): New function, factored
57518         out of ...
57519         (number): ...here.  Just call digits_to_date_time.
57520         (hybrid): New non-terminal to handle an <unsigned number,
57521         signed relative offset> sequence consistently.
57522
57523 2007-11-18  Jim Meyering  <meyering@redhat.com>
57524
57525         Pull my changes from coreutils:
57526         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
57527         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
57528         use of $gnulib_tool_option_extras, so that it's separated from the
57529         preceding argument.
57530
57531         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
57532         * build-aux/bootstrap (cp_mark_as_generated): Create any required
57533         parent destination directories before copying a file into place.
57534
57535 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57536
57537         bootstrap: work also with 4-argument variant of AC_INIT
57538         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
57539
57540 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57541
57542         Port test-getaddrinfo to Solaris.
57543         Problem reported by Bruno Haible in
57544         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
57545         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
57546         explanation of setting 'hints'.
57547         Don't reject an implementation merely because it returns EAI_SERVICE.
57548         (EAI_SERVICE): Define to 0 if not defined.
57549
57550 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
57551
57552         The license of gnu-make and posix-shell is now "GPLed build tool".
57553         * modules/gnu-make (License): Likewise.
57554         * modules/posix-shell (License): Likewise.
57555
57556         New module posix-shell, for determining a POSIX shell
57557         or perhaps something that is close enough to a POSIX shell.
57558         * m4/posix-shell.m4: New file.
57559         * modules/posix-shell: New file.
57560
57561         * MODULES.html.sh: Mention new module.
57562
57563         New module gnu-make, for determining whether we're using GNU Make.
57564         * m4/gnu-make.m4: New file.
57565         * modules/gnu-make: New file.
57566         * MODULES.html.sh: Mention new module.
57567
57568 2007-11-14  Jim Meyering  <meyering@redhat.com>
57569
57570         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
57571         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
57572         use this macro to create a function _definition_.
57573         Remove useless "#undef ARGMATCH_DIE".
57574
57575 2007-11-14  Bruno Haible  <bruno@clisp.org>
57576
57577         * lib/config.charset: Update for OpenBSD 4.1.
57578         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
57579
57580 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
57581
57582         Document 64-bit #if problems in stdint.texi.
57583         * doc/headers/stdint.texi (stdint.h): Mention problems with
57584         64-bit-#if, and how to work around them.
57585
57586         Don't insist on 'long long int' support in the preprocessor.  It
57587         breaks too many things.  For example, PRIdMAX still uses a 'long
57588         long int' format with the latest Sun compiler, even though
57589         HAVE_LONG_LONG_INT isn't defined due to that compiler's
57590         preprocessor problem.  This causes the latest coreutils to dump
57591         core on Solaris 10 sparc with the Sun C compiler.
57592         Instead, fix the 2007-10-16 problem in a different way, by evaluating
57593         the troublesome expressions at configure-time, not at #if-time.
57594         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
57595         preprocessor.
57596         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
57597         compile-time C checks, done at 'configure'-time.
57598         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
57599         * modules/inttypes (Makefile): Substitute the new symbols that
57600         gl_INTTYPES_H now generates.
57601         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
57602
57603 2007-11-12  Bruno Haible  <bruno@clisp.org>
57604
57605         Tests for Unicode character classification functions.
57606
57607         * modules/unictype/bidicategory-byname-tests: New file.
57608         * modules/unictype/bidicategory-name-tests: New file.
57609         * modules/unictype/bidicategory-of-tests: New file.
57610         * modules/unictype/bidicategory-test-tests: New file.
57611         * modules/unictype/block-list-tests: New file.
57612         * modules/unictype/block-of-tests: New file.
57613         * modules/unictype/block-test-tests: New file.
57614         * modules/unictype/category-C-tests: New file.
57615         * modules/unictype/category-Cc-tests: New file.
57616         * modules/unictype/category-Cf-tests: New file.
57617         * modules/unictype/category-Cn-tests: New file.
57618         * modules/unictype/category-Co-tests: New file.
57619         * modules/unictype/category-Cs-tests: New file.
57620         * modules/unictype/category-L-tests: New file.
57621         * modules/unictype/category-Ll-tests: New file.
57622         * modules/unictype/category-Lm-tests: New file.
57623         * modules/unictype/category-Lo-tests: New file.
57624         * modules/unictype/category-Lt-tests: New file.
57625         * modules/unictype/category-Lu-tests: New file.
57626         * modules/unictype/category-M-tests: New file.
57627         * modules/unictype/category-Mc-tests: New file.
57628         * modules/unictype/category-Me-tests: New file.
57629         * modules/unictype/category-Mn-tests: New file.
57630         * modules/unictype/category-N-tests: New file.
57631         * modules/unictype/category-Nd-tests: New file.
57632         * modules/unictype/category-Nl-tests: New file.
57633         * modules/unictype/category-No-tests: New file.
57634         * modules/unictype/category-P-tests: New file.
57635         * modules/unictype/category-Pc-tests: New file.
57636         * modules/unictype/category-Pd-tests: New file.
57637         * modules/unictype/category-Pe-tests: New file.
57638         * modules/unictype/category-Pf-tests: New file.
57639         * modules/unictype/category-Pi-tests: New file.
57640         * modules/unictype/category-Po-tests: New file.
57641         * modules/unictype/category-Ps-tests: New file.
57642         * modules/unictype/category-S-tests: New file.
57643         * modules/unictype/category-Sc-tests: New file.
57644         * modules/unictype/category-Sk-tests: New file.
57645         * modules/unictype/category-Sm-tests: New file.
57646         * modules/unictype/category-So-tests: New file.
57647         * modules/unictype/category-Z-tests: New file.
57648         * modules/unictype/category-Zl-tests: New file.
57649         * modules/unictype/category-Zp-tests: New file.
57650         * modules/unictype/category-Zs-tests: New file.
57651         * modules/unictype/category-and-not-tests: New file.
57652         * modules/unictype/category-and-tests: New file.
57653         * modules/unictype/category-byname-tests: New file.
57654         * modules/unictype/category-name-tests: New file.
57655         * modules/unictype/category-none-tests: New file.
57656         * modules/unictype/category-of-tests: New file.
57657         * modules/unictype/category-or-tests: New file.
57658         * modules/unictype/category-test-withtable-tests: New file.
57659         * modules/unictype/combining-class-tests: New file.
57660         * modules/unictype/ctype-alnum-tests: New file.
57661         * modules/unictype/ctype-alpha-tests: New file.
57662         * modules/unictype/ctype-blank-tests: New file.
57663         * modules/unictype/ctype-cntrl-tests: New file.
57664         * modules/unictype/ctype-digit-tests: New file.
57665         * modules/unictype/ctype-graph-tests: New file.
57666         * modules/unictype/ctype-lower-tests: New file.
57667         * modules/unictype/ctype-print-tests: New file.
57668         * modules/unictype/ctype-punct-tests: New file.
57669         * modules/unictype/ctype-space-tests: New file.
57670         * modules/unictype/ctype-upper-tests: New file.
57671         * modules/unictype/ctype-xdigit-tests: New file.
57672         * modules/unictype/decimal-digit-tests: New file.
57673         * modules/unictype/digit-tests: New file.
57674         * modules/unictype/mirror-tests: New file.
57675         * modules/unictype/numeric-tests: New file.
57676         * modules/unictype/property-alphabetic-tests: New file.
57677         * modules/unictype/property-ascii-hex-digit-tests: New file.
57678         * modules/unictype/property-bidi-arabic-digit-tests: New file.
57679         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
57680         * modules/unictype/property-bidi-block-separator-tests: New file.
57681         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
57682         * modules/unictype/property-bidi-common-separator-tests: New file.
57683         * modules/unictype/property-bidi-control-tests: New file.
57684         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
57685         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
57686         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
57687         * modules/unictype/property-bidi-european-digit-tests: New file.
57688         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
57689         * modules/unictype/property-bidi-left-to-right-tests: New file.
57690         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
57691         * modules/unictype/property-bidi-other-neutral-tests: New file.
57692         * modules/unictype/property-bidi-pdf-tests: New file.
57693         * modules/unictype/property-bidi-segment-separator-tests: New file.
57694         * modules/unictype/property-bidi-whitespace-tests: New file.
57695         * modules/unictype/property-byname-tests: New file.
57696         * modules/unictype/property-combining-tests: New file.
57697         * modules/unictype/property-composite-tests: New file.
57698         * modules/unictype/property-currency-symbol-tests: New file.
57699         * modules/unictype/property-dash-tests: New file.
57700         * modules/unictype/property-decimal-digit-tests: New file.
57701         * modules/unictype/property-default-ignorable-code-point-tests: New file.
57702         * modules/unictype/property-deprecated-tests: New file.
57703         * modules/unictype/property-diacritic-tests: New file.
57704         * modules/unictype/property-extender-tests: New file.
57705         * modules/unictype/property-format-control-tests: New file.
57706         * modules/unictype/property-grapheme-base-tests: New file.
57707         * modules/unictype/property-grapheme-extend-tests: New file.
57708         * modules/unictype/property-grapheme-link-tests: New file.
57709         * modules/unictype/property-hex-digit-tests: New file.
57710         * modules/unictype/property-hyphen-tests: New file.
57711         * modules/unictype/property-id-continue-tests: New file.
57712         * modules/unictype/property-id-start-tests: New file.
57713         * modules/unictype/property-ideographic-tests: New file.
57714         * modules/unictype/property-ids-binary-operator-tests: New file.
57715         * modules/unictype/property-ids-trinary-operator-tests: New file.
57716         * modules/unictype/property-ignorable-control-tests: New file.
57717         * modules/unictype/property-iso-control-tests: New file.
57718         * modules/unictype/property-join-control-tests: New file.
57719         * modules/unictype/property-left-of-pair-tests: New file.
57720         * modules/unictype/property-line-separator-tests: New file.
57721         * modules/unictype/property-logical-order-exception-tests: New file.
57722         * modules/unictype/property-lowercase-tests: New file.
57723         * modules/unictype/property-math-tests: New file.
57724         * modules/unictype/property-non-break-tests: New file.
57725         * modules/unictype/property-not-a-character-tests: New file.
57726         * modules/unictype/property-numeric-tests: New file.
57727         * modules/unictype/property-other-alphabetic-tests: New file.
57728         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
57729         * modules/unictype/property-other-grapheme-extend-tests: New file.
57730         * modules/unictype/property-other-id-continue-tests: New file.
57731         * modules/unictype/property-other-id-start-tests: New file.
57732         * modules/unictype/property-other-lowercase-tests: New file.
57733         * modules/unictype/property-other-math-tests: New file.
57734         * modules/unictype/property-other-uppercase-tests: New file.
57735         * modules/unictype/property-paired-punctuation-tests: New file.
57736         * modules/unictype/property-paragraph-separator-tests: New file.
57737         * modules/unictype/property-pattern-syntax-tests: New file.
57738         * modules/unictype/property-pattern-white-space-tests: New file.
57739         * modules/unictype/property-private-use-tests: New file.
57740         * modules/unictype/property-punctuation-tests: New file.
57741         * modules/unictype/property-quotation-mark-tests: New file.
57742         * modules/unictype/property-radical-tests: New file.
57743         * modules/unictype/property-sentence-terminal-tests: New file.
57744         * modules/unictype/property-soft-dotted-tests: New file.
57745         * modules/unictype/property-space-tests: New file.
57746         * modules/unictype/property-terminal-punctuation-tests: New file.
57747         * modules/unictype/property-test-tests: New file.
57748         * modules/unictype/property-titlecase-tests: New file.
57749         * modules/unictype/property-unassigned-code-value-tests: New file.
57750         * modules/unictype/property-unified-ideograph-tests: New file.
57751         * modules/unictype/property-uppercase-tests: New file.
57752         * modules/unictype/property-variation-selector-tests: New file.
57753         * modules/unictype/property-white-space-tests: New file.
57754         * modules/unictype/property-xid-continue-tests: New file.
57755         * modules/unictype/property-xid-start-tests: New file.
57756         * modules/unictype/property-zero-width-tests: New file.
57757         * modules/unictype/scripts-tests: New file.
57758         * modules/unictype/syntax-c-ident-tests: New file.
57759         * modules/unictype/syntax-c-whitespace-tests: New file.
57760         * modules/unictype/syntax-java-ident-tests: New file.
57761         * modules/unictype/syntax-java-whitespace-tests: New file.
57762         * tests/unictype/test-bidi_byname.c: New file.
57763         * tests/unictype/test-bidi_name.c: New file.
57764         * tests/unictype/test-bidi_of.c: New file.
57765         * tests/unictype/test-bidi_test.c: New file.
57766         * tests/unictype/test-block_list.c: New file.
57767         * tests/unictype/test-block_of.c: New file.
57768         * tests/unictype/test-block_test.c: New file.
57769         * tests/unictype/test-categ_and.c: New file.
57770         * tests/unictype/test-categ_and_not.c: New file.
57771         * tests/unictype/test-categ_byname.c: New file.
57772         * tests/unictype/test-categ_name.c: New file.
57773         * tests/unictype/test-categ_none.c: New file.
57774         * tests/unictype/test-categ_of.c: New file.
57775         * tests/unictype/test-categ_or.c: New file.
57776         * tests/unictype/test-categ_test_withtable.c: New file.
57777         * tests/unictype/test-combining.c: New file.
57778         * tests/unictype/test-decdigit.c: New file.
57779         * tests/unictype/test-digit.c: New file.
57780         * tests/unictype/test-mirror.c: New file.
57781         * tests/unictype/test-numeric.c: New file.
57782         * tests/unictype/test-pr_byname.c: New file.
57783         * tests/unictype/test-pr_test.c: New file.
57784         * tests/unictype/test-predicate-part1.h: New file.
57785         * tests/unictype/test-predicate-part2.h: New file.
57786         * tests/unictype/test-scripts.c: New file.
57787         * tests/unictype/test-sy_c_ident.c: New file.
57788         * tests/unictype/test-sy_java_ident.c: New file.
57789
57790         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
57791         for Unicode 5.0.0.
57792         * tests/unictype/test-categ_Cc.c: Likewise.
57793         * tests/unictype/test-categ_Cf.c: Likewise.
57794         * tests/unictype/test-categ_Cn.c: Likewise.
57795         * tests/unictype/test-categ_Co.c: Likewise.
57796         * tests/unictype/test-categ_Cs.c: Likewise.
57797         * tests/unictype/test-categ_L.c: Likewise.
57798         * tests/unictype/test-categ_Ll.c: Likewise.
57799         * tests/unictype/test-categ_Lm.c: Likewise.
57800         * tests/unictype/test-categ_Lo.c: Likewise.
57801         * tests/unictype/test-categ_Lt.c: Likewise.
57802         * tests/unictype/test-categ_Lu.c: Likewise.
57803         * tests/unictype/test-categ_M.c: Likewise.
57804         * tests/unictype/test-categ_Mc.c: Likewise.
57805         * tests/unictype/test-categ_Me.c: Likewise.
57806         * tests/unictype/test-categ_Mn.c: Likewise.
57807         * tests/unictype/test-categ_N.c: Likewise.
57808         * tests/unictype/test-categ_Nd.c: Likewise.
57809         * tests/unictype/test-categ_Nl.c: Likewise.
57810         * tests/unictype/test-categ_No.c: Likewise.
57811         * tests/unictype/test-categ_P.c: Likewise.
57812         * tests/unictype/test-categ_Pc.c: Likewise.
57813         * tests/unictype/test-categ_Pd.c: Likewise.
57814         * tests/unictype/test-categ_Pe.c: Likewise.
57815         * tests/unictype/test-categ_Pf.c: Likewise.
57816         * tests/unictype/test-categ_Pi.c: Likewise.
57817         * tests/unictype/test-categ_Po.c: Likewise.
57818         * tests/unictype/test-categ_Ps.c: Likewise.
57819         * tests/unictype/test-categ_S.c: Likewise.
57820         * tests/unictype/test-categ_Sc.c: Likewise.
57821         * tests/unictype/test-categ_Sk.c: Likewise.
57822         * tests/unictype/test-categ_Sm.c: Likewise.
57823         * tests/unictype/test-categ_So.c: Likewise.
57824         * tests/unictype/test-categ_Z.c: Likewise.
57825         * tests/unictype/test-categ_Zl.c: Likewise.
57826         * tests/unictype/test-categ_Zp.c: Likewise.
57827         * tests/unictype/test-categ_Zs.c: Likewise.
57828         * tests/unictype/test-ctype_alnum.c: Likewise.
57829         * tests/unictype/test-ctype_alpha.c: Likewise.
57830         * tests/unictype/test-ctype_blank.c: Likewise.
57831         * tests/unictype/test-ctype_cntrl.c: Likewise.
57832         * tests/unictype/test-ctype_digit.c: Likewise.
57833         * tests/unictype/test-ctype_graph.c: Likewise.
57834         * tests/unictype/test-ctype_lower.c: Likewise.
57835         * tests/unictype/test-ctype_print.c: Likewise.
57836         * tests/unictype/test-ctype_punct.c: Likewise.
57837         * tests/unictype/test-ctype_space.c: Likewise.
57838         * tests/unictype/test-ctype_upper.c: Likewise.
57839         * tests/unictype/test-ctype_xdigit.c: Likewise.
57840         * tests/unictype/test-decdigit.h: Likewise.
57841         * tests/unictype/test-digit.h: Likewise.
57842         * tests/unictype/test-numeric.h: Likewise.
57843         * tests/unictype/test-pr_alphabetic.c: Likewise.
57844         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
57845         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
57846         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
57847         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
57848         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
57849         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
57850         * tests/unictype/test-pr_bidi_control.c: Likewise.
57851         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
57852         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
57853         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
57854         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
57855         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
57856         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
57857         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
57858         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
57859         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
57860         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
57861         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
57862         * tests/unictype/test-pr_combining.c: Likewise.
57863         * tests/unictype/test-pr_composite.c: Likewise.
57864         * tests/unictype/test-pr_currency_symbol.c: Likewise.
57865         * tests/unictype/test-pr_dash.c: Likewise.
57866         * tests/unictype/test-pr_decimal_digit.c: Likewise.
57867         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
57868         * tests/unictype/test-pr_deprecated.c: Likewise.
57869         * tests/unictype/test-pr_diacritic.c: Likewise.
57870         * tests/unictype/test-pr_extender.c: Likewise.
57871         * tests/unictype/test-pr_format_control.c: Likewise.
57872         * tests/unictype/test-pr_grapheme_base.c: Likewise.
57873         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
57874         * tests/unictype/test-pr_grapheme_link.c: Likewise.
57875         * tests/unictype/test-pr_hex_digit.c: Likewise.
57876         * tests/unictype/test-pr_hyphen.c: Likewise.
57877         * tests/unictype/test-pr_id_continue.c: Likewise.
57878         * tests/unictype/test-pr_id_start.c: Likewise.
57879         * tests/unictype/test-pr_ideographic.c: Likewise.
57880         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
57881         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
57882         * tests/unictype/test-pr_ignorable_control.c: Likewise.
57883         * tests/unictype/test-pr_iso_control.c: Likewise.
57884         * tests/unictype/test-pr_join_control.c: Likewise.
57885         * tests/unictype/test-pr_left_of_pair.c: Likewise.
57886         * tests/unictype/test-pr_line_separator.c: Likewise.
57887         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
57888         * tests/unictype/test-pr_lowercase.c: Likewise.
57889         * tests/unictype/test-pr_math.c: Likewise.
57890         * tests/unictype/test-pr_non_break.c: Likewise.
57891         * tests/unictype/test-pr_not_a_character.c: Likewise.
57892         * tests/unictype/test-pr_numeric.c: Likewise.
57893         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
57894         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
57895         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
57896         * tests/unictype/test-pr_other_id_continue.c: Likewise.
57897         * tests/unictype/test-pr_other_id_start.c: Likewise.
57898         * tests/unictype/test-pr_other_lowercase.c: Likewise.
57899         * tests/unictype/test-pr_other_math.c: Likewise.
57900         * tests/unictype/test-pr_other_uppercase.c: Likewise.
57901         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
57902         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
57903         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
57904         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
57905         * tests/unictype/test-pr_private_use.c: Likewise.
57906         * tests/unictype/test-pr_punctuation.c: Likewise.
57907         * tests/unictype/test-pr_quotation_mark.c: Likewise.
57908         * tests/unictype/test-pr_radical.c: Likewise.
57909         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
57910         * tests/unictype/test-pr_soft_dotted.c: Likewise.
57911         * tests/unictype/test-pr_space.c: Likewise.
57912         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
57913         * tests/unictype/test-pr_titlecase.c: Likewise.
57914         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
57915         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
57916         * tests/unictype/test-pr_uppercase.c: Likewise.
57917         * tests/unictype/test-pr_variation_selector.c: Likewise.
57918         * tests/unictype/test-pr_white_space.c: Likewise.
57919         * tests/unictype/test-pr_xid_continue.c: Likewise.
57920         * tests/unictype/test-pr_xid_start.c: Likewise.
57921         * tests/unictype/test-pr_zero_width.c: Likewise.
57922         * tests/unictype/test-sy_c_whitespace.c: Likewise.
57923         * tests/unictype/test-sy_java_whitespace.c: Likewise.
57924
57925 2007-11-12  Bruno Haible  <bruno@clisp.org>
57926
57927         Unicode character classification functions.
57928         * lib/unictype.h: New file.
57929         * modules/unictype/base: New file.
57930         * modules/unictype/category-L: New file.
57931         * modules/unictype/category-Lu: New file.
57932         * modules/unictype/category-Ll: New file.
57933         * modules/unictype/category-Lt: New file.
57934         * modules/unictype/category-Lm: New file.
57935         * modules/unictype/category-Lo: New file.
57936         * modules/unictype/category-M: New file.
57937         * modules/unictype/category-Mn: New file.
57938         * modules/unictype/category-Mc: New file.
57939         * modules/unictype/category-Me: New file.
57940         * modules/unictype/category-N: New file.
57941         * modules/unictype/category-Nd: New file.
57942         * modules/unictype/category-Nl: New file.
57943         * modules/unictype/category-No: New file.
57944         * modules/unictype/category-P: New file.
57945         * modules/unictype/category-Pc: New file.
57946         * modules/unictype/category-Pd: New file.
57947         * modules/unictype/category-Ps: New file.
57948         * modules/unictype/category-Pe: New file.
57949         * modules/unictype/category-Pi: New file.
57950         * modules/unictype/category-Pf: New file.
57951         * modules/unictype/category-Po: New file.
57952         * modules/unictype/category-S: New file.
57953         * modules/unictype/category-Sm: New file.
57954         * modules/unictype/category-Sc: New file.
57955         * modules/unictype/category-Sk: New file.
57956         * modules/unictype/category-So: New file.
57957         * modules/unictype/category-Z: New file.
57958         * modules/unictype/category-Zs: New file.
57959         * modules/unictype/category-Zl: New file.
57960         * modules/unictype/category-Zp: New file.
57961         * modules/unictype/category-C: New file.
57962         * modules/unictype/category-Cc: New file.
57963         * modules/unictype/category-Cf: New file.
57964         * modules/unictype/category-Cs: New file.
57965         * modules/unictype/category-Co: New file.
57966         * modules/unictype/category-Cn: New file.
57967         * modules/unictype/category-or: New file.
57968         * modules/unictype/category-of: New file.
57969         * modules/unictype/category-test: New file.
57970         * modules/unictype/category-test-withtable: New file.
57971         * modules/unictype/category-byname: New file.
57972         * modules/unictype/category-none: New file.
57973         * modules/unictype/category-and: New file.
57974         * modules/unictype/category-and-not: New file.
57975         * modules/unictype/category-name: New file.
57976         * modules/unictype/combining-class: New file.
57977         * modules/unictype/category-all: New file.
57978         * modules/unictype/bidicategory-all: New file.
57979         * modules/unictype/bidicategory-byname: New file.
57980         * modules/unictype/bidicategory-name: New file.
57981         * modules/unictype/bidicategory-of: New file.
57982         * modules/unictype/bidicategory-test: New file.
57983         * modules/unictype/decimal-digit: New file.
57984         * modules/unictype/digit: New file.
57985         * modules/unictype/numeric: New file.
57986         * modules/unictype/mirror: New file.
57987         * modules/unictype/property-white-space: New file.
57988         * modules/unictype/property-alphabetic: New file.
57989         * modules/unictype/property-other-alphabetic: New file.
57990         * modules/unictype/property-not-a-character: New file.
57991         * modules/unictype/property-default-ignorable-code-point: New file.
57992         * modules/unictype/property-other-default-ignorable-code-point: New
57993         file.
57994         * modules/unictype/property-deprecated: New file.
57995         * modules/unictype/property-logical-order-exception: New file.
57996         * modules/unictype/property-variation-selector: New file.
57997         * modules/unictype/property-private-use: New file.
57998         * modules/unictype/property-unassigned-code-value: New file.
57999         * modules/unictype/property-uppercase: New file.
58000         * modules/unictype/property-other-uppercase: New file.
58001         * modules/unictype/property-lowercase: New file.
58002         * modules/unictype/property-other-lowercase: New file.
58003         * modules/unictype/property-titlecase: New file.
58004         * modules/unictype/property-soft-dotted: New file.
58005         * modules/unictype/property-id-start: New file.
58006         * modules/unictype/property-other-id-start: New file.
58007         * modules/unictype/property-id-continue: New file.
58008         * modules/unictype/property-other-id-continue: New file.
58009         * modules/unictype/property-xid-start: New file.
58010         * modules/unictype/property-xid-continue: New file.
58011         * modules/unictype/property-pattern-white-space: New file.
58012         * modules/unictype/property-pattern-syntax: New file.
58013         * modules/unictype/property-join-control: New file.
58014         * modules/unictype/property-grapheme-base: New file.
58015         * modules/unictype/property-grapheme-extend: New file.
58016         * modules/unictype/property-other-grapheme-extend: New file.
58017         * modules/unictype/property-grapheme-link: New file.
58018         * modules/unictype/property-bidi-control: New file.
58019         * modules/unictype/property-bidi-left-to-right: New file.
58020         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
58021         * modules/unictype/property-bidi-arabic-right-to-left: New file.
58022         * modules/unictype/property-bidi-european-digit: New file.
58023         * modules/unictype/property-bidi-eur-num-separator: New file.
58024         * modules/unictype/property-bidi-eur-num-terminator: New file.
58025         * modules/unictype/property-bidi-arabic-digit: New file.
58026         * modules/unictype/property-bidi-common-separator: New file.
58027         * modules/unictype/property-bidi-block-separator: New file.
58028         * modules/unictype/property-bidi-segment-separator: New file.
58029         * modules/unictype/property-bidi-whitespace: New file.
58030         * modules/unictype/property-bidi-non-spacing-mark: New file.
58031         * modules/unictype/property-bidi-boundary-neutral: New file.
58032         * modules/unictype/property-bidi-pdf: New file.
58033         * modules/unictype/property-bidi-embedding-or-override: New file.
58034         * modules/unictype/property-bidi-other-neutral: New file.
58035         * modules/unictype/property-hex-digit: New file.
58036         * modules/unictype/property-ascii-hex-digit: New file.
58037         * modules/unictype/property-ideographic: New file.
58038         * modules/unictype/property-unified-ideograph: New file.
58039         * modules/unictype/property-radical: New file.
58040         * modules/unictype/property-ids-binary-operator: New file.
58041         * modules/unictype/property-ids-trinary-operator: New file.
58042         * modules/unictype/property-zero-width: New file.
58043         * modules/unictype/property-space: New file.
58044         * modules/unictype/property-non-break: New file.
58045         * modules/unictype/property-iso-control: New file.
58046         * modules/unictype/property-format-control: New file.
58047         * modules/unictype/property-dash: New file.
58048         * modules/unictype/property-hyphen: New file.
58049         * modules/unictype/property-punctuation: New file.
58050         * modules/unictype/property-line-separator: New file.
58051         * modules/unictype/property-paragraph-separator: New file.
58052         * modules/unictype/property-quotation-mark: New file.
58053         * modules/unictype/property-sentence-terminal: New file.
58054         * modules/unictype/property-terminal-punctuation: New file.
58055         * modules/unictype/property-currency-symbol: New file.
58056         * modules/unictype/property-math: New file.
58057         * modules/unictype/property-other-math: New file.
58058         * modules/unictype/property-paired-punctuation: New file.
58059         * modules/unictype/property-left-of-pair: New file.
58060         * modules/unictype/property-combining: New file.
58061         * modules/unictype/property-composite: New file.
58062         * modules/unictype/property-decimal-digit: New file.
58063         * modules/unictype/property-numeric: New file.
58064         * modules/unictype/property-diacritic: New file.
58065         * modules/unictype/property-extender: New file.
58066         * modules/unictype/property-ignorable-control: New file.
58067         * modules/unictype/property-test: New file.
58068         * modules/unictype/property-byname: New file.
58069         * modules/unictype/property-all: New file.
58070         * modules/unictype/scripts: New file.
58071         * modules/unictype/scripts-all: New file.
58072         * modules/unictype/block-of: New file.
58073         * modules/unictype/block-test: New file.
58074         * modules/unictype/block-list: New file.
58075         * modules/unictype/block-all: New file.
58076         * modules/unictype/syntax-c-whitespace: New file.
58077         * modules/unictype/syntax-java-whitespace: New file.
58078         * modules/unictype/syntax-c-ident: New file.
58079         * modules/unictype/syntax-java-ident: New file.
58080         * modules/unictype/ctype-alnum: New file.
58081         * modules/unictype/ctype-alpha: New file.
58082         * modules/unictype/ctype-cntrl: New file.
58083         * modules/unictype/ctype-digit: New file.
58084         * modules/unictype/ctype-graph: New file.
58085         * modules/unictype/ctype-lower: New file.
58086         * modules/unictype/ctype-print: New file.
58087         * modules/unictype/ctype-punct: New file.
58088         * modules/unictype/ctype-space: New file.
58089         * modules/unictype/ctype-upper: New file.
58090         * modules/unictype/ctype-xdigit: New file.
58091         * modules/unictype/ctype-blank: New file.
58092         * lib/unictype/bidi_byname.c: New file.
58093         * lib/unictype/bidi_name.c: New file.
58094         * lib/unictype/bidi_of.c: New file.
58095         * lib/unictype/bidi_test.c: New file.
58096         * lib/unictype/bitmap.h: New file.
58097         * lib/unictype/block_test.c: New file.
58098         * lib/unictype/blocks.c: New file.
58099         * lib/unictype/categ_C.c: New file.
58100         * lib/unictype/categ_Cc.c: New file.
58101         * lib/unictype/categ_Cf.c: New file.
58102         * lib/unictype/categ_Cn.c: New file.
58103         * lib/unictype/categ_Co.c: New file.
58104         * lib/unictype/categ_Cs.c: New file.
58105         * lib/unictype/categ_L.c: New file.
58106         * lib/unictype/categ_Ll.c: New file.
58107         * lib/unictype/categ_Lm.c: New file.
58108         * lib/unictype/categ_Lo.c: New file.
58109         * lib/unictype/categ_Lt.c: New file.
58110         * lib/unictype/categ_Lu.c: New file.
58111         * lib/unictype/categ_M.c: New file.
58112         * lib/unictype/categ_Mc.c: New file.
58113         * lib/unictype/categ_Me.c: New file.
58114         * lib/unictype/categ_Mn.c: New file.
58115         * lib/unictype/categ_N.c: New file.
58116         * lib/unictype/categ_Nd.c: New file.
58117         * lib/unictype/categ_Nl.c: New file.
58118         * lib/unictype/categ_No.c: New file.
58119         * lib/unictype/categ_P.c: New file.
58120         * lib/unictype/categ_Pc.c: New file.
58121         * lib/unictype/categ_Pd.c: New file.
58122         * lib/unictype/categ_Pe.c: New file.
58123         * lib/unictype/categ_Pf.c: New file.
58124         * lib/unictype/categ_Pi.c: New file.
58125         * lib/unictype/categ_Po.c: New file.
58126         * lib/unictype/categ_Ps.c: New file.
58127         * lib/unictype/categ_S.c: New file.
58128         * lib/unictype/categ_Sc.c: New file.
58129         * lib/unictype/categ_Sk.c: New file.
58130         * lib/unictype/categ_Sm.c: New file.
58131         * lib/unictype/categ_So.c: New file.
58132         * lib/unictype/categ_Z.c: New file.
58133         * lib/unictype/categ_Zl.c: New file.
58134         * lib/unictype/categ_Zp.c: New file.
58135         * lib/unictype/categ_Zs.c: New file.
58136         * lib/unictype/categ_and.c: New file.
58137         * lib/unictype/categ_and_not.c: New file.
58138         * lib/unictype/categ_byname.c: New file.
58139         * lib/unictype/categ_name.c: New file.
58140         * lib/unictype/categ_none.c: New file.
58141         * lib/unictype/categ_of.c: New file.
58142         * lib/unictype/categ_or.c: New file.
58143         * lib/unictype/categ_test.c: New file.
58144         * lib/unictype/combining.c: New file.
58145         * lib/unictype/ctype_alnum.c: New file.
58146         * lib/unictype/ctype_alpha.c: New file.
58147         * lib/unictype/ctype_blank.c: New file.
58148         * lib/unictype/ctype_cntrl.c: New file.
58149         * lib/unictype/ctype_digit.c: New file.
58150         * lib/unictype/ctype_graph.c: New file.
58151         * lib/unictype/ctype_lower.c: New file.
58152         * lib/unictype/ctype_print.c: New file.
58153         * lib/unictype/ctype_punct.c: New file.
58154         * lib/unictype/ctype_space.c: New file.
58155         * lib/unictype/ctype_upper.c: New file.
58156         * lib/unictype/ctype_xdigit.c: New file.
58157         * lib/unictype/decdigit.c: New file.
58158         * lib/unictype/digit.c: New file.
58159         * lib/unictype/identsyntaxmap.h: New file.
58160         * lib/unictype/mirror.c: New file.
58161         * lib/unictype/numeric.c: New file.
58162         * lib/unictype/pr_alphabetic.c: New file.
58163         * lib/unictype/pr_ascii_hex_digit.c: New file.
58164         * lib/unictype/pr_bidi_arabic_digit.c: New file.
58165         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
58166         * lib/unictype/pr_bidi_block_separator.c: New file.
58167         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
58168         * lib/unictype/pr_bidi_common_separator.c: New file.
58169         * lib/unictype/pr_bidi_control.c: New file.
58170         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
58171         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
58172         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
58173         * lib/unictype/pr_bidi_european_digit.c: New file.
58174         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
58175         * lib/unictype/pr_bidi_left_to_right.c: New file.
58176         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
58177         * lib/unictype/pr_bidi_other_neutral.c: New file.
58178         * lib/unictype/pr_bidi_pdf.c: New file.
58179         * lib/unictype/pr_bidi_segment_separator.c: New file.
58180         * lib/unictype/pr_bidi_whitespace.c: New file.
58181         * lib/unictype/pr_byname.c: New file.
58182         * lib/unictype/pr_byname.gperf: New file.
58183         * lib/unictype/pr_combining.c: New file.
58184         * lib/unictype/pr_composite.c: New file.
58185         * lib/unictype/pr_currency_symbol.c: New file.
58186         * lib/unictype/pr_dash.c: New file.
58187         * lib/unictype/pr_decimal_digit.c: New file.
58188         * lib/unictype/pr_default_ignorable_code_point.c: New file.
58189         * lib/unictype/pr_deprecated.c: New file.
58190         * lib/unictype/pr_diacritic.c: New file.
58191         * lib/unictype/pr_extender.c: New file.
58192         * lib/unictype/pr_format_control.c: New file.
58193         * lib/unictype/pr_grapheme_base.c: New file.
58194         * lib/unictype/pr_grapheme_extend.c: New file.
58195         * lib/unictype/pr_grapheme_link.c: New file.
58196         * lib/unictype/pr_hex_digit.c: New file.
58197         * lib/unictype/pr_hyphen.c: New file.
58198         * lib/unictype/pr_id_continue.c: New file.
58199         * lib/unictype/pr_id_start.c: New file.
58200         * lib/unictype/pr_ideographic.c: New file.
58201         * lib/unictype/pr_ids_binary_operator.c: New file.
58202         * lib/unictype/pr_ids_trinary_operator.c: New file.
58203         * lib/unictype/pr_ignorable_control.c: New file.
58204         * lib/unictype/pr_iso_control.c: New file.
58205         * lib/unictype/pr_join_control.c: New file.
58206         * lib/unictype/pr_left_of_pair.c: New file.
58207         * lib/unictype/pr_line_separator.c: New file.
58208         * lib/unictype/pr_logical_order_exception.c: New file.
58209         * lib/unictype/pr_lowercase.c: New file.
58210         * lib/unictype/pr_math.c: New file.
58211         * lib/unictype/pr_non_break.c: New file.
58212         * lib/unictype/pr_not_a_character.c: New file.
58213         * lib/unictype/pr_numeric.c: New file.
58214         * lib/unictype/pr_other_alphabetic.c: New file.
58215         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
58216         * lib/unictype/pr_other_grapheme_extend.c: New file.
58217         * lib/unictype/pr_other_id_continue.c: New file.
58218         * lib/unictype/pr_other_id_start.c: New file.
58219         * lib/unictype/pr_other_lowercase.c: New file.
58220         * lib/unictype/pr_other_math.c: New file.
58221         * lib/unictype/pr_other_uppercase.c: New file.
58222         * lib/unictype/pr_paired_punctuation.c: New file.
58223         * lib/unictype/pr_paragraph_separator.c: New file.
58224         * lib/unictype/pr_pattern_syntax.c: New file.
58225         * lib/unictype/pr_pattern_white_space.c: New file.
58226         * lib/unictype/pr_private_use.c: New file.
58227         * lib/unictype/pr_punctuation.c: New file.
58228         * lib/unictype/pr_quotation_mark.c: New file.
58229         * lib/unictype/pr_radical.c: New file.
58230         * lib/unictype/pr_sentence_terminal.c: New file.
58231         * lib/unictype/pr_soft_dotted.c: New file.
58232         * lib/unictype/pr_space.c: New file.
58233         * lib/unictype/pr_terminal_punctuation.c: New file.
58234         * lib/unictype/pr_test.c: New file.
58235         * lib/unictype/pr_titlecase.c: New file.
58236         * lib/unictype/pr_unassigned_code_value.c: New file.
58237         * lib/unictype/pr_unified_ideograph.c: New file.
58238         * lib/unictype/pr_uppercase.c: New file.
58239         * lib/unictype/pr_variation_selector.c: New file.
58240         * lib/unictype/pr_white_space.c: New file.
58241         * lib/unictype/pr_xid_continue.c: New file.
58242         * lib/unictype/pr_xid_start.c: New file.
58243         * lib/unictype/pr_zero_width.c: New file.
58244         * lib/unictype/scripts.c: New file.
58245         * lib/unictype/sy_c_ident.c: New file.
58246         * lib/unictype/sy_c_whitespace.c: New file.
58247         * lib/unictype/sy_java_ident.c: New file.
58248         * lib/unictype/sy_java_whitespace.c: New file.
58249
58250         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
58251         Unicode 5.0.0.
58252         * lib/unictype/blocks.h: Likewise.
58253         * lib/unictype/categ_C.h: Likewise.
58254         * lib/unictype/categ_Cc.h: Likewise.
58255         * lib/unictype/categ_Cf.h: Likewise.
58256         * lib/unictype/categ_Cn.h: Likewise.
58257         * lib/unictype/categ_Co.h: Likewise.
58258         * lib/unictype/categ_Cs.h: Likewise.
58259         * lib/unictype/categ_L.h: Likewise.
58260         * lib/unictype/categ_Ll.h: Likewise.
58261         * lib/unictype/categ_Lm.h: Likewise.
58262         * lib/unictype/categ_Lo.h: Likewise.
58263         * lib/unictype/categ_Lt.h: Likewise.
58264         * lib/unictype/categ_Lu.h: Likewise.
58265         * lib/unictype/categ_M.h: Likewise.
58266         * lib/unictype/categ_Mc.h: Likewise.
58267         * lib/unictype/categ_Me.h: Likewise.
58268         * lib/unictype/categ_Mn.h: Likewise.
58269         * lib/unictype/categ_N.h: Likewise.
58270         * lib/unictype/categ_Nd.h: Likewise.
58271         * lib/unictype/categ_Nl.h: Likewise.
58272         * lib/unictype/categ_No.h: Likewise.
58273         * lib/unictype/categ_P.h: Likewise.
58274         * lib/unictype/categ_Pc.h: Likewise.
58275         * lib/unictype/categ_Pd.h: Likewise.
58276         * lib/unictype/categ_Pe.h: Likewise.
58277         * lib/unictype/categ_Pf.h: Likewise.
58278         * lib/unictype/categ_Pi.h: Likewise.
58279         * lib/unictype/categ_Po.h: Likewise.
58280         * lib/unictype/categ_Ps.h: Likewise.
58281         * lib/unictype/categ_S.h: Likewise.
58282         * lib/unictype/categ_Sc.h: Likewise.
58283         * lib/unictype/categ_Sk.h: Likewise.
58284         * lib/unictype/categ_Sm.h: Likewise.
58285         * lib/unictype/categ_So.h: Likewise.
58286         * lib/unictype/categ_Z.h: Likewise.
58287         * lib/unictype/categ_Zl.h: Likewise.
58288         * lib/unictype/categ_Zp.h: Likewise.
58289         * lib/unictype/categ_Zs.h: Likewise.
58290         * lib/unictype/categ_of.h: Likewise.
58291         * lib/unictype/combining.h: Likewise.
58292         * lib/unictype/ctype_alnum.h: Likewise.
58293         * lib/unictype/ctype_alpha.h: Likewise.
58294         * lib/unictype/ctype_blank.h: Likewise.
58295         * lib/unictype/ctype_cntrl.h: Likewise.
58296         * lib/unictype/ctype_digit.h: Likewise.
58297         * lib/unictype/ctype_graph.h: Likewise.
58298         * lib/unictype/ctype_lower.h: Likewise.
58299         * lib/unictype/ctype_print.h: Likewise.
58300         * lib/unictype/ctype_punct.h: Likewise.
58301         * lib/unictype/ctype_space.h: Likewise.
58302         * lib/unictype/ctype_upper.h: Likewise.
58303         * lib/unictype/ctype_xdigit.h: Likewise.
58304         * lib/unictype/decdigit.h: Likewise.
58305         * lib/unictype/digit.h: Likewise.
58306         * lib/unictype/mirror.h: Likewise.
58307         * lib/unictype/numeric.h: Likewise.
58308         * lib/unictype/pr_alphabetic.h: Likewise.
58309         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
58310         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
58311         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
58312         * lib/unictype/pr_bidi_block_separator.h: Likewise.
58313         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
58314         * lib/unictype/pr_bidi_common_separator.h: Likewise.
58315         * lib/unictype/pr_bidi_control.h: Likewise.
58316         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
58317         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
58318         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
58319         * lib/unictype/pr_bidi_european_digit.h: Likewise.
58320         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
58321         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
58322         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
58323         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
58324         * lib/unictype/pr_bidi_pdf.h: Likewise.
58325         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
58326         * lib/unictype/pr_bidi_whitespace.h: Likewise.
58327         * lib/unictype/pr_combining.h: Likewise.
58328         * lib/unictype/pr_composite.h: Likewise.
58329         * lib/unictype/pr_currency_symbol.h: Likewise.
58330         * lib/unictype/pr_dash.h: Likewise.
58331         * lib/unictype/pr_decimal_digit.h: Likewise.
58332         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
58333         * lib/unictype/pr_deprecated.h: Likewise.
58334         * lib/unictype/pr_diacritic.h: Likewise.
58335         * lib/unictype/pr_extender.h: Likewise.
58336         * lib/unictype/pr_format_control.h: Likewise.
58337         * lib/unictype/pr_grapheme_base.h: Likewise.
58338         * lib/unictype/pr_grapheme_extend.h: Likewise.
58339         * lib/unictype/pr_grapheme_link.h: Likewise.
58340         * lib/unictype/pr_hex_digit.h: Likewise.
58341         * lib/unictype/pr_hyphen.h: Likewise.
58342         * lib/unictype/pr_id_continue.h: Likewise.
58343         * lib/unictype/pr_id_start.h: Likewise.
58344         * lib/unictype/pr_ideographic.h: Likewise.
58345         * lib/unictype/pr_ids_binary_operator.h: Likewise.
58346         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
58347         * lib/unictype/pr_ignorable_control.h: Likewise.
58348         * lib/unictype/pr_iso_control.h: Likewise.
58349         * lib/unictype/pr_join_control.h: Likewise.
58350         * lib/unictype/pr_left_of_pair.h: Likewise.
58351         * lib/unictype/pr_line_separator.h: Likewise.
58352         * lib/unictype/pr_logical_order_exception.h: Likewise.
58353         * lib/unictype/pr_lowercase.h: Likewise.
58354         * lib/unictype/pr_math.h: Likewise.
58355         * lib/unictype/pr_non_break.h: Likewise.
58356         * lib/unictype/pr_not_a_character.h: Likewise.
58357         * lib/unictype/pr_numeric.h: Likewise.
58358         * lib/unictype/pr_other_alphabetic.h: Likewise.
58359         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
58360         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
58361         * lib/unictype/pr_other_id_continue.h: Likewise.
58362         * lib/unictype/pr_other_id_start.h: Likewise.
58363         * lib/unictype/pr_other_lowercase.h: Likewise.
58364         * lib/unictype/pr_other_math.h: Likewise.
58365         * lib/unictype/pr_other_uppercase.h: Likewise.
58366         * lib/unictype/pr_paired_punctuation.h: Likewise.
58367         * lib/unictype/pr_paragraph_separator.h: Likewise.
58368         * lib/unictype/pr_pattern_syntax.h: Likewise.
58369         * lib/unictype/pr_pattern_white_space.h: Likewise.
58370         * lib/unictype/pr_private_use.h: Likewise.
58371         * lib/unictype/pr_punctuation.h: Likewise.
58372         * lib/unictype/pr_quotation_mark.h: Likewise.
58373         * lib/unictype/pr_radical.h: Likewise.
58374         * lib/unictype/pr_sentence_terminal.h: Likewise.
58375         * lib/unictype/pr_soft_dotted.h: Likewise.
58376         * lib/unictype/pr_space.h: Likewise.
58377         * lib/unictype/pr_terminal_punctuation.h: Likewise.
58378         * lib/unictype/pr_titlecase.h: Likewise.
58379         * lib/unictype/pr_unassigned_code_value.h: Likewise.
58380         * lib/unictype/pr_unified_ideograph.h: Likewise.
58381         * lib/unictype/pr_uppercase.h: Likewise.
58382         * lib/unictype/pr_variation_selector.h: Likewise.
58383         * lib/unictype/pr_white_space.h: Likewise.
58384         * lib/unictype/pr_xid_continue.h: Likewise.
58385         * lib/unictype/pr_xid_start.h: Likewise.
58386         * lib/unictype/pr_zero_width.h: Likewise.
58387         * lib/unictype/scripts.h: Likewise.
58388         * lib/unictype/scripts_byname.gperf: Likewise.
58389         * lib/unictype/sy_c_ident.h: Likewise.
58390         * lib/unictype/sy_c_whitespace.h: Likewise.
58391         * lib/unictype/sy_java_ident.h: Likewise.
58392         * lib/unictype/sy_java_whitespace.h: Likewise.
58393
58394         * lib/unictype/Makefile: New file.
58395         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
58396         glibc.
58397         * lib/unictype/3level.h: New file, copied from glibc.
58398         * lib/unictype/3levelbit.h: New file.
58399
58400 2007-11-11  Bruno Haible  <bruno@clisp.org>
58401
58402         * modules/gperf: New file.
58403         * modules/iconv_open (Depends-on): Add it.
58404         (Makefile.am): Remove the GPERF definition.
58405
58406 2007-11-11  Bruno Haible  <bruno@clisp.org>
58407
58408         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
58409         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
58410
58411 2007-11-11  Bruno Haible  <bruno@clisp.org>
58412
58413         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
58414         (usage): Remove function.
58415
58416 2007-11-11  Bruno Haible  <bruno@clisp.org>
58417
58418         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
58419         gl_FUNC_CEILF_LIBS.
58420         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
58421         gl_FUNC_CEIL_LIBS.
58422         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
58423         gl_FUNC_CEILL_LIBS.
58424         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
58425         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
58426         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
58427
58428 2007-11-11  Bruno Haible  <bruno@clisp.org>
58429
58430         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
58431         roundf were declared but do not exist on functions.
58432         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
58433         roundl were declared but do not exist on functions.
58434         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
58435         HAVE_FLOORL_AND_CEILL, respectively.
58436         Needed for Sun C on Solaris 10.
58437
58438 2007-11-11  Bruno Haible  <bruno@clisp.org>
58439
58440         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
58441         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
58442         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
58443         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
58444         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
58445         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
58446         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
58447         HAVE_DECL_ROUNDF.
58448         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
58449         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
58450         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
58451         of HAVE_DECL_ROUND*.
58452         * modules/math (Makefile.am): Update.
58453
58454 2007-11-10  Bruno Haible  <bruno@clisp.org>
58455
58456         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
58457         ptrdiff_t as m4/intl.m4.
58458
58459 2007-11-10  Jim Meyering  <meyering@redhat.com>
58460
58461         Avoid link failure for the argmatch test.
58462         * tests/test-argmatch.c (usage): Define function to avoid a link
58463         failure: argmatch_die requires a usage function.
58464
58465 2007-11-09  Bruno Haible  <bruno@clisp.org>
58466
58467         * doc/functions/snprintf.texi: Mention BeOS deficiency.
58468         * doc/functions/vsnprintf.texi: Likewise.
58469         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
58470         with a size argument < 2.
58471
58472 2007-11-09  Bruno Haible  <bruno@clisp.org>
58473
58474         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
58475         buffer. Fixes an inefficiency introduced on 2007-11-03.
58476
58477 2007-11-09  Bruno Haible  <bruno@clisp.org>
58478
58479         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
58480         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
58481
58482 2007-11-08  Jim Meyering  <meyering@redhat.com>
58483
58484         Change cache variable name prefix "jm_" to "gl_" everywhere.
58485         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
58486         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
58487         * m4/uptime.m4: s/gl_/jm_/
58488
58489 2007-11-07  Bruno Haible  <bruno@clisp.org>
58490
58491         Update to GNU gettext 0.17.
58492         * m4/intl.m4: Update to GNU gettext 0.17.
58493         * m4/po.m4: Likewise.
58494         * modules/gettext (Files): Remove m4/ulonglong.m4.
58495         (configure.ac): Require gettext infrastructure from version 0.17.
58496
58497 2007-11-06  Bruno Haible  <bruno@clisp.org>
58498
58499         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
58500         symbolic values are not defined in a public header.
58501         * lib/freadable.c (freadable) [QNX]: Likewise.
58502         * lib/freadahead.c (freadahead) [QNX]: Likewise.
58503         * lib/freading.c (freading) [QNX]: Likewise.
58504         * lib/fseterr.c (fseterr) [QNX]: Likewise.
58505         * lib/fwritable.c (fwritable) [QNX]: Likewise.
58506         * lib/fwriting.c (fwriting) [QNX]: Likewise.
58507         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
58508         Reported by Alain Magloire.
58509
58510         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
58511
58512 2007-11-05  Bruno Haible  <bruno@clisp.org>
58513
58514         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
58515         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
58516         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
58517         Reported by Eric Blake.
58518
58519 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58520             Bruno Haible  <bruno@clisp.org>
58521
58522         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
58523         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
58524         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
58525         (malloc): Undefine also before including <stdlib.h>.
58526         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
58527         Needed on OSF/1 4.0.
58528
58529 2007-11-05  Jim Meyering  <meyering@redhat.com>
58530
58531         git-version-gen: sync from coreutils.
58532         * build-aux/git-version-gen: Add comments.
58533         Change the first '-' to '.' in the snapshot version string,
58534         e.g., 6.9-377-08144 -> 6.9.377-08144
58535         Remove first parameter.
58536         Don't declare a version "-dirty" merely because a time
58537         stamp has changed.
58538
58539 2007-11-04  Bruno Haible  <bruno@clisp.org>
58540
58541         * lib/lock.h: Protect all macro definitions containing an 'if'
58542         statement through a "do { ... } while (0)".
58543         * lib/tls.h: Likewise.
58544
58545 2007-11-04  Bruno Haible  <bruno@clisp.org>
58546
58547         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
58548
58549 2007-11-04  Bruno Haible  <bruno@clisp.org>
58550
58551         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
58552         * modules/fprintf-posix (Depends-on): Add nocrash.
58553         * modules/snprintf-posix (Depends-on): Likewise.
58554         * modules/sprintf-posix (Depends-on): Likewise.
58555         * modules/vasnprintf-posix (Depends-on): Likewise.
58556         * modules/vasprintf-posix (Depends-on): Likewise.
58557         * modules/vfprintf-posix (Depends-on): Likewise.
58558         * modules/vsnprintf-posix (Depends-on): Likewise.
58559         * modules/vsprintf-posix (Depends-on): Likewise.
58560         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58561         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58562         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58563         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58564         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58565         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58566         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58567
58568 2007-11-04  Bruno Haible  <bruno@clisp.org>
58569
58570         * modules/nocrash: New file.
58571         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
58572         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
58573
58574 2007-11-04  Bruno Haible  <bruno@clisp.org>
58575
58576         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
58577         precision handling.
58578         * tests/test-vasprintf-posix.c (test_function): Likewise.
58579         * tests/test-snprintf-posix.h (test_function): Likewise.
58580         * tests/test-sprintf-posix.h (test_function): Likewise.
58581
58582         Fix *printf behaviour for large precisions on mingw and BeOS.
58583         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
58584         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
58585         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
58586         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58587         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58588         gl_PRINTF_PRECISION and test its result. Invoke
58589         gl_PREREQ_VASNPRINTF_PRECISION.
58590         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58591         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58592         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58593         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58594         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58595         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58596         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58597         * doc/functions/fprintf.texi: Update.
58598         * doc/functions/printf.texi: Update.
58599         * doc/functions/snprintf.texi: Update.
58600         * doc/functions/sprintf.texi: Update.
58601         * doc/functions/vfprintf.texi: Update.
58602         * doc/functions/vprintf.texi: Update.
58603         * doc/functions/vsnprintf.texi: Update.
58604         * doc/functions/vsprintf.texi: Update.
58605
58606 2007-11-04  Bruno Haible  <bruno@clisp.org>
58607
58608         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
58609
58610 2007-11-04  Bruno Haible  <bruno@clisp.org>
58611
58612         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
58613         Reported by Sylvain Beucler <beuc@gnu.org>.
58614
58615 2007-11-03  Bruno Haible  <bruno@clisp.org>
58616
58617         * tests/test-fprintf-posix2.sh: New file.
58618         * tests/test-fprintf-posix2.c: New file.
58619         * modules/fprintf-posix-tests (Files): Add them.
58620         (TESTS): Add test-fprintf-posix2.sh.
58621         (configure.ac): Check for getrlimit and setrlimit.
58622         (check_PROGRAMS): Add test-fprintf-posix2.
58623
58624         * tests/test-printf-posix2.sh: New file.
58625         * tests/test-printf-posix2.c: New file.
58626         * modules/printf-posix-tests (Files): Add them.
58627         (TESTS): Add test-printf-posix2.sh.
58628         (configure.ac): Check for getrlimit and setrlimit.
58629         (check_PROGRAMS): Add test-printf-posix2.
58630
58631         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
58632         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
58633         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
58634         (decode_double): New function, copied from decode_long_double.
58635         (scale10_round_decimal_decoded): New function, extracted from
58636         scale10_round_decimal_long_double.
58637         (scale10_round_decimal_long_double): Use it.
58638         (scale10_round_decimal_double): New function.
58639         (floorlog10): New function.
58640         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
58641         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
58642         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58643         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58644         gl_PRINTF_ENOMEM and test its result. Invoke
58645         gl_PREREQ_VASNPRINTF_ENOMEM.
58646         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58647         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58648         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58649         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58650         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58651         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58652         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58653         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
58654         * modules/snprintf-posix (Depends-on): Likewise.
58655         * modules/sprintf-posix (Depends-on): Likewise.
58656         * modules/vasnprintf-posix (Depends-on): Likewise.
58657         * modules/vasprintf-posix (Depends-on): Likewise.
58658         * modules/vfprintf-posix (Depends-on): Likewise.
58659         * modules/vsnprintf-posix (Depends-on): Likewise.
58660         * modules/vsprintf-posix (Depends-on): Likewise.
58661         * doc/functions/fprintf.texi: Update.
58662         * doc/functions/printf.texi: Update.
58663         * doc/functions/snprintf.texi: Update.
58664         * doc/functions/sprintf.texi: Update.
58665         * doc/functions/vfprintf.texi: Update.
58666         * doc/functions/vprintf.texi: Update.
58667         * doc/functions/vsnprintf.texi: Update.
58668         * doc/functions/vsprintf.texi: Update.
58669
58670 2007-11-03  Bruno Haible  <bruno@clisp.org>
58671
58672         * modules/frexp-nolibm-tests: New file.
58673
58674         * modules/frexp-nolibm: New file.
58675         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
58676
58677 2007-11-03  Bruno Haible  <bruno@clisp.org>
58678
58679         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
58680         value is C99 compliant.
58681         Needed for OSF/1 5.1.
58682
58683 2007-11-03  Bruno Haible  <bruno@clisp.org>
58684
58685         Fix out-of-memory handling of vasnprintf.
58686         * lib/printf-parse.c: Include <errno.h>.
58687         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
58688         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
58689         is already set.
58690
58691 2007-11-02  Eric Blake  <ebb9@byu.net>
58692
58693         Fix tests on cygwin.
58694         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
58695
58696 2007-11-01  Bruno Haible  <bruno@clisp.org>
58697
58698         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
58699         warning.
58700         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
58701         needed for POSIX compatibility.
58702
58703 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58704
58705         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
58706         for compatibility with GNU.
58707
58708 2007-11-01  Bruno Haible  <bruno@clisp.org>
58709
58710         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
58711         (putenv): Renamed from rpl_putenv. Change argument type from
58712         'const char *' to 'char *'.
58713         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
58714         of defining putenv in config.h, just set REPLACE_PUTENV.
58715         * modules/putenv (Depends-on): Add stdlib.
58716         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58717         (Include): Use <stdlib.h>.
58718         * lib/stdlib.in.h (putenv): New declaration.
58719         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
58720         REPLACE_PUTENV.
58721         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
58722         REPLACE_PUTENV.
58723         Needed for MacOS X 10.5.0.
58724         Reported by Peter O'Gorman <peter@pogma.com>.
58725
58726 2007-11-01  Jim Meyering  <meyering@redhat.com>
58727
58728         Treat an empty date string exactly like "0".
58729         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
58730         if the remaining date string (to be parsed) is empty, use "0".
58731         Reported by Mischa Molhoek and discussed in this thread:
58732         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
58733
58734 2007-10-31  Bruno Haible  <bruno@clisp.org>
58735
58736         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
58737         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
58738         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
58739         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
58740         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
58741         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
58742
58743 2007-10-31  Bruno Haible  <bruno@clisp.org>
58744
58745         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
58746         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
58747         (AC_TYPE_LONG_LONG_INT): Use it.
58748         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
58749         it as well.
58750         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
58751         to m4/longlong.m4.
58752         * modules/stdint (Files): Remove m4/ulonglong.m4.
58753         * modules/strtoull (Files): Use m4/longlong.m4 instead of
58754         m4/ulonglong.m4.
58755         * modules/strtoumax (Files): Likewise.
58756
58757 2007-10-30  Bruno Haible  <bruno@clisp.org>
58758
58759         * modules/xvasprintf-posix: New file.
58760         Suggested by Eric Blake.
58761
58762 2007-10-30  Bruno Haible  <bruno@clisp.org>
58763
58764         * modules/xprintf-posix-tests: New file.
58765         * tests/test-xprintf-posix.sh: New file.
58766         * tests/test-xprintf-posix.c: New file.
58767         * tests/test-xfprintf-posix.c: New file.
58768
58769         * modules/xprintf-posix: New file.
58770
58771 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58772
58773         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
58774         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
58775         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
58776
58777 2007-10-29  Bruno Haible  <bruno@clisp.org>
58778
58779         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
58780         contain the special marker '_cv_'.
58781         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
58782         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
58783         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
58784         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
58785         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
58786         Reported by Ralf Wildenhues.
58787
58788 2007-10-29  Bruno Haible  <bruno@clisp.org>
58789
58790         * gnulib-tool (func_import): When --lgpl is not specified, set
58791         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
58792         GPLv3.
58793         Reported by Simon Josefsson.
58794
58795 2007-10-28  Bruno Haible  <bruno@clisp.org>
58796
58797         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
58798         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
58799         HAVE_DECL_ISFINITE.
58800         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58801         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
58802         HAVE_DECL_ISFINITE.
58803
58804 2007-10-28  Bruno Haible  <bruno@clisp.org>
58805
58806         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
58807         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
58808
58809 2007-10-28  Bruno Haible  <bruno@clisp.org>
58810
58811         Fix link errors with Sun C 5.0 on Solaris 10.
58812         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
58813         function is declared but not present in the compiler's libm.
58814         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
58815         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
58816         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
58817         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
58818         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
58819         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
58820         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
58821         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58822         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
58823         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
58824         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
58825         HAVE_DECL_FLOORL.
58826
58827 2007-10-28  Bruno Haible  <bruno@clisp.org>
58828
58829         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
58830         gl_FUNC_FLOORL. Cache the result.
58831         (gl_FUNC_FLOORL): Use it.
58832         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
58833         gl_FUNC_CEILL. Cache the result.
58834         (gl_FUNC_CEILL): Use it.
58835
58836         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
58837         gl_FUNC_FLOOR. Cache the result.
58838         (gl_FUNC_FLOOR): Use it.
58839         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
58840         gl_FUNC_CEIL. Cache the result.
58841         (gl_FUNC_CEIL): Use it.
58842
58843         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
58844         gl_FUNC_FLOORF. Cache the result.
58845         (gl_FUNC_FLOORF): Use it.
58846         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
58847         gl_FUNC_CEILF. Cache the result.
58848         (gl_FUNC_CEILF): Use it.
58849
58850 2007-10-28  Bruno Haible  <bruno@clisp.org>
58851
58852         * gnulib-tool: Allow specifying the LGPL version number through
58853         --lgpl=2 or --lgpl=3.
58854         (func_usage): Document --lgpl with argument.
58855         Handle --lgpl=... arguments.
58856         (func_import): Recognize also gl_LGPL calls with an argument. When
58857         --lgpl=2 is used and the module's license is just LGPL, report an
58858         error. Set sed_transform_lib_file according to the lgpl variable. In
58859         the generated files, use --lgpl or gl_LGPL invocations with argument,
58860         if necessary.
58861         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
58862         an LGPv2+ license.
58863         * doc/gnulib-tool.texi (Modified imports): Update explanation of
58864         gl_LGPL macro.
58865
58866 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58867             Bruno Haible  <bruno@clisp.org>
58868
58869         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
58870         (u16_uctomb_aux): Likewise.
58871         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
58872         !HAVE_INLINE.
58873         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
58874
58875 2007-10-28  Bruno Haible  <bruno@clisp.org>
58876
58877         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
58878         Invoke AM_GETTEXT_OPTION if it exists.
58879         * modules/vasprintf: Likewise.
58880         * modules/verror: Likewise.
58881         * modules/xprintf: Likewise.
58882         * modules/xvasprintf: Likewise.
58883
58884 2007-10-27  Ben Pfaff  <blp@gnu.org>
58885
58886         * lib/math.in.h: Define isfinite macro and prototypes for
58887         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
58888         implementations.
58889         * m4/math_h.m4: New substitutions for isfinite module.
58890         * lib/isfinite.c: New file.
58891         * m4/isfinite.m4: New file.
58892         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
58893         * modules/isfinite: New file.
58894         * modules/isfinite-tests: New file.
58895         * tests/tests-isfinite.c: New file.
58896         * doc/functions/isfinite.texi: Mention isfinite module.
58897         * MODULES.html.sh: Mention new module.
58898
58899 2007-10-27  Ben Pfaff  <blp@gnu.org>
58900
58901         Ralf Wildenhues reported that Tru64 4.0D declares the round
58902         functions but does not have definitions.
58903         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
58904         cannot be found in any library, set the output variable to
58905         "missing" instead of "".
58906         * m4/round.m4: Also use our substitute if we cannot find round in
58907         any library, even if it is declared.
58908         * m4/roundf.m4: Likewise for roundf.
58909         * m4/roundl.m4: Likewise for roundl.
58910         * lib/math.in.h: Undefine roundf, round, roundl before defining
58911         their replacements, to allow for hypothetical systems where these
58912         may be defined as macros but not available in libraries.
58913
58914 2007-10-27  Bruno Haible  <bruno@clisp.org>
58915
58916         * doc/gnulib.texi: Invoke @firstparagraphindent.
58917         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
58918         changes in gnulib.
58919         (Source changes): New section.
58920
58921 2007-10-26  Bruno Haible  <bruno@clisp.org>
58922
58923         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
58924         borrowed from autoconf.
58925
58926 2007-10-26  Bruno Haible  <bruno@clisp.org>
58927
58928         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
58929         strerror returned the empty string. Needed on HP-UX 11.00.
58930
58931 2007-10-24  Micah Cowan  <micah@cowan.name>
58932
58933         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
58934         * build-aux/bootstrap: Remove support for now-unnecessary option,
58935         --cvs-user, and envvars CVS_USER, CVS_RSH.
58936
58937 2007-10-24  Jim Meyering  <meyering@redhat.com>
58938
58939         Avoid diagnostics from sha1sum when there is no cached checksum.
58940         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
58941         if the po.s1 file hasn't been created yet.
58942
58943         * build-aux/bootstrap: Sync from coreutils:
58944         2007-10-24  Jim Meyering  <meyering@redhat.com>
58945         Get gnulib from the git repository, not from an obsolete cvs one.
58946         * build-aux/bootstrap: Suggestion from Micah Cowan.
58947         2007-10-04  Jim Meyering  <jim@meyering.net>
58948         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
58949         (update_po_files): Work also when there are no .po files in po/.
58950
58951 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58952
58953         * README: Append ".git" to git and cg examples.
58954         Problem reported by Benoit Sigoure.
58955
58956 2007-10-23  Micah Cowan  <micah@cowan.name>
58957
58958         * users.txt: Add wget.
58959
58960 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58961
58962         Fix linking of some unistdio tests on FreeBSD.
58963         * modules/unistdio/u16-vsnprintf-tests
58964         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
58965         * modules/unistdio/u16-vsprintf-tests
58966         (test_u16_vsnprintf1_LDADD): Likewise.
58967         * modules/unistdio/u32-vsnprintf-tests
58968         (test_u32_vsnprintf1_LDADD): Likewise.
58969         * modules/unistdio/u32-vsprintf-tests
58970         (test_u32_vsprintf1_LDADD): Likewise.
58971         * modules/unistdio/u8-vsnprintf-tests
58972         (test_u8_vsnprintf1_LDADD): Likewise.
58973         * modules/unistdio/u8-vsprintf-tests
58974         (test_u8_vsprintf1_LDADD): Likewise.
58975         * modules/unistdio/ulc-vsnprintf-tests
58976         (test_ulc_vsnprintf1_LDADD): Likewise.
58977         * modules/unistdio/ulc-vsprintf-tests
58978         (test_ulc_vsprintf1_LDADD): Likewise.
58979
58980         Fix linking of some uniconv tests on FreeBSD.
58981         * modules/uniconv/u16-conv-from-enc-tests
58982         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
58983         * modules/uniconv/u16-conv-to-enc-tests
58984         (test_u16_conv_to_enc_LDADD): Likewise.
58985         * modules/uniconv/u16-strconv-from-enc-tests
58986         (test_u16_strconv_from_enc_LDADD): Likewise.
58987         * modules/uniconv/u16-strconv-to-enc-tests
58988         (test_u16_strconv_to_enc_LDADD): Likewise.
58989         * modules/uniconv/u32-conv-from-enc-tests
58990         (test_u32_conv_from_enc_LDADD): Likewise.
58991         * modules/uniconv/u32-conv-to-enc-tests
58992         (test_u32_conv_to_enc_LDADD): Likewise.
58993         * modules/uniconv/u32-strconv-from-enc-tests
58994         (test_u32_strconv_from_enc_LDADD): Likewise.
58995         * modules/uniconv/u32-strconv-to-enc-tests
58996         (test_u32_strconv_to_enc_LDADD): Likewise.
58997         * modules/uniconv/u8-conv-from-enc-tests
58998         (test_u8_conv_from_enc_LDADD): Likewise.
58999         * modules/uniconv/u8-conv-to-enc-tests
59000         (test_u8_conv_to_enc_LDADD): Likewise.
59001         * modules/uniconv/u8-strconv-from-enc-tests
59002         (test_u8_strconv_from_enc_LDADD): Likewise.
59003         * modules/uniconv/u8-strconv-to-enc-tests
59004         (test_u8_strconv_to_enc_LDADD): Likewise.
59005
59006 2007-10-22  Bruno Haible  <bruno@clisp.org>
59007
59008         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
59009         size.
59010
59011 2007-10-22  Eric Blake  <ebb9@byu.net>
59012
59013         Tweak x*printf documentation.
59014         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
59015         variable name and comments.
59016         Suggested by Bruno Haible.
59017
59018 2007-10-22  Bruno Haible  <bruno@clisp.org>
59019
59020         * lib/acl.c (copy_acl): Fix file name in comment.
59021
59022 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59023
59024         Fix Tru64 problem with stdbool.h.
59025         * lib/stdbool.in.h (false, true):
59026         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
59027         Don't declare as an enum in this situation; it runs afoul of Tru64.
59028         Problem reported by Steven M. Schweda in
59029         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
59030
59031 2007-10-22  Eric Blake  <ebb9@byu.net>
59032
59033         Also wrap vf?printf.
59034         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
59035         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
59036         (xvprintf, xvfprintf): New functions.
59037
59038 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59039
59040         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
59041         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
59042
59043         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
59044         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
59045
59046 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59047
59048         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
59049         by Bruno Haible.
59050
59051 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59052
59053         * lib/getloadavg.c
59054         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
59055         Undef `sys' after including sys/table.h, for Tru64 4.0D.
59056
59057         * tests/test-i-ring.c: Work for C89.
59058
59059 2007-10-22  Bruno Haible  <bruno@clisp.org>
59060
59061         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
59062         -1u, in preprocessor expression, so that we don't test for the bug
59063         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
59064         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
59065
59066 2007-10-22  Eric Blake  <ebb9@byu.net>
59067
59068         * tests/test-yesno.sh: Silence stderr during test.
59069
59070 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59071
59072         * modules/crypto/gc-camellia: New file.
59073
59074         * m4/gc-camellia.m4: New file.
59075
59076         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
59077
59078         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
59079
59080 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59081
59082         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
59083         --help to stdout.  Reported by sms@antinode.org (Steven
59084         M. Schweda).
59085
59086 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59087
59088         * users.txt: Fix link to libksba.
59089
59090 2007-10-21  Ben Pfaff  <blp@gnu.org>
59091
59092         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
59093         round.c roundf implementation that depends on floorf and ceilf to
59094         be tested unconditionally.
59095
59096 2007-10-21  Ben Pfaff  <blp@gnu.org>
59097
59098         * m4/check-libm-func.m4: Removed.
59099         * m4/check-math-lib.m4: New file.
59100         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
59101         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
59102         definition and lack of AC_LIBOBJ([roundf]).
59103         * m4/roundl.m4: Ditto, and similarly for roundl.
59104         * modules/round: Reference new m4 file.
59105         * modules/roundf: Ditto.
59106         * modules/roundl: Ditto.
59107         * tests/test-round2.c (main): Use ROUND instead of round.
59108         Bug report from Bruno Haible.
59109
59110 2007-10-21  Bruno Haible  <bruno@clisp.org>
59111
59112         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
59113         context.
59114
59115 2007-10-21  Bruno Haible  <bruno@clisp.org>
59116
59117         * tests/test-wcwidth.c (main): Allow negative result for some control
59118         characters.
59119
59120         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
59121         Needed on OSF/1 5.1.
59122
59123 2007-10-21  Bruno Haible  <bruno@clisp.org>
59124
59125         * tests/test-floorf1.c: Include isnanf.h.
59126         (main): Use isnanf() instead of isnan().
59127         * tests/test-ceilf1.c: Include isnanf.h.
59128         (main): Use isnanf() instead of isnan().
59129         * tests/test-truncf1.c: Include isnanf.h.
59130         (main): Use isnanf() instead of isnan().
59131         * tests/test-roundf1.c: Include isnanf.h.
59132         (main): Use isnanf() instead of isnan().
59133
59134 2007-10-21  Eric Blake  <ebb9@byu.net>
59135
59136         * users.txt: Update URL for m4.
59137
59138 2007-10-21  Bruno Haible  <bruno@clisp.org>
59139
59140         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
59141
59142 2007-10-21  Bruno Haible  <bruno@clisp.org>
59143
59144         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
59145         Git's management files if the CVS files are not present.
59146
59147 2007-10-20  Bruno Haible  <bruno@clisp.org>
59148
59149         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
59150         gcc-3.4.x.
59151
59152 2007-10-20  Ben Pfaff  <blp@gnu.org>
59153
59154         * lib/math.in.h: Declare round, roundf, roundl if we are providing
59155         implementations.
59156         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
59157         * lib/round.c: New file.
59158         * lib/roundf.c: New file.
59159         * lib/roundl.c: New file.
59160         * m4/round.m4: New file.
59161         * m4/roundf.m4: New file.
59162         * m4/roundl.m4: New file.
59163         * m4/check-libm-func-m4: New file.
59164         * modules/math: Replace round, roundf, roundl related @VARS@ in
59165         math.in.h.
59166         * modules/round: New file.
59167         * modules/round-tests: New file.
59168         * modules/roundf: New file.
59169         * modules/roundf-tests: New file.
59170         * modules/roundl: New file.
59171         * modules/roundl-tests: New file.
59172         * tests/test-round1.c: New file.
59173         * tests/test-round2.c: New file.
59174         * tests/test-roundf1.c: New file.
59175         * tests/test-roundf2.c: New file.
59176         * tests/test-roundl.c: New file.
59177         * doc/functions/round.texi: Mention round module.
59178         * doc/functions/roundf.texi: Mention roundf module.
59179         * doc/functions/roundl.texi: Mention roundl module.
59180         * MODULES.html.sh: Mention new modules.
59181         Thanks to Bruno Haible for suggestions.
59182
59183 2007-10-20  Jim Meyering  <meyering@redhat.com>
59184
59185         * lib/xprintf.c: Include <config.h> unconditionally.
59186
59187         Change xprintf's license to GPL.
59188         * modules/xprintf (License): s/LGPL/GPL/, since this module
59189         depends on modules (exit and exitfail) which are GPL.
59190         Suggestion from Bruno Haible.
59191
59192         xprintf fixes.
59193         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
59194         Use a clearer diagnostic.
59195         Patch from Bruno Haible.
59196
59197 2007-10-20  Bruno Haible  <bruno@clisp.org>
59198
59199         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
59200         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
59201         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59202
59203 2007-10-20  Bruno Haible  <bruno@clisp.org>
59204
59205         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
59206         precision in the comparison result > x - 1 or similar.
59207         * tests/test-ceilf2.c (correct_result_p): Likewise.
59208         * tests/test-truncf2.c (correct_result_p): Likewise.
59209         * tests/test-trunc2.c (correct_result_p): Likewise.
59210         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59211
59212 2007-10-20  Bruno Haible  <bruno@clisp.org>
59213
59214         * modules/ceil: New file.
59215         * m4/ceil.m4: New file.
59216         * doc/functions/ceil.texi: Mention the 'ceil' module.
59217
59218 2007-10-20  Bruno Haible  <bruno@clisp.org>
59219
59220         * modules/floor: New file.
59221         * m4/floor.m4: New file.
59222         * doc/functions/floor.texi: Mention the 'floor' module.
59223
59224 2007-10-20  Bruno Haible  <bruno@clisp.org>
59225
59226         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
59227         of %a.
59228         * modules/floorf-tests (Depends-on): Likewise.
59229         * modules/truncf-tests (Depends-on): Likewise.
59230         * modules/trunc-tests (Depends-on): Likewise.
59231         Reported by Ben Pfaff.
59232
59233 2007-10-19  Jim Meyering  <meyering@redhat.com>
59234
59235         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
59236         Don't bother testing specific errno values.  Just test ferror.
59237
59238         New module: xprintf
59239         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
59240
59241 2007-10-19  Bruno Haible  <bruno@clisp.org>
59242
59243         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
59244         syntax.
59245         * modules/javaexec (Makefile.am): Likewise.
59246         * modules/relocatable-prog (Makefile.am): Likewise.
59247         Suggested by Jim Meyering.
59248
59249 2007-10-18  Bruno Haible  <bruno@clisp.org>
59250
59251         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
59252         Reported by Jim Meyering.
59253
59254 2007-10-18  Eric Blake  <ebb9@byu.net>
59255
59256         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
59257
59258 2007-10-18  Bruno Haible  <bruno@clisp.org>
59259
59260         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
59261         the format string into writable memory. Needed in Fortify conditions.
59262
59263 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
59264             Bruno Haible  <bruno@clisp.org>
59265
59266         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
59267         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
59268         * modules/trim (Depends-on): Add mbchar.
59269         (configure.ac): Add gl_FUNC_MBRTOWC.
59270         (Makefile.am): Augment lib_SOURCES.
59271
59272 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
59273
59274         Modify glob.c to use fstatat and dirfd, to simplify it.
59275         Suggested by Eric Blake.
59276         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
59277         Don't include <stdbool.h>; not used.
59278         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
59279         (link_exists_p): Simplify implementation, since we can now assume
59280         dirfd and fstatat.
59281         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
59282
59283 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59284
59285         * gnulib-tool (func_get_dependencies): Fix sed script to
59286         match only tests.
59287
59288 2007-10-17  Bruno Haible  <bruno@clisp.org>
59289
59290         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
59291         allow locale names without encoding suffix.
59292         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59293         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59294
59295 2007-10-16  Bruno Haible  <bruno@clisp.org>
59296
59297         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
59298         * lib/getgroups.c (getgroups): Likewise.
59299         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
59300
59301 2007-10-16  Bruno Haible  <bruno@clisp.org>
59302
59303         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
59304         * modules/malloc-posix (License): Likewise.
59305         * modules/realloc-posix (License): Likewise.
59306         * modules/calloc-posix (License): Likewise.
59307         * modules/intprops (License): Change from GPL to LGPL, with
59308         Paul Eggert's approval.
59309
59310 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59311
59312         Merge glibc changes into lib/glob.c.
59313
59314         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
59315         2007-10-15 04:59:03 UTC.  Here are the changes:
59316
59317         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
59318
59319         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
59320
59321         * lib/glob.c: Add some branch prediction throughout.
59322
59323         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
59324
59325         [BZ #5103]
59326         * lib/glob.c (glob): Recognize patterns starting \/.
59327
59328         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
59329
59330         [BZ #3996]
59331         * lib/glob.c (attribute_hidden): Define if not defined.
59332         (glob): Unescape dirname, filename or username when needed and not
59333         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
59334         is NULL.  Handle unescaped [ in pattern without closing ].
59335         Don't pass GLOB_CHECK down to recursive glob for directories.
59336         (__glob_pattern_type): New function.
59337         (__glob_pattern_p): Implement using __glob_pattern_type.
59338         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
59339         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
59340         Remove unreachable code.
59341
59342         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
59343
59344         * lib/glob.c (glob_in_dir): Add some comments and asserts to
59345         explain why there are no leaks.
59346
59347         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
59348
59349         [BZ #3253]
59350         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
59351         time, rather allocate increasingly bigger arrays of pointers, if
59352         possible with alloca, if too large with malloc.
59353
59354 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59355
59356         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
59357         Problem reported by H.Merijn Brand in
59358         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
59359         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
59360         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59361
59362 2007-10-15  Bruno Haible  <bruno@clisp.org>
59363
59364         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
59365         with explicit rpl_ prefix.
59366         * lib/fopen.c (fopen): Likewise.
59367         * lib/freopen.c (freopen): Likewise.
59368         * lib/iconv.c (iconv): Likewise.
59369         * lib/iconv_close.c (iconv_close): Likewise.
59370
59371 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59372
59373         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
59374
59375 2007-10-15  Bruno Haible  <bruno@clisp.org>
59376
59377         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
59378         <stddef.h> instead of <stdlib.h> since we only need NULL.
59379         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59380
59381 2007-10-15  Bruno Haible  <bruno@clisp.org>
59382
59383         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
59384         Replace paragraph talking about LIBOBJS.
59385         Reported by Colin Watson <cjwatson@debian.org>.
59386
59387 2007-10-15  Bruno Haible  <bruno@clisp.org>
59388
59389         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
59390         <stdlib.h> before using NULL.
59391
59392 2007-10-15  Simon Josefsson  <simon@josefsson.org>
59393
59394         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
59395         Reported by Albert Chin <china@thewrittenword.com>.
59396
59397 2007-10-14  Bruno Haible  <bruno@clisp.org>
59398
59399         * modules/iconv_open-utf-tests: New file.
59400         * tests/test-iconv-utf.c: New file.
59401
59402         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
59403         * modules/iconv_open-utf: New file.
59404         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
59405         (iconv, iconv_close): New declarations.
59406         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
59407         be defined.
59408         (iconv_open): Add special handling of conversion between UTF-8 and
59409         UTF-{16,32}{BE,LE}.
59410         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
59411         * lib/iconv_close.c: New file.
59412         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
59413         gl_FUNC_ICONV_OPEN.
59414         (gl_FUNC_ICONV_OPEN): Use it.
59415         (gl_FUNC_ICONV_OPEN_UTF): New macro.
59416         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
59417         and REPLACE_ICONV_UTF.
59418         * modules/iconv_open (Depends-on): Add c-strcase.
59419         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
59420         ICONV_CONST.
59421         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
59422
59423 2007-10-13  Albert Chin  <china@thewrittenword.com>
59424             Bruno Haible  <bruno@clisp.org>
59425
59426         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
59427         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
59428
59429 2007-10-13  Bruno Haible  <bruno@clisp.org>
59430
59431         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
59432         defined, use the ISO C99 inline semantics.
59433         * lib/argp.h (ARGP_EI): Likewise.
59434
59435 2007-10-13  Bruno Haible  <bruno@clisp.org>
59436
59437         Handle 'inline' change in gcc 4.3.0.
59438         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
59439         argp_fmtstream_write, argp_fmtstream_set_lmargin,
59440         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
59441         argp_fmtstream_point): Disable 'extern' declaration if the function
59442         definition is going to be provided inline.
59443         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
59444         semantics, not the ISO C99 inline semantics.
59445         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
59446         'extern' declaration if the function definition is going to be provided
59447         inline.
59448         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
59449         the GNU C inline semantics, not the ISO C99 inline semantics. With
59450         GCC 4.2, avoid a warning.
59451
59452 2007-10-13  Bruno Haible  <bruno@clisp.org>
59453
59454         * lib/freading.h (freading): Enable the use of __freading for
59455         glibc >= 2.7.
59456         * lib/freading.c (freading): Likewise.
59457
59458 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59459
59460         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
59461         "warning: C99 inline functions are not supported; using GNU89".
59462
59463 2007-10-12  Bruno Haible  <bruno@clisp.org>
59464
59465         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
59466         of 2.
59467         * tests/test-ceilf2.c: New file.
59468         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
59469
59470         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
59471         * modules/ceilf-tests: Update.
59472
59473 2007-10-12  Bruno Haible  <bruno@clisp.org>
59474
59475         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
59476         of 2.
59477         * tests/test-floorf2.c: New file.
59478         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
59479
59480         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
59481         * modules/floorf-tests: Update.
59482
59483 2007-10-12  Bruno Haible  <bruno@clisp.org>
59484
59485         * tests/test-trunc2.c: New file.
59486         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
59487
59488         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
59489         * modules/trunc-tests: Update.
59490
59491 2007-10-12  Bruno Haible  <bruno@clisp.org>
59492
59493         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
59494         of 2.
59495         * tests/test-truncf2.c: New file.
59496         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
59497
59498         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
59499         * modules/truncf-tests: Update.
59500
59501 2007-10-11  Eric Blake  <ebb9@byu.net>
59502
59503         Don't claim strerror is broken on Interix.
59504         * doc/functions/strerror.texi (strerror): Known broken systems are
59505         now Solaris 8, and not Interix.
59506         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
59507         Interix on cross-compile.
59508         Reported by Martin Koeppe in
59509         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
59510
59511 2007-10-11  Bruno Haible  <bruno@clisp.org>
59512
59513         * modules/i-ring-tests: New file.
59514         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
59515         instead of assert.
59516
59517 2007-10-11  Bruno Haible  <bruno@clisp.org>
59518
59519         * modules/filenamecat-tests: New file.
59520         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
59521         * lib/filenamecat.c: Remove test code.
59522
59523 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59524
59525         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
59526
59527         * lib/strerror.c: Include <string.h> always, to test interface,
59528         and to remove the need for the dummy.
59529         Include intprops.h to compute width instead of doing it ourselves
59530         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
59531         (strerror): Define it to return NULL if there's no system strerror.
59532         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
59533         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
59534         ancient pre-strerror Unix systems well any more.  Saying "unknown
59535         system error" is enough.
59536         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
59537         simpler strerror.c implementation.
59538         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
59539         Simplify the tests to reflect the simpler strerror implementation.
59540         * modules/strerror (Depends-on): Add intprops.
59541
59542 2007-10-09  Eric Blake  <ebb9@byu.net>
59543
59544         Silence test-fpending.
59545         * modules/fpending-tests (Files): Add wrapper script.
59546         * tests/test-fpending.sh: New file.
59547
59548 2007-10-09  Bruno Haible  <bruno@clisp.org>
59549
59550         * MODULES.html.sh (func_module): Don't create a hyperlink for
59551         function names like 'printf_frexp'.
59552         (Misc): Add crc, memxor.
59553         (Characteristics of floating types): New section.
59554         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
59555         isnanf-nolibm, signbit, trunc, truncf, truncl.
59556         (Enhancements for ISO C 99 functions): New subsection Input/output.
59557         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
59558         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
59559         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
59560         (Compatibility checks for POSIX:2001 functions): Add clock-time.
59561         (Enhancements for POSIX:2001 functions): Add chdir-long.
59562         (File system functions): Add areadlink, chdir-safer, read-file.
59563         Remove cycle-check.
59564         (File system as inode set): New section.
59565         (Date and time): Add gethrxtime.
59566         (Multithreading): Add openmp.
59567         (Internationalization functions): Add localename.
59568         (Unicode string functions): Add unistr/u*-mbsnlen.
59569         (Support for maintaining and releasing projects): Add git-version-gen.
59570         (Lone files): Remove directories.
59571
59572 2007-10-08  Ben Pfaff  <blp@gnu.org>
59573
59574         * lib/xmalloca.h: Fix typo in comment.
59575
59576 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59577
59578         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
59579         when avoiding problems with integer overflow.  Use a portable test
59580         instead.
59581
59582 2007-10-08  Simon Josefsson  <simon@josefsson.org>
59583
59584         * modules/dummy (License): Change to LGPLv2+.
59585         * modules/float (License): Likewise
59586         * modules/realloc (License): Likewise
59587         * modules/stdlib (License): Likewise
59588
59589 2007-10-07  Bruno Haible  <bruno@clisp.org>
59590
59591         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
59592         * floor.c (TWO_MANT_DIG): Likewise.
59593         * ceil.c (TWO_MANT_DIG): Likewise.
59594         Reported by Ben Pfaff.
59595
59596 2007-10-07  Bruno Haible  <bruno@clisp.org>
59597
59598         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
59599         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
59600         * lib/frexp.c (FUNC): Likewise.
59601         * lib/printf-frexp.h (printf_frexp): Likewise.
59602         * lib/printf-frexpl.h (printf_frexpl): Likewise.
59603         * lib/printf-frexp.c (FUNC): Likewise.
59604         Suggested by Jim Meyering.
59605
59606 2007-10-07  Jim Meyering  <meyering@redhat.com>
59607
59608         Make xnanosleep's integer overflow test more robust.
59609         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
59610         so that gcc-4.3.0 doesn't optimize away this test for overflow.
59611
59612 2007-10-07  Bruno Haible  <bruno@clisp.org>
59613
59614         * NEWS: Mention the license change.
59615
59616         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
59617         abbreviations in the modules files.
59618
59619         Change copyright notice from GPLv2+ to GPLv3+.
59620         * README: Change copyright notice.
59621         * MODULES.html.sh: Likewise.
59622         * build-aux/bootstrap.conf: Likewise.
59623         * build-aux/config.libpath: Likewise.
59624         * build-aux/csharpcomp.sh.in: Likewise.
59625         * build-aux/csharpexec.sh.in: Likewise.
59626         * build-aux/install-reloc: Likewise.
59627         * build-aux/javacomp.sh.in: Likewise.
59628         * build-aux/javaexec.sh.in: Likewise.
59629         * build-aux/ldd.sh.in: Likewise.
59630         * build-aux/reloc-ldflags: Likewise.
59631         * build-aux/relocatable.sh.in: Likewise.
59632         * build-aux/x-to-1.in: Likewise.
59633         * check-module: Likewise.
59634         * config/srclistvars.sh: Likewise.
59635         * gnulib-tool: Likewise.
59636         * lib/acl-internal.h: Likewise.
59637         * lib/acl.c: Likewise.
59638         * lib/acl.h: Likewise.
59639         * lib/acl_entries.c: Likewise.
59640         * lib/areadlink-with-size.c: Likewise.
59641         * lib/areadlink.c: Likewise.
59642         * lib/areadlink.h: Likewise.
59643         * lib/argmatch.c: Likewise.
59644         * lib/argmatch.h: Likewise.
59645         * lib/argp-ba.c: Likewise.
59646         * lib/argp-eexst.c: Likewise.
59647         * lib/argp-fmtstream.c: Likewise.
59648         * lib/argp-fmtstream.h: Likewise.
59649         * lib/argp-fs-xinl.c: Likewise.
59650         * lib/argp-help.c: Likewise.
59651         * lib/argp-namefrob.h: Likewise.
59652         * lib/argp-parse.c: Likewise.
59653         * lib/argp-pin.c: Likewise.
59654         * lib/argp-pv.c: Likewise.
59655         * lib/argp-pvh.c: Likewise.
59656         * lib/argp-xinl.c: Likewise.
59657         * lib/argp.h: Likewise.
59658         * lib/at-func.c: Likewise.
59659         * lib/atanl.c: Likewise.
59660         * lib/backupfile.c: Likewise.
59661         * lib/backupfile.h: Likewise.
59662         * lib/basename.c: Likewise.
59663         * lib/binary-io.h: Likewise.
59664         * lib/byteswap.in.h: Likewise.
59665         * lib/c-stack.c: Likewise.
59666         * lib/c-stack.h: Likewise.
59667         * lib/c-strcasestr.c: Likewise.
59668         * lib/c-strcasestr.h: Likewise.
59669         * lib/c-strstr.c: Likewise.
59670         * lib/c-strstr.h: Likewise.
59671         * lib/c-strtod.c: Likewise.
59672         * lib/calloc.c: Likewise.
59673         * lib/canon-host.c: Likewise.
59674         * lib/canon-host.h: Likewise.
59675         * lib/canonicalize-lgpl.c: Likewise.
59676         * lib/canonicalize.c: Likewise.
59677         * lib/canonicalize.h: Likewise.
59678         * lib/ceil.c: Likewise.
59679         * lib/ceilf.c: Likewise.
59680         * lib/ceill.c: Likewise.
59681         * lib/chdir-long.c: Likewise.
59682         * lib/chdir-long.h: Likewise.
59683         * lib/chdir-safer.c: Likewise.
59684         * lib/chdir-safer.h: Likewise.
59685         * lib/chown.c: Likewise.
59686         * lib/classpath.c: Likewise.
59687         * lib/classpath.h: Likewise.
59688         * lib/clean-temp.c: Likewise.
59689         * lib/clean-temp.h: Likewise.
59690         * lib/cloexec.c: Likewise.
59691         * lib/close-stream.c: Likewise.
59692         * lib/closein.c: Likewise.
59693         * lib/closein.h: Likewise.
59694         * lib/closeout.c: Likewise.
59695         * lib/closeout.h: Likewise.
59696         * lib/concat-filename.c: Likewise.
59697         * lib/copy-file.c: Likewise.
59698         * lib/copy-file.h: Likewise.
59699         * lib/count-one-bits.h: Likewise.
59700         * lib/crc.c: Likewise.
59701         * lib/crc.h: Likewise.
59702         * lib/creat-safer.c: Likewise.
59703         * lib/csharpcomp.c: Likewise.
59704         * lib/csharpcomp.h: Likewise.
59705         * lib/csharpexec.c: Likewise.
59706         * lib/csharpexec.h: Likewise.
59707         * lib/cycle-check.c: Likewise.
59708         * lib/cycle-check.h: Likewise.
59709         * lib/diacrit.c: Likewise.
59710         * lib/diacrit.h: Likewise.
59711         * lib/diffseq.h: Likewise.
59712         * lib/dirchownmod.c: Likewise.
59713         * lib/dirent.in.h: Likewise.
59714         * lib/dirfd.c: Likewise.
59715         * lib/dirfd.h: Likewise.
59716         * lib/dirname.c: Likewise.
59717         * lib/dirname.h: Likewise.
59718         * lib/dummy.c: Likewise.
59719         * lib/dup-safer.c: Likewise.
59720         * lib/dup2.c: Likewise.
59721         * lib/eealloc.h: Likewise.
59722         * lib/error.c: Likewise.
59723         * lib/error.h: Likewise.
59724         * lib/euidaccess.c: Likewise.
59725         * lib/exclude.c: Likewise.
59726         * lib/exclude.h: Likewise.
59727         * lib/execute.c: Likewise.
59728         * lib/execute.h: Likewise.
59729         * lib/exitfail.c: Likewise.
59730         * lib/exitfail.h: Likewise.
59731         * lib/expl.c: Likewise.
59732         * lib/fatal-signal.c: Likewise.
59733         * lib/fatal-signal.h: Likewise.
59734         * lib/fbufmode.c: Likewise.
59735         * lib/fbufmode.h: Likewise.
59736         * lib/fchdir.c: Likewise.
59737         * lib/fchmodat.c: Likewise.
59738         * lib/fchownat.c: Likewise.
59739         * lib/fcntl--.h: Likewise.
59740         * lib/fcntl-safer.h: Likewise.
59741         * lib/fcntl.in.h: Likewise.
59742         * lib/fd-safer.c: Likewise.
59743         * lib/fflush.c: Likewise.
59744         * lib/file-has-acl.c: Likewise.
59745         * lib/file-set.c: Likewise.
59746         * lib/file-type.c: Likewise.
59747         * lib/file-type.h: Likewise.
59748         * lib/fileblocks.c: Likewise.
59749         * lib/filemode.c: Likewise.
59750         * lib/filemode.h: Likewise.
59751         * lib/filename.h: Likewise.
59752         * lib/filenamecat.c: Likewise.
59753         * lib/filenamecat.h: Likewise.
59754         * lib/findprog.c: Likewise.
59755         * lib/findprog.h: Likewise.
59756         * lib/float.in.h: Likewise.
59757         * lib/floor.c: Likewise.
59758         * lib/floorf.c: Likewise.
59759         * lib/floorl.c: Likewise.
59760         * lib/fopen-safer.c: Likewise.
59761         * lib/fopen.c: Likewise.
59762         * lib/fpending.c: Likewise.
59763         * lib/fpending.h: Likewise.
59764         * lib/fprintf.c: Likewise.
59765         * lib/fprintftime.h: Likewise.
59766         * lib/fpucw.h: Likewise.
59767         * lib/fpurge.c: Likewise.
59768         * lib/fpurge.h: Likewise.
59769         * lib/freadable.c: Likewise.
59770         * lib/freadable.h: Likewise.
59771         * lib/freadahead.c: Likewise.
59772         * lib/freadahead.h: Likewise.
59773         * lib/freading.c: Likewise.
59774         * lib/freading.h: Likewise.
59775         * lib/free.c: Likewise.
59776         * lib/freopen.c: Likewise.
59777         * lib/frexp.c: Likewise.
59778         * lib/frexpl.c: Likewise.
59779         * lib/fseek.c: Likewise.
59780         * lib/fseterr.c: Likewise.
59781         * lib/fseterr.h: Likewise.
59782         * lib/fstatat.c: Likewise.
59783         * lib/fstrcmp.c: Likewise.
59784         * lib/fstrcmp.h: Likewise.
59785         * lib/fsusage.c: Likewise.
59786         * lib/fsusage.h: Likewise.
59787         * lib/ftell.c: Likewise.
59788         * lib/ftello.c: Likewise.
59789         * lib/fts-cycle.c: Likewise.
59790         * lib/fts.c: Likewise.
59791         * lib/fts_.h: Likewise.
59792         * lib/full-read.c: Likewise.
59793         * lib/full-read.h: Likewise.
59794         * lib/full-write.c: Likewise.
59795         * lib/full-write.h: Likewise.
59796         * lib/fwritable.c: Likewise.
59797         * lib/fwritable.h: Likewise.
59798         * lib/fwriteerror.c: Likewise.
59799         * lib/fwriteerror.h: Likewise.
59800         * lib/fwriting.c: Likewise.
59801         * lib/fwriting.h: Likewise.
59802         * lib/gcd.c: Likewise.
59803         * lib/gcd.h: Likewise.
59804         * lib/getcwd.c: Likewise.
59805         * lib/getdate.h: Likewise.
59806         * lib/getdate.y: Likewise.
59807         * lib/getdomainname.c: Likewise.
59808         * lib/getdomainname.h: Likewise.
59809         * lib/getgroups.c: Likewise.
59810         * lib/gethostname.c: Likewise.
59811         * lib/gethrxtime.c: Likewise.
59812         * lib/gethrxtime.h: Likewise.
59813         * lib/getloadavg.c: Likewise.
59814         * lib/getndelim2.c: Likewise.
59815         * lib/getndelim2.h: Likewise.
59816         * lib/getnline.c: Likewise.
59817         * lib/getnline.h: Likewise.
59818         * lib/getopt.c: Likewise.
59819         * lib/getopt.in.h: Likewise.
59820         * lib/getopt1.c: Likewise.
59821         * lib/getopt_int.h: Likewise.
59822         * lib/getpagesize.h: Likewise.
59823         * lib/getsubopt.c: Likewise.
59824         * lib/gettime.c: Likewise.
59825         * lib/getugroups.c: Likewise.
59826         * lib/getugroups.h: Likewise.
59827         * lib/getusershell.c: Likewise.
59828         * lib/gl_anyavltree_list1.h: Likewise.
59829         * lib/gl_anyavltree_list2.h: Likewise.
59830         * lib/gl_anyhash_list1.h: Likewise.
59831         * lib/gl_anyhash_list2.h: Likewise.
59832         * lib/gl_anylinked_list1.h: Likewise.
59833         * lib/gl_anylinked_list2.h: Likewise.
59834         * lib/gl_anyrbtree_list1.h: Likewise.
59835         * lib/gl_anyrbtree_list2.h: Likewise.
59836         * lib/gl_anytree_list1.h: Likewise.
59837         * lib/gl_anytree_list2.h: Likewise.
59838         * lib/gl_anytree_oset.h: Likewise.
59839         * lib/gl_anytreehash_list1.h: Likewise.
59840         * lib/gl_anytreehash_list2.h: Likewise.
59841         * lib/gl_array_list.c: Likewise.
59842         * lib/gl_array_list.h: Likewise.
59843         * lib/gl_array_oset.c: Likewise.
59844         * lib/gl_array_oset.h: Likewise.
59845         * lib/gl_avltree_list.c: Likewise.
59846         * lib/gl_avltree_list.h: Likewise.
59847         * lib/gl_avltree_oset.c: Likewise.
59848         * lib/gl_avltree_oset.h: Likewise.
59849         * lib/gl_avltreehash_list.c: Likewise.
59850         * lib/gl_avltreehash_list.h: Likewise.
59851         * lib/gl_carray_list.c: Likewise.
59852         * lib/gl_carray_list.h: Likewise.
59853         * lib/gl_linked_list.c: Likewise.
59854         * lib/gl_linked_list.h: Likewise.
59855         * lib/gl_linkedhash_list.c: Likewise.
59856         * lib/gl_linkedhash_list.h: Likewise.
59857         * lib/gl_list.c: Likewise.
59858         * lib/gl_list.h: Likewise.
59859         * lib/gl_oset.c: Likewise.
59860         * lib/gl_oset.h: Likewise.
59861         * lib/gl_rbtree_list.c: Likewise.
59862         * lib/gl_rbtree_list.h: Likewise.
59863         * lib/gl_rbtree_oset.c: Likewise.
59864         * lib/gl_rbtree_oset.h: Likewise.
59865         * lib/gl_rbtreehash_list.c: Likewise.
59866         * lib/gl_rbtreehash_list.h: Likewise.
59867         * lib/gl_sublist.c: Likewise.
59868         * lib/gl_sublist.h: Likewise.
59869         * lib/group-member.c: Likewise.
59870         * lib/group-member.h: Likewise.
59871         * lib/hard-locale.c: Likewise.
59872         * lib/hard-locale.h: Likewise.
59873         * lib/hash-pjw.c: Likewise.
59874         * lib/hash-pjw.h: Likewise.
59875         * lib/hash-triple.c: Likewise.
59876         * lib/hash.c: Likewise.
59877         * lib/hash.h: Likewise.
59878         * lib/human.c: Likewise.
59879         * lib/human.h: Likewise.
59880         * lib/i-ring.c: Likewise.
59881         * lib/i-ring.h: Likewise.
59882         * lib/idcache.c: Likewise.
59883         * lib/imaxabs.c: Likewise.
59884         * lib/imaxdiv.c: Likewise.
59885         * lib/inet_pton.c: Likewise.
59886         * lib/inet_pton.h: Likewise.
59887         * lib/intprops.h: Likewise.
59888         * lib/inttostr.c: Likewise.
59889         * lib/inttostr.h: Likewise.
59890         * lib/inttypes.in.h: Likewise.
59891         * lib/isapipe.c: Likewise.
59892         * lib/isdir.c: Likewise.
59893         * lib/isnan.c: Likewise.
59894         * lib/isnan.h: Likewise.
59895         * lib/isnanf.c: Likewise.
59896         * lib/isnanf.h: Likewise.
59897         * lib/isnanl-nolibm.h: Likewise.
59898         * lib/isnanl.c: Likewise.
59899         * lib/isnanl.h: Likewise.
59900         * lib/javacomp.c: Likewise.
59901         * lib/javacomp.h: Likewise.
59902         * lib/javaexec.c: Likewise.
59903         * lib/javaexec.h: Likewise.
59904         * lib/javaversion.c: Likewise.
59905         * lib/javaversion.h: Likewise.
59906         * lib/javaversion.java: Likewise.
59907         * lib/lbrkprop.h: Likewise.
59908         * lib/lchmod.h: Likewise.
59909         * lib/lchown.c: Likewise.
59910         * lib/ldexpl.c: Likewise.
59911         * lib/linebreak.c: Likewise.
59912         * lib/linebreak.h: Likewise.
59913         * lib/linebuffer.c: Likewise.
59914         * lib/linebuffer.h: Likewise.
59915         * lib/locale.in.h: Likewise.
59916         * lib/logl.c: Likewise.
59917         * lib/long-options.c: Likewise.
59918         * lib/long-options.h: Likewise.
59919         * lib/lstat.c: Likewise.
59920         * lib/lstat.h: Likewise.
59921         * lib/math.in.h: Likewise.
59922         * lib/mbchar.c: Likewise.
59923         * lib/mbchar.h: Likewise.
59924         * lib/mbfile.h: Likewise.
59925         * lib/mbiter.h: Likewise.
59926         * lib/mbscasecmp.c: Likewise.
59927         * lib/mbscasestr.c: Likewise.
59928         * lib/mbschr.c: Likewise.
59929         * lib/mbscspn.c: Likewise.
59930         * lib/mbslen.c: Likewise.
59931         * lib/mbsncasecmp.c: Likewise.
59932         * lib/mbsnlen.c: Likewise.
59933         * lib/mbspbrk.c: Likewise.
59934         * lib/mbspcasecmp.c: Likewise.
59935         * lib/mbsrchr.c: Likewise.
59936         * lib/mbssep.c: Likewise.
59937         * lib/mbsspn.c: Likewise.
59938         * lib/mbsstr.c: Likewise.
59939         * lib/mbstok_r.c: Likewise.
59940         * lib/mbswidth.c: Likewise.
59941         * lib/mbswidth.h: Likewise.
59942         * lib/mbuiter.h: Likewise.
59943         * lib/memcasecmp.c: Likewise.
59944         * lib/memcasecmp.h: Likewise.
59945         * lib/memchr.c: Likewise.
59946         * lib/memcmp.c: Likewise.
59947         * lib/memcoll.c: Likewise.
59948         * lib/memcoll.h: Likewise.
59949         * lib/memcpy.c: Likewise.
59950         * lib/memrchr.c: Likewise.
59951         * lib/mkancesdirs.c: Likewise.
59952         * lib/mkdir-p.c: Likewise.
59953         * lib/mkdir-p.h: Likewise.
59954         * lib/mkdir.c: Likewise.
59955         * lib/mkdirat.c: Likewise.
59956         * lib/mkdtemp.c: Likewise.
59957         * lib/mkstemp-safer.c: Likewise.
59958         * lib/mkstemp.c: Likewise.
59959         * lib/modechange.c: Likewise.
59960         * lib/modechange.h: Likewise.
59961         * lib/mountlist.c: Likewise.
59962         * lib/mountlist.h: Likewise.
59963         * lib/mpsort.c: Likewise.
59964         * lib/nanosleep.c: Likewise.
59965         * lib/obstack.c: Likewise.
59966         * lib/obstack.h: Likewise.
59967         * lib/open-safer.c: Likewise.
59968         * lib/open.c: Likewise.
59969         * lib/openat-die.c: Likewise.
59970         * lib/openat-priv.h: Likewise.
59971         * lib/openat-proc.c: Likewise.
59972         * lib/openat.c: Likewise.
59973         * lib/openat.h: Likewise.
59974         * lib/pagealign_alloc.c: Likewise.
59975         * lib/pagealign_alloc.h: Likewise.
59976         * lib/physmem.c: Likewise.
59977         * lib/physmem.h: Likewise.
59978         * lib/pipe-safer.c: Likewise.
59979         * lib/pipe.c: Likewise.
59980         * lib/pipe.h: Likewise.
59981         * lib/posixtm.c: Likewise.
59982         * lib/posixtm.h: Likewise.
59983         * lib/posixver.c: Likewise.
59984         * lib/printf-frexp.c: Likewise.
59985         * lib/printf-frexp.h: Likewise.
59986         * lib/printf-frexpl.c: Likewise.
59987         * lib/printf-frexpl.h: Likewise.
59988         * lib/printf.c: Likewise.
59989         * lib/progname.c: Likewise.
59990         * lib/progname.h: Likewise.
59991         * lib/progreloc.c: Likewise.
59992         * lib/putenv.c: Likewise.
59993         * lib/quote.c: Likewise.
59994         * lib/quote.h: Likewise.
59995         * lib/quotearg.c: Likewise.
59996         * lib/quotearg.h: Likewise.
59997         * lib/raise.c: Likewise.
59998         * lib/readline.c: Likewise.
59999         * lib/readline.h: Likewise.
60000         * lib/readlink.c: Likewise.
60001         * lib/readtokens.c: Likewise.
60002         * lib/readtokens.h: Likewise.
60003         * lib/readtokens0.c: Likewise.
60004         * lib/readtokens0.h: Likewise.
60005         * lib/readutmp.c: Likewise.
60006         * lib/readutmp.h: Likewise.
60007         * lib/realloc.c: Likewise.
60008         * lib/relocwrapper.c: Likewise.
60009         * lib/rename-dest-slash.c: Likewise.
60010         * lib/rename.c: Likewise.
60011         * lib/rmdir.c: Likewise.
60012         * lib/rpmatch.c: Likewise.
60013         * lib/safe-read.c: Likewise.
60014         * lib/safe-read.h: Likewise.
60015         * lib/safe-write.c: Likewise.
60016         * lib/safe-write.h: Likewise.
60017         * lib/same-inode.h: Likewise.
60018         * lib/same.c: Likewise.
60019         * lib/same.h: Likewise.
60020         * lib/save-cwd.c: Likewise.
60021         * lib/save-cwd.h: Likewise.
60022         * lib/savedir.c: Likewise.
60023         * lib/savedir.h: Likewise.
60024         * lib/savewd.c: Likewise.
60025         * lib/savewd.h: Likewise.
60026         * lib/search.in.h: Likewise.
60027         * lib/setenv.c: Likewise.
60028         * lib/setenv.h: Likewise.
60029         * lib/settime.c: Likewise.
60030         * lib/sh-quote.c: Likewise.
60031         * lib/sh-quote.h: Likewise.
60032         * lib/sig2str.c: Likewise.
60033         * lib/sig2str.h: Likewise.
60034         * lib/signal.in.h: Likewise.
60035         * lib/signbitd.c: Likewise.
60036         * lib/signbitf.c: Likewise.
60037         * lib/signbitl.c: Likewise.
60038         * lib/sigprocmask.c: Likewise.
60039         * lib/sincosl.c: Likewise.
60040         * lib/sleep.c: Likewise.
60041         * lib/sprintf.c: Likewise.
60042         * lib/sqrtl.c: Likewise.
60043         * lib/stat-time.h: Likewise.
60044         * lib/stdio--.h: Likewise.
60045         * lib/stdio-safer.h: Likewise.
60046         * lib/stdlib--.h: Likewise.
60047         * lib/stdlib-safer.h: Likewise.
60048         * lib/stdlib.in.h: Likewise.
60049         * lib/stpcpy.c: Likewise.
60050         * lib/stpncpy.c: Likewise.
60051         * lib/strchrnul.c: Likewise.
60052         * lib/strcspn.c: Likewise.
60053         * lib/strerror.c: Likewise.
60054         * lib/strftime.c: Likewise.
60055         * lib/strftime.h: Likewise.
60056         * lib/striconveh.c: Likewise.
60057         * lib/striconveh.h: Likewise.
60058         * lib/striconveha.c: Likewise.
60059         * lib/striconveha.h: Likewise.
60060         * lib/stripslash.c: Likewise.
60061         * lib/strnlen1.c: Likewise.
60062         * lib/strnlen1.h: Likewise.
60063         * lib/strtod.c: Likewise.
60064         * lib/strtoimax.c: Likewise.
60065         * lib/strtok_r.c: Likewise.
60066         * lib/strtol.c: Likewise.
60067         * lib/strtoll.c: Likewise.
60068         * lib/strtoul.c: Likewise.
60069         * lib/strtoull.c: Likewise.
60070         * lib/sysexits.in.h: Likewise.
60071         * lib/tempname.c: Likewise.
60072         * lib/tempname.h: Likewise.
60073         * lib/timespec.h: Likewise.
60074         * lib/tls.c: Likewise.
60075         * lib/tls.h: Likewise.
60076         * lib/tmpdir.c: Likewise.
60077         * lib/tmpdir.h: Likewise.
60078         * lib/tmpfile-safer.c: Likewise.
60079         * lib/tmpfile.c: Likewise.
60080         * lib/trigl.c: Likewise.
60081         * lib/trigl.h: Likewise.
60082         * lib/trim.c: Likewise.
60083         * lib/trim.h: Likewise.
60084         * lib/trunc.c: Likewise.
60085         * lib/truncf.c: Likewise.
60086         * lib/truncl.c: Likewise.
60087         * lib/tsearch.c: Likewise.
60088         * lib/unicodeio.c: Likewise.
60089         * lib/unicodeio.h: Likewise.
60090         * lib/unistd--.h: Likewise.
60091         * lib/unistd-safer.h: Likewise.
60092         * lib/unistdio/ulc-fprintf.c: Likewise.
60093         * lib/unistdio/ulc-vfprintf.c: Likewise.
60094         * lib/unlinkdir.c: Likewise.
60095         * lib/unlinkdir.h: Likewise.
60096         * lib/unlocked-io.h: Likewise.
60097         * lib/unsetenv.c: Likewise.
60098         * lib/userspec.c: Likewise.
60099         * lib/utime.c: Likewise.
60100         * lib/utimecmp.c: Likewise.
60101         * lib/utimecmp.h: Likewise.
60102         * lib/utimens.c: Likewise.
60103         * lib/verify.h: Likewise.
60104         * lib/verror.c: Likewise.
60105         * lib/verror.h: Likewise.
60106         * lib/version-etc-fsf.c: Likewise.
60107         * lib/version-etc.c: Likewise.
60108         * lib/version-etc.h: Likewise.
60109         * lib/vfprintf.c: Likewise.
60110         * lib/vprintf.c: Likewise.
60111         * lib/vsprintf.c: Likewise.
60112         * lib/w32spawn.h: Likewise.
60113         * lib/wait-process.c: Likewise.
60114         * lib/wait-process.h: Likewise.
60115         * lib/wcwidth.c: Likewise.
60116         * lib/write-any-file.c: Likewise.
60117         * lib/xalloc-die.c: Likewise.
60118         * lib/xalloc.h: Likewise.
60119         * lib/xasprintf.c: Likewise.
60120         * lib/xgetcwd.c: Likewise.
60121         * lib/xgetcwd.h: Likewise.
60122         * lib/xgetdomainname.c: Likewise.
60123         * lib/xgetdomainname.h: Likewise.
60124         * lib/xgethostname.c: Likewise.
60125         * lib/xmalloc.c: Likewise.
60126         * lib/xmalloca.c: Likewise.
60127         * lib/xmalloca.h: Likewise.
60128         * lib/xmemcoll.c: Likewise.
60129         * lib/xnanosleep.c: Likewise.
60130         * lib/xreadlink.c: Likewise.
60131         * lib/xreadlink.h: Likewise.
60132         * lib/xsetenv.c: Likewise.
60133         * lib/xsetenv.h: Likewise.
60134         * lib/xstriconv.c: Likewise.
60135         * lib/xstriconv.h: Likewise.
60136         * lib/xstrndup.c: Likewise.
60137         * lib/xstrndup.h: Likewise.
60138         * lib/xstrtod.c: Likewise.
60139         * lib/xstrtod.h: Likewise.
60140         * lib/xstrtol-error.c: Likewise.
60141         * lib/xstrtol.c: Likewise.
60142         * lib/xstrtol.h: Likewise.
60143         * lib/xtime.h: Likewise.
60144         * lib/xvasprintf.c: Likewise.
60145         * lib/xvasprintf.h: Likewise.
60146         * lib/yesno.c: Likewise.
60147         * lib/yesno.h: Likewise.
60148         * posix-modules: Likewise.
60149         * tests/test-alloca-opt.c: Likewise.
60150         * tests/test-arcfour.c: Likewise.
60151         * tests/test-arctwo.c: Likewise.
60152         * tests/test-argmatch.c: Likewise.
60153         * tests/test-argp-2.sh: Likewise.
60154         * tests/test-argp.c: Likewise.
60155         * tests/test-arpa_inet.c: Likewise.
60156         * tests/test-array_list.c: Likewise.
60157         * tests/test-array_oset.c: Likewise.
60158         * tests/test-atexit.c: Likewise.
60159         * tests/test-avltree_list.c: Likewise.
60160         * tests/test-avltree_oset.c: Likewise.
60161         * tests/test-avltreehash_list.c: Likewise.
60162         * tests/test-base64.c: Likewise.
60163         * tests/test-binary-io.c: Likewise.
60164         * tests/test-byteswap.c: Likewise.
60165         * tests/test-c-ctype.c: Likewise.
60166         * tests/test-c-strcasecmp.c: Likewise.
60167         * tests/test-c-strcasestr.c: Likewise.
60168         * tests/test-c-strncasecmp.c: Likewise.
60169         * tests/test-c-strstr.c: Likewise.
60170         * tests/test-canonicalize-lgpl.c: Likewise.
60171         * tests/test-canonicalize.c: Likewise.
60172         * tests/test-carray_list.c: Likewise.
60173         * tests/test-ceilf.c: Likewise.
60174         * tests/test-ceill.c: Likewise.
60175         * tests/test-count-one-bits.c: Likewise.
60176         * tests/test-crc.c: Likewise.
60177         * tests/test-dirname.c: Likewise.
60178         * tests/test-fbufmode.c: Likewise.
60179         * tests/test-fcntl.c: Likewise.
60180         * tests/test-fflush.c: Likewise.
60181         * tests/test-floorf.c: Likewise.
60182         * tests/test-floorl.c: Likewise.
60183         * tests/test-fopen.c: Likewise.
60184         * tests/test-fprintf-posix.c: Likewise.
60185         * tests/test-fprintf-posix.h: Likewise.
60186         * tests/test-fpurge.c: Likewise.
60187         * tests/test-freadable.c: Likewise.
60188         * tests/test-freadahead.c: Likewise.
60189         * tests/test-freading.c: Likewise.
60190         * tests/test-freopen.c: Likewise.
60191         * tests/test-frexp.c: Likewise.
60192         * tests/test-frexpl.c: Likewise.
60193         * tests/test-fseek.c: Likewise.
60194         * tests/test-fseeko.c: Likewise.
60195         * tests/test-fseterr.c: Likewise.
60196         * tests/test-fstrcmp.c: Likewise.
60197         * tests/test-ftell.c: Likewise.
60198         * tests/test-ftello.c: Likewise.
60199         * tests/test-fwritable.c: Likewise.
60200         * tests/test-fwriting.c: Likewise.
60201         * tests/test-getaddrinfo.c: Likewise.
60202         * tests/test-getpass.c: Likewise.
60203         * tests/test-gettimeofday.c: Likewise.
60204         * tests/test-hmac-md5.c: Likewise.
60205         * tests/test-hmac-sha1.c: Likewise.
60206         * tests/test-iconv.c: Likewise.
60207         * tests/test-iconvme.c: Likewise.
60208         * tests/test-inttypes.c: Likewise.
60209         * tests/test-isnan.c: Likewise.
60210         * tests/test-isnanf.c: Likewise.
60211         * tests/test-isnanl-nolibm.c: Likewise.
60212         * tests/test-isnanl.c: Likewise.
60213         * tests/test-isnanl.h: Likewise.
60214         * tests/test-ldexpl.c: Likewise.
60215         * tests/test-linked_list.c: Likewise.
60216         * tests/test-linkedhash_list.c: Likewise.
60217         * tests/test-locale.c: Likewise.
60218         * tests/test-localename.c: Likewise.
60219         * tests/test-lock.c: Likewise.
60220         * tests/test-lseek.c: Likewise.
60221         * tests/test-malloca.c: Likewise.
60222         * tests/test-math.c: Likewise.
60223         * tests/test-mbscasecmp.c: Likewise.
60224         * tests/test-mbscasestr1.c: Likewise.
60225         * tests/test-mbscasestr2.c: Likewise.
60226         * tests/test-mbscasestr3.c: Likewise.
60227         * tests/test-mbscasestr4.c: Likewise.
60228         * tests/test-mbschr.c: Likewise.
60229         * tests/test-mbscspn.c: Likewise.
60230         * tests/test-mbsncasecmp.c: Likewise.
60231         * tests/test-mbspbrk.c: Likewise.
60232         * tests/test-mbspcasecmp.c: Likewise.
60233         * tests/test-mbsrchr.c: Likewise.
60234         * tests/test-mbsspn.c: Likewise.
60235         * tests/test-mbsstr1.c: Likewise.
60236         * tests/test-mbsstr2.c: Likewise.
60237         * tests/test-mbsstr3.c: Likewise.
60238         * tests/test-md5.c: Likewise.
60239         * tests/test-memmem.c: Likewise.
60240         * tests/test-netinet_in.c: Likewise.
60241         * tests/test-open.c: Likewise.
60242         * tests/test-printf-frexp.c: Likewise.
60243         * tests/test-printf-frexpl.c: Likewise.
60244         * tests/test-printf-posix.c: Likewise.
60245         * tests/test-printf-posix.h: Likewise.
60246         * tests/test-rbtree_list.c: Likewise.
60247         * tests/test-rbtree_oset.c: Likewise.
60248         * tests/test-rbtreehash_list.c: Likewise.
60249         * tests/test-read-file.c: Likewise.
60250         * tests/test-rijndael.c: Likewise.
60251         * tests/test-search.c: Likewise.
60252         * tests/test-signbit.c: Likewise.
60253         * tests/test-sleep.c: Likewise.
60254         * tests/test-snprintf-posix.c: Likewise.
60255         * tests/test-snprintf-posix.h: Likewise.
60256         * tests/test-snprintf.c: Likewise.
60257         * tests/test-sprintf-posix.c: Likewise.
60258         * tests/test-sprintf-posix.h: Likewise.
60259         * tests/test-stat-time.c: Likewise.
60260         * tests/test-stdbool.c: Likewise.
60261         * tests/test-stdint.c: Likewise.
60262         * tests/test-stdio.c: Likewise.
60263         * tests/test-stdlib.c: Likewise.
60264         * tests/test-stpncpy.c: Likewise.
60265         * tests/test-strcasestr.c: Likewise.
60266         * tests/test-striconv.c: Likewise.
60267         * tests/test-striconveh.c: Likewise.
60268         * tests/test-striconveha.c: Likewise.
60269         * tests/test-string.c: Likewise.
60270         * tests/test-sys_select.c: Likewise.
60271         * tests/test-sys_socket.c: Likewise.
60272         * tests/test-sys_stat.c: Likewise.
60273         * tests/test-sys_time.c: Likewise.
60274         * tests/test-sysexits.c: Likewise.
60275         * tests/test-time.c: Likewise.
60276         * tests/test-tls.c: Likewise.
60277         * tests/test-trunc.c: Likewise.
60278         * tests/test-truncf.c: Likewise.
60279         * tests/test-truncl.c: Likewise.
60280         * tests/test-unistd.c: Likewise.
60281         * tests/test-vasnprintf-posix.c: Likewise.
60282         * tests/test-vasnprintf-posix2.c: Likewise.
60283         * tests/test-vasnprintf.c: Likewise.
60284         * tests/test-vasprintf-posix.c: Likewise.
60285         * tests/test-vasprintf.c: Likewise.
60286         * tests/test-verify.c: Likewise.
60287         * tests/test-vfprintf-posix.c: Likewise.
60288         * tests/test-vprintf-posix.c: Likewise.
60289         * tests/test-vsnprintf-posix.c: Likewise.
60290         * tests/test-vsnprintf.c: Likewise.
60291         * tests/test-vsprintf-posix.c: Likewise.
60292         * tests/test-wchar.c: Likewise.
60293         * tests/test-wctype.c: Likewise.
60294         * tests/test-wcwidth.c: Likewise.
60295         * tests/test-xstrtol.c: Likewise.
60296         * tests/test-xvasprintf.c: Likewise.
60297         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
60298         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
60299         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
60300         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
60301         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
60302         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
60303         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
60304         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
60305         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
60306         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
60307         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
60308         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
60309         * tests/uniname/test-uninames.c: Likewise.
60310         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
60311         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
60312         * tests/unistdio/test-u16-printf1.h: Likewise.
60313         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
60314         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
60315         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
60316         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
60317         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
60318         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
60319         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
60320         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
60321         * tests/unistdio/test-u32-printf1.h: Likewise.
60322         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
60323         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
60324         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
60325         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
60326         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
60327         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
60328         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
60329         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
60330         * tests/unistdio/test-u8-printf1.h: Likewise.
60331         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
60332         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
60333         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
60334         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
60335         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
60336         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
60337         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
60338         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
60339         * tests/unistdio/test-ulc-printf1.h: Likewise.
60340         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
60341         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
60342         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
60343         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
60344         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
60345         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
60346         * tests/uniwidth/test-u16-strwidth.c: Likewise.
60347         * tests/uniwidth/test-u16-width.c: Likewise.
60348         * tests/uniwidth/test-u32-strwidth.c: Likewise.
60349         * tests/uniwidth/test-u32-width.c: Likewise.
60350         * tests/uniwidth/test-u8-strwidth.c: Likewise.
60351         * tests/uniwidth/test-u8-width.c: Likewise.
60352         * tests/uniwidth/test-uc_width.c: Likewise.
60353         * config/srclist-update: Likewise.
60354         (fixlicense): Update to GPLv3+.
60355
60356         Change copyright notice from LGPLv2.1+ to LGPLv3+.
60357         * tests/test-tsearch.c: Change copyright notice.
60358
60359         Change copyright notice from LGPLv2.0+ to LGPLv3+.
60360         * lib/c-strcaseeq.h: Change copyright notice.
60361         * lib/streq.h: Likewise.
60362         * lib/uniconv.h: Likewise.
60363         * lib/uniconv/u-conv-from-enc.h: Likewise.
60364         * lib/uniconv/u-conv-to-enc.h: Likewise.
60365         * lib/uniconv/u-strconv-from-enc.h: Likewise.
60366         * lib/uniconv/u-strconv-to-enc.h: Likewise.
60367         * lib/uniconv/u16-conv-from-enc.c: Likewise.
60368         * lib/uniconv/u16-conv-to-enc.c: Likewise.
60369         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
60370         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
60371         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
60372         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
60373         * lib/uniconv/u32-conv-from-enc.c: Likewise.
60374         * lib/uniconv/u32-conv-to-enc.c: Likewise.
60375         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
60376         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
60377         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
60378         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
60379         * lib/uniconv/u8-conv-from-enc.c: Likewise.
60380         * lib/uniconv/u8-conv-to-enc.c: Likewise.
60381         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
60382         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
60383         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
60384         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
60385         * lib/uniname.h: Likewise.
60386         * lib/uniname/uniname.c: Likewise.
60387         * lib/unistdio.h: Likewise.
60388         * lib/unistdio/u-asnprintf.h: Likewise.
60389         * lib/unistdio/u-asprintf.h: Likewise.
60390         * lib/unistdio/u-printf-args.c: Likewise.
60391         * lib/unistdio/u-printf-args.h: Likewise.
60392         * lib/unistdio/u-printf-parse.h: Likewise.
60393         * lib/unistdio/u-snprintf.h: Likewise.
60394         * lib/unistdio/u-sprintf.h: Likewise.
60395         * lib/unistdio/u-vasprintf.h: Likewise.
60396         * lib/unistdio/u-vsnprintf.h: Likewise.
60397         * lib/unistdio/u-vsprintf.h: Likewise.
60398         * lib/unistdio/u16-asnprintf.c: Likewise.
60399         * lib/unistdio/u16-asprintf.c: Likewise.
60400         * lib/unistdio/u16-printf-parse.c: Likewise.
60401         * lib/unistdio/u16-snprintf.c: Likewise.
60402         * lib/unistdio/u16-sprintf.c: Likewise.
60403         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
60404         * lib/unistdio/u16-u16-asprintf.c: Likewise.
60405         * lib/unistdio/u16-u16-snprintf.c: Likewise.
60406         * lib/unistdio/u16-u16-sprintf.c: Likewise.
60407         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
60408         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
60409         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
60410         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
60411         * lib/unistdio/u16-vasnprintf.c: Likewise.
60412         * lib/unistdio/u16-vasprintf.c: Likewise.
60413         * lib/unistdio/u16-vsnprintf.c: Likewise.
60414         * lib/unistdio/u16-vsprintf.c: Likewise.
60415         * lib/unistdio/u32-asnprintf.c: Likewise.
60416         * lib/unistdio/u32-asprintf.c: Likewise.
60417         * lib/unistdio/u32-printf-parse.c: Likewise.
60418         * lib/unistdio/u32-snprintf.c: Likewise.
60419         * lib/unistdio/u32-sprintf.c: Likewise.
60420         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
60421         * lib/unistdio/u32-u32-asprintf.c: Likewise.
60422         * lib/unistdio/u32-u32-snprintf.c: Likewise.
60423         * lib/unistdio/u32-u32-sprintf.c: Likewise.
60424         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
60425         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
60426         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
60427         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
60428         * lib/unistdio/u32-vasnprintf.c: Likewise.
60429         * lib/unistdio/u32-vasprintf.c: Likewise.
60430         * lib/unistdio/u32-vsnprintf.c: Likewise.
60431         * lib/unistdio/u32-vsprintf.c: Likewise.
60432         * lib/unistdio/u8-asnprintf.c: Likewise.
60433         * lib/unistdio/u8-asprintf.c: Likewise.
60434         * lib/unistdio/u8-printf-parse.c: Likewise.
60435         * lib/unistdio/u8-snprintf.c: Likewise.
60436         * lib/unistdio/u8-sprintf.c: Likewise.
60437         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
60438         * lib/unistdio/u8-u8-asprintf.c: Likewise.
60439         * lib/unistdio/u8-u8-snprintf.c: Likewise.
60440         * lib/unistdio/u8-u8-sprintf.c: Likewise.
60441         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
60442         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
60443         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
60444         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
60445         * lib/unistdio/u8-vasnprintf.c: Likewise.
60446         * lib/unistdio/u8-vasprintf.c: Likewise.
60447         * lib/unistdio/u8-vsnprintf.c: Likewise.
60448         * lib/unistdio/u8-vsprintf.c: Likewise.
60449         * lib/unistdio/ulc-asnprintf.c: Likewise.
60450         * lib/unistdio/ulc-asprintf.c: Likewise.
60451         * lib/unistdio/ulc-printf-parse.c: Likewise.
60452         * lib/unistdio/ulc-snprintf.c: Likewise.
60453         * lib/unistdio/ulc-sprintf.c: Likewise.
60454         * lib/unistdio/ulc-vasnprintf.c: Likewise.
60455         * lib/unistdio/ulc-vasprintf.c: Likewise.
60456         * lib/unistdio/ulc-vsnprintf.c: Likewise.
60457         * lib/unistdio/ulc-vsprintf.c: Likewise.
60458         * lib/unistr.h: Likewise.
60459         * lib/unistr/u-cpy-alloc.h: Likewise.
60460         * lib/unistr/u-cpy.h: Likewise.
60461         * lib/unistr/u-endswith.h: Likewise.
60462         * lib/unistr/u-move.h: Likewise.
60463         * lib/unistr/u-set.h: Likewise.
60464         * lib/unistr/u-startswith.h: Likewise.
60465         * lib/unistr/u-stpcpy.h: Likewise.
60466         * lib/unistr/u-stpncpy.h: Likewise.
60467         * lib/unistr/u-strcat.h: Likewise.
60468         * lib/unistr/u-strcpy.h: Likewise.
60469         * lib/unistr/u-strcspn.h: Likewise.
60470         * lib/unistr/u-strdup.h: Likewise.
60471         * lib/unistr/u-strlen.h: Likewise.
60472         * lib/unistr/u-strncat.h: Likewise.
60473         * lib/unistr/u-strncpy.h: Likewise.
60474         * lib/unistr/u-strnlen.h: Likewise.
60475         * lib/unistr/u-strpbrk.h: Likewise.
60476         * lib/unistr/u-strspn.h: Likewise.
60477         * lib/unistr/u-strstr.h: Likewise.
60478         * lib/unistr/u-strtok.h: Likewise.
60479         * lib/unistr/u16-check.c: Likewise.
60480         * lib/unistr/u16-chr.c: Likewise.
60481         * lib/unistr/u16-cmp.c: Likewise.
60482         * lib/unistr/u16-cpy-alloc.c: Likewise.
60483         * lib/unistr/u16-cpy.c: Likewise.
60484         * lib/unistr/u16-endswith.c: Likewise.
60485         * lib/unistr/u16-mblen.c: Likewise.
60486         * lib/unistr/u16-mbsnlen.c: Likewise.
60487         * lib/unistr/u16-mbtouc-aux.c: Likewise.
60488         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
60489         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
60490         * lib/unistr/u16-mbtouc.c: Likewise.
60491         * lib/unistr/u16-mbtoucr.c: Likewise.
60492         * lib/unistr/u16-move.c: Likewise.
60493         * lib/unistr/u16-next.c: Likewise.
60494         * lib/unistr/u16-prev.c: Likewise.
60495         * lib/unistr/u16-set.c: Likewise.
60496         * lib/unistr/u16-startswith.c: Likewise.
60497         * lib/unistr/u16-stpcpy.c: Likewise.
60498         * lib/unistr/u16-stpncpy.c: Likewise.
60499         * lib/unistr/u16-strcat.c: Likewise.
60500         * lib/unistr/u16-strchr.c: Likewise.
60501         * lib/unistr/u16-strcmp.c: Likewise.
60502         * lib/unistr/u16-strcpy.c: Likewise.
60503         * lib/unistr/u16-strcspn.c: Likewise.
60504         * lib/unistr/u16-strdup.c: Likewise.
60505         * lib/unistr/u16-strlen.c: Likewise.
60506         * lib/unistr/u16-strmblen.c: Likewise.
60507         * lib/unistr/u16-strmbtouc.c: Likewise.
60508         * lib/unistr/u16-strncat.c: Likewise.
60509         * lib/unistr/u16-strncmp.c: Likewise.
60510         * lib/unistr/u16-strncpy.c: Likewise.
60511         * lib/unistr/u16-strnlen.c: Likewise.
60512         * lib/unistr/u16-strpbrk.c: Likewise.
60513         * lib/unistr/u16-strrchr.c: Likewise.
60514         * lib/unistr/u16-strspn.c: Likewise.
60515         * lib/unistr/u16-strstr.c: Likewise.
60516         * lib/unistr/u16-strtok.c: Likewise.
60517         * lib/unistr/u16-to-u32.c: Likewise.
60518         * lib/unistr/u16-to-u8.c: Likewise.
60519         * lib/unistr/u16-uctomb-aux.c: Likewise.
60520         * lib/unistr/u16-uctomb.c: Likewise.
60521         * lib/unistr/u32-check.c: Likewise.
60522         * lib/unistr/u32-chr.c: Likewise.
60523         * lib/unistr/u32-cmp.c: Likewise.
60524         * lib/unistr/u32-cpy-alloc.c: Likewise.
60525         * lib/unistr/u32-cpy.c: Likewise.
60526         * lib/unistr/u32-endswith.c: Likewise.
60527         * lib/unistr/u32-mblen.c: Likewise.
60528         * lib/unistr/u32-mbsnlen.c: Likewise.
60529         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
60530         * lib/unistr/u32-mbtouc.c: Likewise.
60531         * lib/unistr/u32-mbtoucr.c: Likewise.
60532         * lib/unistr/u32-move.c: Likewise.
60533         * lib/unistr/u32-next.c: Likewise.
60534         * lib/unistr/u32-prev.c: Likewise.
60535         * lib/unistr/u32-set.c: Likewise.
60536         * lib/unistr/u32-startswith.c: Likewise.
60537         * lib/unistr/u32-stpcpy.c: Likewise.
60538         * lib/unistr/u32-stpncpy.c: Likewise.
60539         * lib/unistr/u32-strcat.c: Likewise.
60540         * lib/unistr/u32-strchr.c: Likewise.
60541         * lib/unistr/u32-strcmp.c: Likewise.
60542         * lib/unistr/u32-strcpy.c: Likewise.
60543         * lib/unistr/u32-strcspn.c: Likewise.
60544         * lib/unistr/u32-strdup.c: Likewise.
60545         * lib/unistr/u32-strlen.c: Likewise.
60546         * lib/unistr/u32-strmblen.c: Likewise.
60547         * lib/unistr/u32-strmbtouc.c: Likewise.
60548         * lib/unistr/u32-strncat.c: Likewise.
60549         * lib/unistr/u32-strncmp.c: Likewise.
60550         * lib/unistr/u32-strncpy.c: Likewise.
60551         * lib/unistr/u32-strnlen.c: Likewise.
60552         * lib/unistr/u32-strpbrk.c: Likewise.
60553         * lib/unistr/u32-strrchr.c: Likewise.
60554         * lib/unistr/u32-strspn.c: Likewise.
60555         * lib/unistr/u32-strstr.c: Likewise.
60556         * lib/unistr/u32-strtok.c: Likewise.
60557         * lib/unistr/u32-to-u16.c: Likewise.
60558         * lib/unistr/u32-to-u8.c: Likewise.
60559         * lib/unistr/u32-uctomb.c: Likewise.
60560         * lib/unistr/u8-check.c: Likewise.
60561         * lib/unistr/u8-chr.c: Likewise.
60562         * lib/unistr/u8-cmp.c: Likewise.
60563         * lib/unistr/u8-cpy-alloc.c: Likewise.
60564         * lib/unistr/u8-cpy.c: Likewise.
60565         * lib/unistr/u8-endswith.c: Likewise.
60566         * lib/unistr/u8-mblen.c: Likewise.
60567         * lib/unistr/u8-mbsnlen.c: Likewise.
60568         * lib/unistr/u8-mbtouc-aux.c: Likewise.
60569         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
60570         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
60571         * lib/unistr/u8-mbtouc.c: Likewise.
60572         * lib/unistr/u8-mbtoucr.c: Likewise.
60573         * lib/unistr/u8-move.c: Likewise.
60574         * lib/unistr/u8-next.c: Likewise.
60575         * lib/unistr/u8-prev.c: Likewise.
60576         * lib/unistr/u8-set.c: Likewise.
60577         * lib/unistr/u8-startswith.c: Likewise.
60578         * lib/unistr/u8-stpcpy.c: Likewise.
60579         * lib/unistr/u8-stpncpy.c: Likewise.
60580         * lib/unistr/u8-strcat.c: Likewise.
60581         * lib/unistr/u8-strchr.c: Likewise.
60582         * lib/unistr/u8-strcmp.c: Likewise.
60583         * lib/unistr/u8-strcpy.c: Likewise.
60584         * lib/unistr/u8-strcspn.c: Likewise.
60585         * lib/unistr/u8-strdup.c: Likewise.
60586         * lib/unistr/u8-strlen.c: Likewise.
60587         * lib/unistr/u8-strmblen.c: Likewise.
60588         * lib/unistr/u8-strmbtouc.c: Likewise.
60589         * lib/unistr/u8-strncat.c: Likewise.
60590         * lib/unistr/u8-strncmp.c: Likewise.
60591         * lib/unistr/u8-strncpy.c: Likewise.
60592         * lib/unistr/u8-strnlen.c: Likewise.
60593         * lib/unistr/u8-strpbrk.c: Likewise.
60594         * lib/unistr/u8-strrchr.c: Likewise.
60595         * lib/unistr/u8-strspn.c: Likewise.
60596         * lib/unistr/u8-strstr.c: Likewise.
60597         * lib/unistr/u8-strtok.c: Likewise.
60598         * lib/unistr/u8-to-u16.c: Likewise.
60599         * lib/unistr/u8-to-u32.c: Likewise.
60600         * lib/unistr/u8-uctomb-aux.c: Likewise.
60601         * lib/unistr/u8-uctomb.c: Likewise.
60602         * lib/unitypes.h: Likewise.
60603         * lib/uniwidth.h: Likewise.
60604         * lib/uniwidth/cjk.h: Likewise.
60605         * lib/uniwidth/u16-strwidth.c: Likewise.
60606         * lib/uniwidth/u16-width.c: Likewise.
60607         * lib/uniwidth/u32-strwidth.c: Likewise.
60608         * lib/uniwidth/u32-width.c: Likewise.
60609         * lib/uniwidth/u8-strwidth.c: Likewise.
60610         * lib/uniwidth/u8-width.c: Likewise.
60611         * lib/uniwidth/width.c: Likewise.
60612
60613 2007-10-07  Bruno Haible  <bruno@clisp.org>
60614
60615         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
60616         The file is still under LGPL (see modules/inttypes).
60617
60618 2007-10-06  Bruno Haible  <bruno@clisp.org>
60619
60620         * modules/trunc (Dependencies): Add 'extensions'.
60621         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
60622         Reported by Ben Pfaff <blp@gnu.org>.
60623
60624 2007-10-06  Bruno Haible  <bruno@clisp.org>
60625
60626         * modules/freopen-tests: New file.
60627         * tests/test-freopen.c: New file.
60628
60629         * modules/fopen-tests: New file.
60630         * tests/test-fopen.c: New file.
60631
60632         * modules/fopen: New file.
60633         * lib/fopen.c: New file.
60634         * m4/fopen.m4: New file.
60635         * modules/freopen: New file.
60636         * lib/freopen.c: New file.
60637         * m4/freopen.m4: New file.
60638         * lib/stdio.in.h (fopen, freopen): New declarations.
60639         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
60640         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60641         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
60642         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60643         * doc/functions/fopen.texi: Mention the 'fopen' module.
60644         * doc/functions/freopen.texi: Mention the 'freopen' module.
60645
60646 2007-10-06  Bruno Haible  <bruno@clisp.org>
60647
60648         * modules/open-tests: New file.
60649         * tests/test-open.c: New file.
60650
60651         * modules/open: New file.
60652         * lib/open.c: New file.
60653         * m4/open.m4: New file.
60654         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
60655         lib/open.c does.
60656         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
60657         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
60658         macros.
60659         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
60660         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
60661         REPLACE_OPEN.
60662         * doc/functions/open.texi: Mention the 'open' module.
60663
60664 2007-10-04  Bruno Haible  <bruno@clisp.org>
60665
60666         * modules/ceill-tests: New file.
60667         * tests/test-ceill.c: New file.
60668
60669         * modules/ceill: New file.
60670         * lib/ceill.c: Replace entire file.
60671         * m4/ceill.m4: New file.
60672         * lib/math.in.h (ceill): Replace declaration.
60673         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
60674         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
60675         * doc/functions/ceill.texi: Mention the 'ceill' module.
60676         * modules/mathl (Files): Remove lib/ceill.c.
60677         (Depends-on): Add ceill.
60678
60679 2007-10-04  Bruno Haible  <bruno@clisp.org>
60680
60681         * modules/ceilf-tests: New file.
60682         * tests/test-ceilf.c: New file.
60683
60684         * modules/ceilf: New file.
60685         * lib/ceil.c: New file.
60686         * lib/ceilf.c: New file.
60687         * m4/ceilf.m4: New file.
60688         * lib/math.in.h (ceilf): New declaration.
60689         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
60690         HAVE_DECL_CEILF.
60691         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
60692         HAVE_DECL_CEILF.
60693         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
60694
60695 2007-10-04  Bruno Haible  <bruno@clisp.org>
60696
60697         * modules/floorl-tests: New file.
60698         * tests/test-floorl.c: New file.
60699
60700         * modules/floorl: New file.
60701         * lib/floorl.c: Replace entire file.
60702         * m4/floorl.m4: New file.
60703         * lib/math.in.h (floorl): Replace declaration.
60704         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
60705         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
60706         * doc/functions/floorl.texi: Mention the 'floorl' module.
60707         * modules/mathl (Files): Remove lib/floorl.c.
60708         (Depends-on): Add floorl.
60709
60710 2007-10-04  Bruno Haible  <bruno@clisp.org>
60711
60712         * modules/floorf-tests: New file.
60713         * tests/test-floorf.c: New file.
60714
60715         * modules/floorf: New file.
60716         * lib/floor.c: New file.
60717         * lib/floorf.c: New file.
60718         * m4/floorf.m4: New file.
60719         * lib/math.in.h (floorf): New declaration.
60720         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
60721         HAVE_DECL_FLOORF.
60722         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
60723         HAVE_DECL_FLOORF.
60724         * doc/functions/floorf.texi: Mention the 'floorf' module.
60725
60726 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
60727             Bruno Haible  <bruno@clisp.org>
60728
60729         Advertise for the Git server instead of the CVS server.
60730         * doc/gnulib-intro.texi (Steady Development): Mention the Git
60731         repository instead of the CVS one.
60732         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
60733         about all VCS systems generically.
60734         * doc/gnulib.texi (Introduction): Capitalize `Git'.
60735
60736 2007-10-04  Bruno Haible  <bruno@clisp.org>
60737
60738         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
60739         means.
60740         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
60741
60742 2007-10-04  Bruno Haible  <bruno@clisp.org>
60743
60744         * modules/truncl-tests: New file.
60745         * tests/test-truncl.c: New file.
60746
60747         * modules/truncl: New file.
60748         * lib/truncl.c: New file.
60749         * m4/truncl.m4: New file.
60750         * lib/math.in.h (truncl): New declaration.
60751         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
60752         HAVE_DECL_TRUNCL.
60753         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
60754         HAVE_DECL_TRUNCL.
60755         * doc/functions/truncl.texi: Mention the 'truncl' module.
60756
60757 2007-10-04  Bruno Haible  <bruno@clisp.org>
60758
60759         * modules/truncf-tests: New file.
60760         * tests/test-truncf.c: New file.
60761
60762         * modules/truncf: New file.
60763         * lib/trunc.c: Make paramerizable through USE_* macros.
60764         * lib/truncf.c: New file.
60765         * m4/truncf.m4: New file.
60766         * lib/math.in.h (truncf): New declaration.
60767         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
60768         HAVE_DECL_TRUNCF.
60769         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
60770         HAVE_DECL_TRUNCF.
60771         * doc/functions/truncf.texi: Mention the 'truncf' module.
60772
60773 2007-10-03  Bruno Haible  <bruno@clisp.org>
60774
60775         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60776         augmentation also for tests modules.
60777         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
60778         * modules/atexit-tests (Makefile.am): Likewise.
60779         * modules/binary-io-tests (Makefile.am): Likewise.
60780         * modules/c-strcase-tests (Makefile.am): Likewise.
60781         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
60782         * modules/canonicalize-tests (Makefile.am): Likewise.
60783         * modules/closein-tests (Makefile.am): Likewise.
60784         * modules/fprintf-posix-tests (Makefile.am): Likewise.
60785         * modules/freadahead-tests (Makefile.am): Likewise.
60786         * modules/fseek-tests (Makefile.am): Likewise.
60787         * modules/fseeko-tests (Makefile.am): Likewise.
60788         * modules/ftell-tests (Makefile.am): Likewise.
60789         * modules/ftello-tests (Makefile.am): Likewise.
60790         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
60791         * modules/isnanl-tests (Makefile.am): Likewise.
60792         * modules/lseek-tests (Makefile.am): Likewise.
60793         * modules/mbscasecmp-tests (Makefile.am): Likewise.
60794         * modules/mbscasestr-tests (Makefile.am): Likewise.
60795         * modules/mbschr-tests (Makefile.am): Likewise.
60796         * modules/mbscspn-tests (Makefile.am): Likewise.
60797         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
60798         * modules/mbspbrk-tests (Makefile.am): Likewise.
60799         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
60800         * modules/mbsrchr-tests (Makefile.am): Likewise.
60801         * modules/mbsspn-tests (Makefile.am): Likewise.
60802         * modules/mbsstr-tests (Makefile.am): Likewise.
60803         * modules/printf-posix-tests (Makefile.am): Likewise.
60804         * modules/snprintf-posix-tests (Makefile.am): Likewise.
60805         * modules/sprintf-posix-tests (Makefile.am): Likewise.
60806         * modules/tsearch-tests (Makefile.am): Likewise.
60807         * modules/uniname/uniname-tests (Makefile.am): Likewise.
60808         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
60809         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
60810         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
60811         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
60812         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
60813         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
60814         * modules/vprintf-posix-tests (Makefile.am): Likewise.
60815         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
60816         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
60817         * modules/xstrtoimax-tests (Makefile.am): Likewise.
60818         * modules/xstrtol-tests (Makefile.am): Likewise.
60819         * modules/xstrtoumax-tests (Makefile.am): Likewise.
60820         * modules/yesno-tests (Makefile.am): Likewise.
60821
60822 2007-10-03  Bruno Haible  <bruno@clisp.org>
60823
60824         * modules/trunc-tests: New file.
60825         * tests/test-trunc.c: New file.
60826
60827         * modules/trunc: New file.
60828         * lib/trunc.c: New file.
60829         * m4/trunc.m4: New file.
60830         * lib/math.in.h (trunc): New declaration.
60831         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
60832         HAVE_DECL_TRUNC.
60833         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
60834         HAVE_DECL_TRUNC.
60835         * doc/functions/trunc.texi: Mention the 'trunc' module.
60836
60837 2007-10-03  Bruno Haible  <bruno@clisp.org>
60838
60839         * tests/test-fpending.c: New file, mostly copied
60840         from coreutils/lib/t-fpending.c.
60841         * modules/fpending-tests: New file.
60842
60843 2007-10-03  Bruno Haible  <bruno@clisp.org>
60844
60845         Port the stdio extensions to QNX (untested).
60846         * lib/fseterr.c (fseterr): Add support for QNX.
60847         * lib/fbufmode.c (fbufmode): Likewise.
60848         * lib/freadable.c (freadable): Likewise.
60849         * lib/fwritable.c (fwritable): Likewise.
60850         * lib/freading.c (freading): Likewise.
60851         * lib/fwriting.c (fwriting): Likewise.
60852         * lib/freadahead.c (freadahed): Likewise.
60853         * lib/fpurge.c (fpurge): Likewise.
60854         * lib/fseeko.c (rpl_fseeko): Likewise.
60855
60856 2007-10-03  Bruno Haible  <bruno@clisp.org>
60857             Jim Meyering  <jim@meyering.net>
60858             Eric Blake  <ebb9@byu.net>
60859
60860         * doc/relocatable.texi: Use @command instead of @program.
60861
60862 2007-10-02  Jim Meyering  <jim@meyering.net>
60863
60864         Perform one more "_.h" -> ".in.h" substitution.
60865         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
60866         instead of unistd_.h here, too.
60867
60868 2007-10-01  Bruno Haible  <bruno@clisp.org>
60869
60870         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
60871         Needed for the alloca-opt module.
60872
60873 2007-09-30  Bruno Haible  <bruno@clisp.org>
60874
60875         * lib/alloca.in.h: Renamed from lib/alloca_.h.
60876         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
60877         alloca_.h.
60878         * lib/argz.in.h: Renamed from lib/argz_.h.
60879         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
60880         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
60881         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
60882         byteswap_.h.
60883         * lib/dirent.in.h: Renamed from lib/dirent_.h.
60884         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
60885         dirent_.h.
60886         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
60887         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
60888         fcntl_.h.
60889         * lib/float.in.h: Renamed from lib/float_.h.
60890         * modules/float (Files, Makefile.am): Use float.in.h instead of
60891         float_.h.
60892         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
60893         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
60894         fnmatch_.h.
60895         * lib/getopt.in.h: Renamed from lib/getopt_.h.
60896         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
60897         getopt_.h.
60898         * lib/glob.in.h: Renamed from lib/glob_.h.
60899         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
60900         * lib/iconv.in.h: Renamed from lib/iconv_.h.
60901         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
60902         iconv_.h.
60903         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
60904         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
60905         inttypes_.h.
60906         * lib/locale.in.h: Renamed from lib/locale_.h.
60907         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
60908         locale_.h.
60909         * lib/math.in.h: Renamed from lib/math_.h.
60910         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
60911         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
60912         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
60913         of netinet_in_.h. Add dependency.
60914         * lib/poll.in.h: Renamed from lib/poll_.h.
60915         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
60916         * lib/search.in.h: Renamed from lib/search_.h.
60917         * modules/search (Files, Makefile.am): Use search.in.h instead of
60918         search_.h.
60919         * lib/signal.in.h: Renamed from lib/signal_.h.
60920         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
60921         _signal.h.
60922         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
60923         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
60924         stdbool_.h.
60925         * lib/stdint.in.h: Renamed from lib/stdint_.h.
60926         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
60927         stdint_.h.
60928         * lib/stdio.in.h: Renamed from lib/stdio_.h.
60929         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
60930         stdio_.h.
60931         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
60932         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
60933         stdlib_.h.
60934         * lib/string.in.h: Renamed from lib/string_.h.
60935         * modules/string (Files, Makefile.am): Use string.in.h instead of
60936         string_.h.
60937         * doc/gnulib-tool.texi (Initial import): Update.
60938         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
60939         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
60940         of sys_select_.h. Add dependency.
60941         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
60942         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
60943         of sys_socket_.h.
60944         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
60945         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
60946         sys_stat_.h.
60947         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
60948         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
60949         sys_time_.h.
60950         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
60951         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
60952         sysexits_.h.
60953         * lib/time.in.h: Renamed from lib/time_.h.
60954         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
60955         * lib/unistd.in.h: Renamed from lib/unistd_.h.
60956         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
60957         unistd_.h.
60958         * lib/wchar.in.h: Renamed from lib/wchar_.h.
60959         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
60960         wchar_.h.
60961         * lib/wctype.in.h: Renamed from lib/wctype_.h.
60962         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
60963         wctype_.h.
60964         * build-aux/bootstrap (slurp): Update.
60965         * lib/.cppi-disable: Update.
60966
60967 2007-09-30  Bruno Haible  <bruno@clisp.org>
60968
60969         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
60970         Needed on BeOS.
60971
60972 2007-09-30  Bruno Haible  <bruno@clisp.org>
60973
60974         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
60975
60976 2007-09-29  Bruno Haible  <bruno@clisp.org>
60977
60978         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
60979
60980 2007-09-29  Bruno Haible  <bruno@clisp.org>
60981
60982         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
60983         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
60984         * build-aux/install-reloc: Compile also areadlink.c.
60985         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
60986
60987 2007-09-29  Bruno Haible  <bruno@clisp.org>
60988
60989         * gnulib-tool (func_emit_initmacro_done): Indentation.
60990
60991 2007-09-29  Bruno Haible  <bruno@clisp.org>
60992
60993         * README: Add CVS checkout update instructions.
60994         Info from Bob Proulx <bob@proulx.com>.
60995
60996 2007-09-28  Eric Blake  <ebb9@byu.net>
60997
60998         Provide move-if-change.
60999         * build-aux/move-if-change: New file, based on best practice
61000         rather than any canonical upstream location.
61001
61002 2007-09-28  Jim Meyering  <jim@meyering.net>
61003
61004         Fix canonicalize loop-detection corner case.
61005         Do not attempt to stat the symlink values stored via seen_triple.
61006         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
61007         on linux-2.6.18, (but not 2.6.22).
61008         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
61009         triple_compare.  The former compares dev,ino,filename, while the latter
61010         would actually stat dirname(filename) when dev and ino were equal.
61011         * lib/hash-triple.c: Install <string.h>.
61012         (STREQ): Define.
61013         (triple_compare_ino_str): New function.
61014         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
61015
61016 2007-09-28  Eric Blake  <ebb9@byu.net>
61017
61018         Enforce that AC_REPLACE_FUNCS files exist.
61019         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
61020         override check for typos.
61021
61022         Fix test-closein on Solaris 10.
61023         * tests/test-closein.c (main): Don't assume stdin can be inherited
61024         closed on all systems.
61025         * tests/test-closein.sh: Likewise.
61026         Reported by Piotr Tarnowski.
61027
61028 2007-09-28  Jim Meyering  <jim@meyering.net>
61029
61030         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
61031
61032 2007-09-27  Jim Meyering  <jim@meyering.net>
61033
61034         canonicalize: Avoid a false-positive cycle failure.
61035         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
61036         Sort.  Remove cycle-check.
61037         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
61038         not cycle-check.h.
61039         (seen_triple): New function.
61040         (canonicalize_filename_mode): Use it instead of cycle-check.
61041         * tests/test-canonicalize.c: Add a test for this bug.
61042         * tests/test-canonicalize.sh: Set up and run the test.
61043
61044         New module, file-set, from coreutils.
61045         * modules/file-set: Define it.
61046         * lib/file-set.c, lib/file-set.h: Implement.
61047
61048         New module, hash-triple, from coreutils.
61049         * modules/hash-triple: Define it.
61050         * lib/hash-triple.c, lib/hash-triple.h: Implement.
61051
61052 2007-09-25  Eric Blake  <ebb9@byu.net>
61053
61054         Fix strerror on Interix.
61055         * lib/string_.h (strerror): Declare replacement.
61056         * doc/functions/strerror.texi (strerror): Document the Interix
61057         shortcoming.
61058         * modules/string (Makefile.am): Support new hooks.
61059         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
61060         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
61061         gl_FUNC_STRERROR_SEPARATE.
61062         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
61063         * lib/strerror.c (rpl_strerror): Provide replacement.
61064         * modules/strerror (Depends-on): Add string.
61065         (configure.ac): Detect use of module.
61066         * tests/test-strerror.c: New file.
61067         * modules/strerror-tests: New test module.
61068         * modules/argp (Depends-on): Add strerror.
61069         * modules/error (Depends-on): Likewise.
61070         Reported by Martin Koeppe.
61071
61072 2007-09-24  Bruno Haible  <bruno@clisp.org>
61073
61074         * README: Update git instructions.
61075
61076 2007-09-24  Eric Blake  <ebb9@byu.net>
61077
61078         Revert fpending breakage from 2007-09-08.
61079         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
61080         __fpending.c.
61081
61082 2007-09-24  Jim Meyering  <jim@meyering.net>
61083
61084         filenamecat.c: Add a test.
61085         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
61086         showing how the function works when DIR is the empty string.
61087
61088 2007-09-21  Simon Josefsson  <simon@josefsson.org>
61089
61090         * tests/test-canonicalize.sh: Turn on executable bit.
61091
61092 2007-09-19  Eric Blake  <ebb9@byu.net>
61093
61094         * README: Update CVS instructions.
61095
61096 2007-09-18  Bruno Haible  <bruno@clisp.org>
61097
61098         * modules/areadlink: New file.
61099         * lib/areadlink.h (areadlink): New declaration.
61100         * lib/areadlink.c: New file, based on lib/xreadlink.c.
61101
61102 2007-09-17  Jim Meyering  <jim@meyering.net>
61103
61104         * lib/savewd.c (ESTALE) [!defined]: Define.
61105         Reported to be required on Interix by Martin Koeppe.
61106
61107 2007-09-17  Bruno Haible  <bruno@clisp.org>
61108
61109         * gnulib-tool (func_version): Use $version.
61110
61111 2007-09-16  Bruno Haible  <bruno@clisp.org>
61112
61113         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
61114         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
61115         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
61116         Reported by Greg Schafer <gschafer@zip.com.au>.
61117
61118 2007-09-15  Bruno Haible  <bruno@clisp.org>
61119
61120         * gnulib-tool (sed): Try a little harder to make bash understand the
61121         alias.
61122         Reported by Bruce Korb <bruce.korb@gmail.com>.
61123
61124 2007-09-13  Eric Blake  <ebb9@byu.net>
61125
61126         * ChangeLog: Remove conflict markers.
61127
61128 2007-09-13  Simon Josefsson  <simon@josefsson.org>
61129
61130         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
61131         Reported by Bruno Haible <bruno@clisp.org>.
61132
61133 2007-09-12  Bruno Haible  <bruno@clisp.org>
61134
61135         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
61136         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
61137         is not defined.
61138
61139 2007-09-12  Eric Blake  <ebb9@byu.net>
61140
61141         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
61142         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
61143         Autoconf definition.
61144         * modules/euidaccess (Depends-on): Add extensions, for
61145         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
61146         * modules/fnmatch (Depends-on): Likewise.
61147         * modules/getaddrinfo (Depends-on): Likewise.
61148         * modules/getdelim (Depends-on): Likewise.
61149         * modules/getline (Depends-on): Likewise.
61150         * modules/getsubopt (Depends-on): Likewise.
61151         * modules/gettext (Depends-on): Likewise.
61152         * modules/group-member (Depends-on): Likewise.
61153         * modules/mbchar (Depends-on): Likewise.
61154         * modules/memmem (Depends-on): Likewise.
61155         * modules/mempcpy (Depends-on): Likewise.
61156         * modules/memrchr (Depends-on): Likewise.
61157         * modules/pagealign_alloc (Depends-on): Likewise.
61158         * modules/readutmp (Depends-on): Likewise.
61159         * modules/stpcpy (Depends-on): Likewise.
61160         * modules/stpncpy (Depends-on): Likewise.
61161         * modules/strchrnul (Depends-on): Likewise.
61162         * modules/strndup (Depends-on): Likewise.
61163         * modules/strsep (Depends-on): Likewise.
61164         * modules/strverscmp (Depends-on): Likewise.
61165         * modules/vasprintf (Depends-on): Likewise.
61166         * modules/wcwidth (Depends-on): Likewise.
61167         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
61168         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
61169         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
61170         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
61171         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
61172         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61173         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
61174         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61175         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
61176         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
61177         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
61178         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
61179         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
61180         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
61181         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
61182         * m4/readutmp.m4 (gl_READUTMP): Likewise.
61183         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61184         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
61185         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61186         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
61187         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
61188         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
61189         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
61190         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
61191         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
61192         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
61193         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
61194         so that lock.m4 can be used in gettext without extensions module.
61195
61196 2007-09-11  Bruno Haible  <bruno@clisp.org>
61197
61198         * m4/isc-posix.m4: Remove file.
61199         Suggested by Eric Blake.
61200
61201 2007-09-11  Eric Blake  <ebb9@byu.net>
61202
61203         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
61204
61205 2007-09-10  Bruno Haible  <bruno@clisp.org>
61206
61207         * posix-modules: Fix typo in error message.
61208         Reported by Matt <mkraai@beckman.com>.
61209
61210 2007-09-09  Bruno Haible  <bruno@clisp.org>
61211
61212         * doc/functions/getdelim.texi: Update list of platforms lacking the
61213         function.
61214         * doc/functions/getline.texi: Likewise.
61215
61216 2007-09-09  Jim Meyering  <jim@meyering.net>
61217
61218         * lib/hash.c (hash_initialize): Detect calloc failure.
61219         Reported by Bruno Haible.
61220
61221 2007-09-09  Bruno Haible  <bruno@clisp.org>
61222
61223         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
61224         malloc or realloc fails.
61225
61226 2007-09-09  Bruno Haible  <bruno@clisp.org>
61227
61228         * modules/getcwd (Depends-on): Add malloc-posix.
61229         * modules/glob (Depends-on): Likewise.
61230         * modules/putenv (Depends-on): Likewise.
61231         * modules/strdup (Depends-on): Likewise.
61232         * modules/getdelim (Depends-on): Add realloc-posix.
61233         * modules/read-file (Depends-on): Likewise.
61234
61235 2007-09-09  Bruno Haible  <bruno@clisp.org>
61236
61237         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
61238         (gl_FUNC_MALLOC_POSIX): Require it.
61239         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
61240         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
61241         * modules/realloc (Files): Add m4/malloc.m4.
61242         * modules/calloc (Files): Likewise.
61243
61244 2007-09-09  Bruno Haible  <bruno@clisp.org>
61245
61246         * modules/malloc-posix: New file.
61247         * modules/malloc (Depends-on): Add malloc-posix.
61248         * lib/malloc.c: Include errno.h.
61249         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
61250         and a POSIX-compatible malloc into a single function. Set ENOMEM
61251         when returning NULL.
61252         * m4/malloc.m4: New file.
61253         * doc/functions/malloc.texi: Mention the malloc-posix module.
61254         * lib/stdlib_.h (malloc): New declaration.
61255         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61256         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
61257         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
61258         and HAVE_MALLOC_POSIX.
61259
61260 2007-09-09  Bruno Haible  <bruno@clisp.org>
61261
61262         * modules/realloc-posix: New file.
61263         * modules/realloc (Depends-on): Add realloc-posix.
61264         * lib/realloc.c: Include errno.h.
61265         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
61266         and a POSIX-compatible realloc into a single function. Set ENOMEM
61267         when returning NULL.
61268         * m4/realloc.m4: New file.
61269         * doc/functions/realloc.texi: Mention the realloc-posix module.
61270         * lib/stdlib_.h (realloc): New declaration.
61271         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61272         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
61273         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
61274         and HAVE_REALLOC_POSIX.
61275
61276 2007-09-09  Bruno Haible  <bruno@clisp.org>
61277
61278         * modules/calloc-posix: New file.
61279         * modules/calloc (Depends-on): Add calloc-posix.
61280         * lib/calloc.c: Include errno.h.
61281         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
61282         and a POSIX-compatible calloc into a single function. Set ENOMEM
61283         when returning NULL.
61284         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
61285         * doc/functions/calloc.texi: Mention the calloc-posix module.
61286         * lib/stdlib_.h (calloc): New declaration.
61287         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61288         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
61289         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
61290         and HAVE_CALLOC_POSIX.
61291
61292 2007-09-09  Bruno Haible  <bruno@clisp.org>
61293
61294         Allow for modules to show an arbitrary notice.
61295         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
61296         * gnulib-tool: New option --extract-notice.
61297         (func_usage): Document it.
61298         (sed_extract_prog): Update.
61299         (func_get_notice): New function.
61300         (func_modules_notice): New function.
61301         (func_import, func_create_testdir): Invoke it.
61302         Suggested by Jim Meyering.
61303
61304 2007-09-09  Bruno Haible  <bruno@clisp.org>
61305
61306         * gnulib-tool: New options --verbose, --quiet.
61307         (func_usage): Document them.
61308         (verbose): New variable.
61309         (func_execute_command): New function.
61310         (func_import): Don't show the module list and the file list if
61311         $verbose < 0.
61312         (func_create_testdir): Likewise. Use func_execute_command.
61313         (func_create_megatestdir): Use func_execute_command.
61314
61315 2007-09-08  Bruno Haible  <bruno@clisp.org>
61316
61317         * gnulib-tool (func_import): Prefer rsync over wget when available,
61318         for fetching the PO files.
61319
61320 2007-09-08  Bruno Haible  <bruno@clisp.org>
61321
61322         * posix-modules: New file. Portions copied from gnulib-tool.
61323         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
61324
61325 2007-09-08  Jim Meyering  <jim@meyering.net>
61326
61327         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
61328         * lib/fpending.h: Rename from __fpending.h.
61329         * lib/fpending.c: Rename from __fpending.c.
61330         Include "fpending.h", not "__fpending.h".
61331         * lib/__fpending.h, lib/__fpending.c: Remove files.
61332         * modules/fpending (Files): Reflect new file names.
61333         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
61334
61335 2007-09-08  Bruno Haible  <bruno@clisp.org>
61336
61337         * m4/inttypes-h.m4: Remove stub file.
61338
61339 2007-09-07  Simon Josefsson  <simon@josefsson.org>
61340
61341         * doc/headers/stdint.texi: Discuss #include_next issue.
61342
61343 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61344
61345         * build-aux/bootstrap: Remove obsolete comment about wget --help.
61346
61347 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61348
61349         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
61350         in variable name.
61351
61352 2007-09-03  Jim Meyering  <jim@meyering.net>
61353
61354         New module: git-version-gen.
61355         * modules/git-version-gen: New file.
61356
61357         Import changes from coreutils for bootstrap script.
61358
61359         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
61360
61361         bootstrap: uses rsync to download the .po files
61362         * build-aux/bootstrap (po_download_command_format): New global.
61363         (download_po_files): Use rsync.
61364         (update_po_files): Don't remove .po files after download,
61365         so future rsync runs can take advantage of the copies.
61366
61367         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
61368
61369         Solve the unnecessary-.po-file-regeneration problem once and for all.
61370         * build-aux/bootstrap (download_po_files): New function, renamed from
61371         get_translations.  Now, downloads, but doesn't update LINGUAS.
61372         (update_po_files): New function.
61373
61374         bootstrap: Ignore more.
61375         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
61376         uniwidth to e.g., lib/.gitignore.
61377         (slurp): Handle the sys_stat_.h -> sys mapping, too.
61378
61379         * build-aux/bootstrap: New setting: vc_ignore.
61380         (insert_sorted_if_absent): Create $file if absent.
61381         Adapt to new, possibly empty, list: $vc_ignore.
61382
61383         bootstrap: generate more ignorable names
61384         * build-aux/bootstrap (slurp): When generating ignorable names,
61385         also map .sin to .sed, .gperf to .c, and .y to .c.
61386
61387 2007-09-03  Jim Meyering  <jim@meyering.net>
61388
61389         * build-aux/git-version-gen: New file, from coreutils.  For details, see
61390         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
61391
61392 2007-09-02  Bruno Haible  <bruno@clisp.org>
61393
61394         Fix mis-recognition of 'mcs' on QNX 6.
61395         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
61396         output contains the string "Mono".
61397         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
61398         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
61399
61400 2007-09-01  Bruno Haible  <bruno@clisp.org>
61401
61402         Fix collision between uniwidth/* and linebreak modules.
61403         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
61404         u32_width): Remove declarations.
61405         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
61406         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
61407         streq3, streq2, streq1, streq0): Remove functions.
61408         (STREQ): Remove macro.
61409         (is_cjk_encoding): Remove function.
61410         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
61411         (uc_width, u8_width, u16_width, u32_width): Remove functions.
61412         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
61413         * NEWS: Document the change.
61414
61415 2007-09-01  Bruno Haible  <bruno@clisp.org>
61416
61417         * lib/streq.h: Add double-inclusion guard.
61418
61419 2007-09-01  Karl Berry  <karl@gnu.org>
61420
61421         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
61422
61423 2007-08-28  Jim Meyering  <jim@meyering.net>
61424
61425         Rename mreadlink_with_size to areadlink_with_size.
61426         * NEWS: Document the change.
61427         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
61428         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
61429         * lib/mreadlink.h: Rename this to...
61430         * lib/areadlink.h: ...this.
61431         * modules/mreadlink-with-size: Rename this to...
61432         * modules/areadlink-with-size: ...this.
61433         * lib/canonicalize.c: Reflect the renaming.
61434         * modules/canonicalize: Likewise.
61435
61436 2007-08-26  Bruno Haible  <bruno@clisp.org>
61437
61438         * gnulib-tool (func_import): When deciding which files to remove,
61439         consider also dangling symbolic links.
61440         Reported by Eric Blake.
61441
61442 2007-08-26  Bruno Haible  <bruno@clisp.org>
61443
61444         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
61445
61446 2007-08-23  Simon Josefsson  <simon@josefsson.org>
61447
61448         * lib/readline.c: Don't include getline.h, the prototype is now
61449         found in stdio.h.
61450
61451 2007-08-23  Jim Meyering  <jim@meyering.net>
61452
61453         Getdelim touchup.
61454         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
61455         around the funlockfile call, since funlockfile never sets errno.
61456         Don't set errno upon failed realloc.
61457
61458 2007-08-22  Eric Blake  <ebb9@byu.net>
61459
61460         Getline touchups.
61461         * lib/getdelim.c (getdelim): Revert regression that required *n to
61462         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
61463         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
61464         getdelim, rather than whether implementation is missing.
61465         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
61466         * lib/stdio_.h (getline): Also declare if replacement is
61467         required.
61468         * doc/functions/getdelim.texi: New file.
61469         * doc/functions/getline.texi: Likewise.
61470         * doc/gnulib.texi (Function Substitutes): Add new files.
61471         Reported by Bruno Haible.
61472
61473 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
61474
61475         * users.txt: Add Guile.
61476
61477 2007-08-22  Eric Blake  <ebb9@byu.net>
61478
61479         * tests/test-getdelim.c (main): Use remove, not unlink.
61480         * tests/test-getline.c (main): Likewise.
61481
61482         Move getline and getdelim into stdio.h, per POSIX 200x.
61483         * modules/getline (Files): Remove getline.h.
61484         (Depends-on): Add stdio.
61485         (configure.ac): Add module indicator.
61486         * modules/getdelim (Files): Remove getdelim.h.
61487         (Depends-on): Add stdio.
61488         (configure.ac): Add module indicator.
61489         * modules/stdio (Makefile.am): Work with new indicators.
61490         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
61491         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
61492         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61493         * lib/getdelim.h: Delete.
61494         * lib/getline.h: Delete.
61495         * lib/stdio_.h (getdelim, getline): Declare.
61496         * modules/getdelim-tests: New module.
61497         * modules/getline-tests: Likewise.
61498         * tests/test-getdelim.c: New file.
61499         * tests/test-getline.c: Likewise.
61500         * NEWS: Document the change.
61501         * lib/getline.c: Update choice of header.
61502         * lib/csharpcomp.c: Likewise.
61503         * lib/getpass.c: Likewise.
61504         * lib/javacomp.c: Likewise.
61505         * lib/javaversion.c: Likewise.
61506         * lib/yesno.c: Likewise.
61507         * lib/getdelim.c: Likewise.
61508         (getdelim): Set errno on failure, and avoid memory leak.
61509
61510 2007-08-19  Bruno Haible  <bruno@clisp.org>
61511
61512         * modules/closein (Depends-on): Add freadahead.
61513         * lib/closein.c: Include freadahead.h.
61514         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
61515         is zero.
61516
61517 2007-08-19  Bruno Haible  <bruno@clisp.org>
61518
61519         * modules/freadahead-tests: New file.
61520         * tests/test-freadahead.sh: New file.
61521         * tests/test-freadahead.c: New file.
61522
61523         * modules/freadahead: New file.
61524         * lib/freadahead.h: New file.
61525         * lib/freadahead.c: New file.
61526         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
61527         fbufmode, fpurge, freadable, fwritable.
61528
61529 2007-08-19  Eric Blake  <ebb9@byu.net>
61530
61531         Test yesno in combination with closein.
61532         * lib/yesno.c (yesno): Document use of stdin.
61533         * modules/yesno-tests (Files): New module.
61534         * tests/test-yesno.c (main): New file.
61535         * tests/test-yesno.sh: Likewise.
61536
61537 2007-08-19  Bruno Haible  <bruno@clisp.org>
61538
61539         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
61540         * lib/fseeko.c (rpl_fseeko): Likewise.
61541         * lib/fseterr.c (fseterr): Likewise.
61542
61543 2007-08-19  Bruno Haible  <bruno@clisp.org>
61544
61545         * tests/test-lseek.c (main): Disable a test for BeOS.
61546         * doc/functions/lseek.texi: Document the BeOS bug.
61547
61548 2007-08-19  Bruno Haible  <bruno@clisp.org>
61549             Eric Blake  <ebb9@byu.net>
61550
61551         * lib/lseek.c: Include <sys/stat.h>.
61552         (rpl_lseek): Add workaround code also for Unix platforms.
61553         Needed for BeOS.
61554         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
61555         * doc/functions/lseek.texi: Document BeOS definiency.
61556
61557 2007-08-18  Bruno Haible  <bruno@clisp.org>
61558
61559         * modules/fstrcmp-tests: New file.
61560         * tests/test-fstrcmp.c: New file.
61561
61562 2007-08-18  Bruno Haible  <bruno@clisp.org>
61563
61564         * modules/fstrcmp: New file, from GNU gettext with modifications.
61565         * lib/fstrcmp.h: New file, from GNU gettext.
61566         * lib/fstrcmp.c: New file, from GNU gettext.
61567         * MODULES.html.sh (String handling): Add fstrcmp.
61568
61569 2007-08-18  Bruno Haible  <bruno@clisp.org>
61570
61571         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
61572         'bool'.
61573         (diag, compareseq): Remove const from the ctxt argument.
61574         (USE_HEURISTIC): Undefine at the end.
61575
61576 2007-08-18  Jim Meyering  <jim@meyering.net>
61577
61578         New file: lib/idcache.h
61579         * NEWS: Mention the addition.
61580         * modules/idcache (Files): Add lib/idcache.h
61581         * lib/idcache.c: Include "idcache.h".
61582         Don't include <sys/types.h>.
61583         Add a FIXME comment.
61584         Move file-scoped "static" declarations to the top.
61585         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
61586
61587 2007-08-17  Bruno Haible  <bruno@clisp.org>
61588         and Paul Eggert  <eggert@cs.ucla.edu>
61589
61590         * MODULES.html.sh: Add diffseq.
61591         * modules/diffseq: New file.
61592         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
61593         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
61594
61595 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61596
61597         Import changes from coreutils for bootstrap script.
61598
61599         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
61600
61601         * build-aux/bootstrap (slurp): Work even in environments where
61602         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
61603         current code does not slurp files whose names start with ".", and
61604         this looks like it might be a troublesome area.
61605
61606         2007-07-11  Jim Meyering  <jim@meyering.net>
61607
61608         If there's a GPL vN copyright comment, require that N == 3.
61609
61610         2007-07-08  Jim Meyering  <jim@meyering.net>
61611
61612         Run the coreutils-specific code only if tests/Makefile.am.in exists.
61613         * build-aux/bootstrap (mam_template): Move definition out of loop.
61614
61615         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
61616
61617         * build-aux/bootstrap (symlink_to_dir): Rename function from
61618         symlink_to_gnulib.  Add a directory parameter.  Update all
61619         callers.
61620         (cp_mark_as_generated): Also check for -- and link to -- files in
61621         gl/.
61622
61623         2007-07-08  Jim Meyering  <jim@meyering.net>
61624
61625         Adapt to deeper hierarchy in gnulib.
61626         * build-aux/bootstrap (symlink_to_dir): If the destination
61627         directory doesn't exist, create it. This is required at least for
61628         "lib/uniwidth/cjk.h".
61629
61630         2007-05-15  Jim Meyering  <jim@meyering.net>
61631
61632         * build-aux/bootstrap: Now that generated Makefile.am files
61633         are no longer under version control, they must be created at
61634         bootstrap time.
61635
61636 2007-08-14  Ben Pfaff  <blp@gnu.org>
61637
61638         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
61639
61640 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61641
61642         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
61643         given the changes below.
61644         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
61645         even on hosts that have padding bits beyond the supported 64.
61646
61647 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
61648
61649         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
61650         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
61651         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
61652         depends on it.
61653         (xstrtol_error): Remove.
61654         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
61655         but with a different signature.
61656         (ATTRIBUTE_NORETURN, __attribute__): New macros.
61657         * lib/xstrtol-error.c: Include exitfail.h.
61658         (xstrtol_fatal): New function, with a different signature from the
61659         old xstrtol_error, so that the caller need not worry about passing
61660         in an exit status, or about storage management of the option argument.
61661         (xstrtol_error): Now a static function.  Redo signature to
61662         implement xstrtol_fatal.  Output the correct number of hyphens in
61663         front of the option so that the caller need not worry about
61664         storage management.
61665         (N_): New macro.
61666         (_): Remove; not used now.
61667         * modules/xstrtol: Depend on getopt.
61668         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
61669         of old STRTOL_FATAL_ERROR macro.
61670         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
61671         of test program.
61672         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
61673         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
61674
61675 2007-08-08  Eric Blake  <ebb9@byu.net>
61676
61677         * lib/xstrtol-error.c: Add missing include.
61678
61679         Move xstrtol messages into gnulib domain, when --pobase is used.
61680         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
61681         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
61682         * modules/xstrtol (Files): Distribute new file.
61683         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
61684         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
61685         * tests/test-xstrtol.c: ...into new file.
61686         * tests/test-xstrtoul.c: Also test xstrtoul.
61687         * tests/test-xstrtoimax.c: Also test xstrtoimax.
61688         * tests/test-xstrtoumax.c: Also test xstrtoumax.
61689         * tests/test-xstrtol.sh: Drive the tests.
61690         * tests/test-xstrtoimax.sh: Likewise.
61691         * tests/test-xstrtoumax.sh: Likewise.
61692         * modules/xstrtol-tests: New module.
61693         * modules/xstrtoimax-tests: Likewise.
61694         * modules/xstrtoumax-tests: Likewise.
61695
61696 2007-08-08  Jim Meyering  <jim@meyering.net>
61697
61698         New function: mfile_name_concat.
61699         * lib/filenamecat.c (mfile_name_concat): New function, just like
61700         file_name_concat, but return NULL upon failure rather than exiting
61701         with a diagnostic.
61702         * lib/filenamecat.h: Declare it.
61703
61704 2007-08-07  Bruno Haible  <bruno@clisp.org>
61705
61706         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
61707         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
61708         warning from gcc.
61709         Reported by Eric Blake.
61710
61711 2007-08-07  Simon Josefsson  <simon@josefsson.org>
61712
61713         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
61714         * modules/crypto/arcfour (License): Likewise.
61715         * modules/crypto/des-tests (License): Likewise.
61716         * modules/crypto/gc-arctwo-tests (License): Likewise.
61717         * modules/crypto/gc-des-tests (License): Likewise.
61718         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
61719         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
61720         * modules/crypto/gc-md2-tests (License): Likewise.
61721         * modules/crypto/gc-md4-tests (License): Likewise.
61722         * modules/crypto/gc-md5-tests (License): Likewise.
61723         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
61724         * modules/crypto/gc-rijndael-tests (License): Likewise.
61725         * modules/crypto/gc-sha1-tests (License): Likewise.
61726         * modules/crypto/gc-tests (License): Likewise.
61727         * modules/crypto/hmac-md5 (License): Likewise.
61728         * modules/crypto/hmac-sha1 (License): Likewise.
61729         * modules/crypto/md2-tests (License): Likewise.
61730         * modules/crypto/md4-tests (License): Likewise.
61731         * modules/crypto/md5 (License): Likewise.
61732         * modules/crypto/rijndael (License): Likewise.
61733         * modules/crypto/sha1 (License): Likewise.
61734         * modules/memxor (License): Likewise.
61735
61736 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
61737         and Bruno Haible  <bruno@clisp.org>
61738
61739         * NEWS: Describe interface changes to human, xstrtol.
61740         * lib/human.h: Include <xstrtol.h>.
61741         (human_options): Return enum strtol_error, not int.  Remove
61742         bool arg; take int * instead.
61743         * lib/human.c: Don't include "gettext.h".
61744         (_): Remove; no longer used.
61745         Don't include <xstrtol.h>, since human.h does it.
61746         (human_options): Adjust to abovementioned interface changes.
61747         Do not report error to stderr; that's now the caller's
61748         responsibility.
61749         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
61750         interface change.
61751         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
61752         Str, Argument_type_string.  All uses changed.  Put " argument"
61753         in diagnostics to make them clearer.  Change wording of suffix
61754         message for clarity.
61755         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
61756         Argument_type_string.
61757         (STRTOL_FATAL_WARN): Remove; no longer used.
61758         * modules/human (Depends-on): Remove gettext-h.
61759
61760 2007-08-06  Simon Josefsson  <simon@josefsson.org>
61761
61762         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
61763
61764 2007-07-31  Bruno Haible  <bruno@clisp.org>
61765
61766         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
61767         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
61768         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
61769
61770 2007-07-31  Bruno Haible  <bruno@clisp.org>
61771
61772         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
61773         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
61774
61775 2007-07-30  Bruno Haible  <bruno@clisp.org>
61776
61777         * modules/base64 (License): Use the synonymous term "LGPLv2+".
61778         * modules/c-ctype (License): Likewise.
61779         * modules/c-strcase (License): Likewise.
61780         * modules/check-version (License): Likewise.
61781         * modules/iconv (License): Likewise.
61782         * modules/iconv_open (License): Likewise.
61783         * modules/read-file (License): Likewise.
61784         * modules/striconv (License): Likewise.
61785         * modules/strverscmp (License): Likewise.
61786         * modules/vasprintf (License): Likewise.
61787         * modules/crypto/des (License): Likewise.
61788         * modules/crypto/gc (License): Likewise.
61789         * modules/crypto/gc-arcfour (License): Likewise.
61790         * modules/crypto/gc-arctwo (License): Likewise.
61791         * modules/crypto/gc-des (License): Likewise.
61792         * modules/crypto/gc-hmac-md5 (License): Likewise.
61793         * modules/crypto/gc-hmac-sha1 (License): Likewise.
61794         * modules/crypto/gc-md2 (License): Likewise.
61795         * modules/crypto/gc-md4 (License): Likewise.
61796         * modules/crypto/gc-md5 (License): Likewise.
61797         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
61798         * modules/crypto/gc-random (License): Likewise.
61799         * modules/crypto/gc-rijndael (License): Likewise.
61800         * modules/crypto/gc-sha1 (License): Likewise.
61801         * modules/crypto/md2 (License): Likewise.
61802         * modules/crypto/md4 (License): Likewise.
61803
61804 2007-07-30  Jim Meyering  <jim@meyering.net>
61805
61806         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
61807         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
61808         it has valid stat data.  This bug would cause du not to count the
61809         sizes of inaccessible directories.
61810         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
61811         in <http://bugzilla.redhat.com/250077>.
61812
61813 2007-07-25  Peter O'Gorman  <peter@pogma.com>
61814             Bruno Haible  <bruno@clisp.org>
61815
61816         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
61817         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
61818         #include_next, gives a diagnostic about it, but reports no error in
61819         the exit code.
61820         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
61821
61822 2007-07-24  Ben Pfaff  <blp@gnu.org>
61823
61824         Improve name: "count-one-bits" is better than "popcount".
61825         * MODULES.html.sh: Update name.
61826         * lib/popcount.h: Renamed lib/count-one-bits.h.
61827         (popcount): Renamed count_one_bits.
61828         (popcountl): Renamed count_one_bits_l.
61829         (popcountll): Renamed count_one_bits_ll.
61830         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
61831         * modules/popcount: Renamed module/count-one-bits.
61832         * modules/popcount-tests: Renamed module/count-one-bits-tests.
61833         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
61834
61835 2007-07-23  Ben Pfaff  <blp@gnu.org>
61836
61837         * lib/popcount.h (popcount32): Reduce size of constants, to allow
61838         better code generation, and add U to large constants to avoid
61839         warnings, in non-GCC case.
61840         Suggested by Bruno Haible.
61841
61842 2007-07-23  Ben Pfaff  <blp@gnu.org>
61843
61844         * lib/popcount.h: Use verify_true instead of if...abort.
61845         * modules/popcount: Depend on verify module.
61846         Suggested by Jim Meyering.
61847
61848 2007-07-23  Bruno Haible  <bruno@clisp.org>
61849
61850         * gnulib-tool (func_import): Create a .cvsignore file also when the
61851         directory is not yet in CVS but the toplevel directory is. When
61852         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
61853         Reported by Karl Berry.
61854
61855 2007-07-22  Ben Pfaff  <blp@gnu.org>
61856
61857         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
61858         case.
61859         Suggested by Eric Blake.
61860
61861 2007-07-22  Ben Pfaff  <blp@gnu.org>
61862
61863         New module: popcount.
61864         * MODULES.html.sh: Add popcount.
61865         * modules/popcount: New file.
61866         * modules/popcount-tests: New file.
61867         * tests/test-popcount.c: New file.
61868         * lib/popcount.h: New file.
61869         * m4/popcount.m4: New file.
61870
61871 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61872
61873         * build-aux/announce-gen: Update to GPLv3.
61874
61875         * build-aux/config.guess: Update from config.
61876
61877 2007-07-21  Bruno Haible  <bruno@clisp.org>
61878
61879         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
61880         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
61881
61882 2007-07-20  Jim Meyering  <jim@meyering.net>
61883
61884         * check-module: Diagnose a self-dependency.
61885
61886 2007-07-19  Bruno Haible  <bruno@clisp.org>
61887
61888         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
61889         empty.
61890         Reported by Eric Blake.
61891
61892 2007-07-18  Bruno Haible  <bruno@clisp.org>
61893
61894         * gnulib-tool: New options --po-base, --po-domain.
61895         (func_usage): Document them.
61896         (pobase, po_domain): New variables.
61897         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
61898         DEFAULT_TEXT_DOMAIN.
61899         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
61900         (func_import): Consider pobase and po_domain. Create a po/ directory.
61901         (func_create_testdir): Set pobase and po_domain to empty.
61902         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
61903         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
61904
61905 2007-07-18  Bruno Haible  <bruno@clisp.org>
61906
61907         * gnulib-tool (func_get_automake_snippet): Synthesize also an
61908         EXTRA_DIST augmentation for files in build-aux/.
61909
61910 2007-07-16  Bruno Haible  <bruno@clisp.org>
61911
61912         * modules/lseek (License): Use the synonymous term "LGPLv2+".
61913         * modules/getdelim (License): Likewise.
61914
61915 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61916
61917         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
61918         * modules/d-type (License): Likewise.
61919         * modules/extensions (License): Likewise.
61920         * modules/fnmatch (License): Likewise.
61921         * modules/fseeko (License): Likewise.
61922         * modules/getaddrinfo (License): Likewise.
61923         * modules/getline (License): Likewise.
61924         * modules/getlogin_r (License): Likewise.
61925         * modules/getpass (License): Likewise.
61926         * modules/gettimeofday (License): Likewise.
61927         * modules/glob (License): Likewise.
61928         * modules/inet_ntop (License): Likewise.
61929         * modules/malloc (License): Likewise.
61930         * modules/malloca (License): Likewise.
61931         * modules/memmem (License): Likewise.
61932         * modules/mempcpy (License): Likewise.
61933         * modules/memset (License): Likewise.
61934         * modules/minmax (License): Likewise.
61935         * modules/mktime (License): Likewise.
61936         * modules/netinet_in (License): Likewise.
61937         * modules/pathmax (License): Likewise.
61938         * modules/poll (License): Likewise.
61939         * modules/regex (License): Likewise.
61940         * modules/snprintf (License): Likewise.
61941         * modules/stdbool (License): Likewise.
61942         * modules/stdint (License): Likewise.
61943         * modules/stdio (License): Likewise.
61944         * modules/strcase (License): Likewise.
61945         * modules/strcasestr (License): Likewise.
61946         * modules/strdup (License): Likewise.
61947         * modules/string (License): Likewise.
61948         * modules/strndup (License): Likewise.
61949         * modules/strnlen (License): Likewise.
61950         * modules/strpbrk (License): Likewise.
61951         * modules/strptime (License): Likewise.
61952         * modules/strsep (License): Likewise.
61953         * modules/sys_select (License): Likewise.
61954         * modules/sys_socket (License): Likewise.
61955         * modules/sys_stat (License): Likewise.
61956         * modules/sys_time (License): Likewise.
61957         * modules/time (License): Likewise.
61958         * modules/time_r (License): Likewise.
61959         * modules/timegm (License): Likewise.
61960         * modules/unistd (License): Likewise.
61961         * modules/vsnprintf (License): Likewise.
61962         * modules/wctype (License): Likewise.
61963
61964 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61965
61966         * modules/argz (License): LGPLv2+.
61967
61968 2007-07-15  Karl Berry  <karl@gnu.org>
61969
61970         * doc/gnulib.texi: revise node structure per new fdl.texi.
61971
61972 2007-07-14  Bruno Haible  <bruno@clisp.org>
61973
61974         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
61975         the output file.
61976         * lib/uniname/uninames.h: Regenerated.
61977
61978 2007-07-14  Karl Berry  <karl@gnu.org>
61979
61980         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
61981         omitting sectioning and index commands.
61982
61983 2007-07-13  Bruno Haible  <bruno@clisp.org>
61984
61985         New gnulib-tool option --more-symlinks.
61986         * gnulib-tool (func_usage): Document --more-symlinks.
61987         (do_copyrights): New variable.
61988         Recognize option --more-symlinks.
61989         (func_import): Don't add a copyright notice transform to
61990         sed_transform_lib_file if do_copyrights is empty.
61991
61992 2007-07-13  Bruno Haible  <bruno@clisp.org>
61993
61994         * lib/vasnprintf.c (decimal_point_char): Define also if
61995         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
61996         && !NEED_PRINTF_DIRECTIVE_A.
61997         Reported by Clemens Koller <clemens.koller@anagramm.de> via
61998         Gary V. Vaughan <gary@gnu.org>.
61999
62000 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
62001
62002         * lib/inttypes_.h: Undo previous change, since it was fixed
62003         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
62004
62005 2007-07-13  Bruno Haible  <bruno@clisp.org>
62006
62007         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
62008         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
62009
62010 2007-07-13  Jim Meyering  <jim@meyering.net>
62011
62012         df: Don't fail for Tru64's "file-on-file mount".
62013         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
62014         so we fall through and use statfs instead.  Details here:
62015         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
62016         Reported by Albert Chin.
62017
62018 2007-07-13  Bruno Haible  <bruno@clisp.org>
62019
62020         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
62021         * modules/configmake (License): Likewise.
62022         * modules/gettext (License): Likewise.
62023         * modules/gettext-h (License): Likewise.
62024         * modules/include_next (License): Likewise.
62025         * modules/link-warning (License): Likewise.
62026         * modules/localcharset (License): Likewise.
62027         * modules/localename (License): Likewise.
62028         * modules/lock (License): Likewise.
62029         * modules/relocatable-lib-lgpl (License): Likewise.
62030         * modules/size_max (License): Likewise.
62031         * modules/vasnprintf (License): Likewise.
62032         * modules/wchar (License): Likewise.
62033         * modules/xsize (License): Likewise.
62034
62035 2007-07-13  Bruno Haible  <bruno@clisp.org>
62036
62037         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
62038         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
62039
62040 2007-07-12  Bruno Haible  <bruno@clisp.org>
62041
62042         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
62043         in the modules files.
62044
62045 2007-07-11  Karl Berry  <karl@gnu.org>
62046
62047         * MODULES.html.sh (func_module): use
62048          sed -e '\|^'"${includefile}"'$|d'
62049          instead of /.../d, to avoid errors on $includefile's containing /.
62050
62051 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62052
62053         * gnulib-tool (func_import): Avoid duplication of --avoid
62054         statements
62055         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
62056         names to `_' in variable names.
62057
62058 2007-07-10  Eric Blake  <ebb9@byu.net>
62059
62060         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
62061         * NEWS: Document this change.
62062
62063 2007-07-08  Bruno Haible  <bruno@clisp.org>
62064
62065         Update to Unicode 5.0.
62066         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
62067         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
62068         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
62069         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
62070         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
62071         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
62072         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
62073         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
62074         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
62075         U+10A3F, U+1D242..U+1D244.
62076         (nonspacing_table_ind): Update.
62077         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
62078         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
62079
62080 2007-07-08  Bruno Haible  <bruno@clisp.org>
62081
62082         Update to Unicode 5.0.
62083         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
62084         code transform. Extend the name index field of unicode_name_to_code and
62085         unicode_code_to_name from 16 to 24 bits.
62086         * lib/uniname/uniname.c (unicode_character_name,
62087         unicode_name_character): Add the range 0x12xxx to the code transform.
62088         * lib/uniname/uninames.h: Regenerated.
62089         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
62090
62091 2007-07-07  Bruno Haible  <bruno@clisp.org>
62092
62093         * modules/wcwidth-tests: New file.
62094         * tests/test-wcwidth.c: New file.
62095
62096         Work around MacOS X wcwidth() bug.
62097         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
62098         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
62099         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
62100         original wcwidth in non-UTF-8 locales.
62101         * modules/wcwidth (Depends-on): Add localcharset, streq,
62102         uniwidth/width.
62103         * doc/functions/wcwidth.texi: Update.
62104
62105 2007-07-07  Bruno Haible  <bruno@clisp.org>
62106
62107         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
62108         (wcwidth): New declaration.
62109         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
62110         macros.
62111         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
62112         here. Prepare for creating <wchar.h> unconditionally.
62113         * modules/wchar (Depends-on): Add link-warning.
62114         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
62115         REPLACE_WCWIDTH, and GL_LINK_WARNING.
62116         * lib/wcwidth.h: Remove file.
62117         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
62118         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
62119         * modules/wcwidth (Files): Remove lib/wcwidth.h.
62120         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
62121         (Include): Replace wcwidth.h with <wchar.h>.
62122         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
62123         * lib/mbchar.h: Don't include wcwidth.h.
62124         * lib/mbswidth.c: Likewise.
62125         * NEWS: Mention the change.
62126
62127 2007-07-07  Bruno Haible  <bruno@clisp.org>
62128
62129         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
62130         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
62131         definition with an external declaration.
62132         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
62133         defined as a function. Remove AC_C_INLINE requirement.
62134         * modules/wcwidth (Files): Add lib/wcwidth.c.
62135         (Makefile.am): Remove redundant statement.
62136
62137 2007-07-07  Bruno Haible  <bruno@clisp.org>
62138
62139         * MODULES.html.sh (Unicode string functions): Add the new modules.
62140
62141         * tests/uniwidth/test-u32-strwidth.c: New file.
62142         * modules/uniwidth/u32-strwidth-tests: New file.
62143
62144         * lib/uniwidth/u32-strwidth.c: New file.
62145         * modules/uniwidth/u32-strwidth: New file.
62146
62147         * tests/uniwidth/test-u16-strwidth.c: New file.
62148         * modules/uniwidth/u16-strwidth-tests: New file.
62149
62150         * lib/uniwidth/u16-strwidth.c: New file.
62151         * modules/uniwidth/u16-strwidth: New file.
62152
62153         * tests/uniwidth/test-u8-strwidth.c: New file.
62154         * modules/uniwidth/u8-strwidth-tests: New file.
62155
62156         * lib/uniwidth/u8-strwidth.c: New file.
62157         * modules/uniwidth/u8-strwidth: New file.
62158
62159         * tests/uniwidth/test-u32-width.c: New file.
62160         * modules/uniwidth/u32-width-tests: New file.
62161
62162         * lib/uniwidth/u32-width.c: New file.
62163         * modules/uniwidth/u32-width: New file.
62164
62165         * tests/uniwidth/test-u16-width.c: New file.
62166         * modules/uniwidth/u16-width-tests: New file.
62167
62168         * lib/uniwidth/u16-width.c: New file.
62169         * modules/uniwidth/u16-width: New file.
62170
62171         * tests/uniwidth/test-u8-width.c: New file.
62172         * modules/uniwidth/u8-width-tests: New file.
62173
62174         * lib/uniwidth/u8-width.c: New file.
62175         * modules/uniwidth/u8-width: New file.
62176
62177         * tests/uniwidth/test-uc_width.c: New file.
62178         * modules/uniwidth/width-tests: New file.
62179
62180         * lib/uniwidth/width.c: New file, from GNU libiconv.
62181         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
62182         * modules/uniwidth/width: New file.
62183
62184         * lib/uniwidth.h: New file, from GNU libiconv.
62185         * modules/uniwidth/base: New file.
62186
62187 2007-07-07  Bruno Haible  <bruno@clisp.org>
62188
62189         * lib/uniname.h: New file, from GNU gettext.
62190         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
62191         * lib/uniname/uninames.h: New file, from GNU gettext.
62192         * lib/uniname/uniname.c: New file, from GNU gettext.
62193         * tests/uniname/test-uninames.sh: New file.
62194         * tests/uniname/test-uninames.c: New file, from GNU gettext.
62195         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
62196         * modules/uniname/base: New file.
62197         * modules/uniname/uniname: New file.
62198         * modules/uniname/uniname-tests: New file.
62199         * MODULES.html.sh (Unicode string functions): Add the new modules.
62200
62201 2007-07-06  Bruno Haible  <bruno@clisp.org>
62202
62203         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
62204
62205 2007-07-06  Bruno Haible  <bruno@clisp.org>
62206
62207         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
62208         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
62209         includes <cygwin/sys_time.h> which includes <sys/select.h> which
62210         include <sys/time.h>.
62211         Reported by Eric Blake.
62212
62213 2007-07-06  Eric Blake  <ebb9@byu.net>
62214
62215         Fix testing canonicalize on cygwin.
62216         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62217         Revert patch from 2007-06-19.
62218         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
62219         canonicalize module is also in use.
62220         * tests/test-canonicalize.c: New file.
62221         * tests/test-canonicalize.sh: Likewise.
62222         * modules/canonicalize-tests: Likewise.
62223
62224 2007-07-06  Jim Meyering  <jim@meyering.net>
62225
62226         * lib/getugroups.c (getugroups): Detect getgrent failure.
62227         Adjust comment to reflect reality: this function may return -1.
62228
62229 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
62230
62231         * build-aux/bootstrap (TP_URL,get_translations): Update to use
62232         the new TP address.
62233         (usage): Fix typo
62234         (gnulib_mk): New variable.
62235
62236 2007-07-05  Jim Meyering  <jim@meyering.net>
62237
62238         Don't let endgrent clobber errno, no matter how improbable.
62239         * lib/getugroups.c (getugroups): Save and restore errno around
62240         endgrent call.
62241
62242         Close the group DB even when failing with 2^31 or more members.
62243         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
62244
62245 2007-07-04  Jim Meyering  <jim@meyering.net>
62246
62247         * lib/getugroups.h: New file.
62248         * lib/getugroups.c: Include "getugroups.h".
62249         Remove uses of "register" keyword.
62250         Move local variable, "cp", down into scope where used.
62251         Give "username" parameter the "const" attribute.
62252         * modules/getugroups (Files): Add lib/getugroups.h
62253
62254 2007-07-04  Karl Berry  <karl@gnu.org>
62255
62256         * MODULES.html.sh (func_all_modules): Complete rename of
62257         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
62258
62259 2007-07-02  Bruno Haible  <bruno@clisp.org>
62260
62261         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
62262         mode, when inttypes.h comes from gnulib.
62263         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62264
62265 2007-07-02  Simon Josefsson  <simon@josefsson.org>
62266
62267         * NEWS: Mention lgpl module name change.
62268
62269         * modules/lgpl-2.1: Renamed from lgpl.
62270
62271         * NEWS: Mention gpl module name change.
62272
62273         * modules/gpl-3.0: New file, based on gpl-2.0.
62274
62275         * modules/gpl-2.0: Renamed from gpl.
62276
62277         * modules/gpl: Fix filename, doc/gpl.texi is now found at
62278         doc/gpl-2.0.texi.
62279
62280 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62281
62282         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
62283         #define __STDC_LIMIT_MACROS temporarily while including
62284         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
62285         Problem reported by Joel E. Denny in
62286         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
62287
62288 2007-07-01  Bruno Haible  <bruno@clisp.org>
62289
62290         * lib/unistdio.h: New file.
62291         * lib/unistdio/u-asnprintf.h: New file.
62292         * lib/unistdio/u-asprintf.h: New file.
62293         * lib/unistdio/u-printf-args.c: New file.
62294         * lib/unistdio/u-printf-args.h: New file.
62295         * lib/unistdio/u-printf-parse.h: New file.
62296         * lib/unistdio/u-snprintf.h: New file.
62297         * lib/unistdio/u-sprintf.h: New file.
62298         * lib/unistdio/u-vasprintf.h: New file.
62299         * lib/unistdio/u-vsnprintf.h: New file.
62300         * lib/unistdio/u-vsprintf.h: New file.
62301         * lib/unistdio/ulc-asnprintf.c: New file.
62302         * lib/unistdio/ulc-asprintf.c: New file.
62303         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
62304         * lib/unistdio/ulc-printf-parse.c: New file.
62305         * lib/unistdio/ulc-snprintf.c: New file.
62306         * lib/unistdio/ulc-sprintf.c: New file.
62307         * lib/unistdio/ulc-vasnprintf.c: New file.
62308         * lib/unistdio/ulc-vasprintf.c: New file.
62309         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
62310         * lib/unistdio/ulc-vsnprintf.c: New file.
62311         * lib/unistdio/ulc-vsprintf.c: New file.
62312         * lib/unistdio/u8-asnprintf.c: New file.
62313         * lib/unistdio/u8-asprintf.c: New file.
62314         * lib/unistdio/u8-printf-parse.c: New file.
62315         * lib/unistdio/u8-snprintf.c: New file.
62316         * lib/unistdio/u8-sprintf.c: New file.
62317         * lib/unistdio/u8-vasnprintf.c: New file.
62318         * lib/unistdio/u8-vasprintf.c: New file.
62319         * lib/unistdio/u8-vsnprintf.c: New file.
62320         * lib/unistdio/u8-vsprintf.c: New file.
62321         * lib/unistdio/u8-u8-asnprintf.c: New file.
62322         * lib/unistdio/u8-u8-asprintf.c: New file.
62323         * lib/unistdio/u8-u8-snprintf.c: New file.
62324         * lib/unistdio/u8-u8-sprintf.c: New file.
62325         * lib/unistdio/u8-u8-vasnprintf.c: New file.
62326         * lib/unistdio/u8-u8-vasprintf.c: New file.
62327         * lib/unistdio/u8-u8-vsnprintf.c: New file.
62328         * lib/unistdio/u8-u8-vsprintf.c: New file.
62329         * lib/unistdio/u16-asnprintf.c: New file.
62330         * lib/unistdio/u16-asprintf.c: New file.
62331         * lib/unistdio/u16-printf-parse.c: New file.
62332         * lib/unistdio/u16-snprintf.c: New file.
62333         * lib/unistdio/u16-sprintf.c: New file.
62334         * lib/unistdio/u16-vasnprintf.c: New file.
62335         * lib/unistdio/u16-vasprintf.c: New file.
62336         * lib/unistdio/u16-vsnprintf.c: New file.
62337         * lib/unistdio/u16-vsprintf.c: New file.
62338         * lib/unistdio/u16-u16-asnprintf.c: New file.
62339         * lib/unistdio/u16-u16-asprintf.c: New file.
62340         * lib/unistdio/u16-u16-snprintf.c: New file.
62341         * lib/unistdio/u16-u16-sprintf.c: New file.
62342         * lib/unistdio/u16-u16-vasnprintf.c: New file.
62343         * lib/unistdio/u16-u16-vasprintf.c: New file.
62344         * lib/unistdio/u16-u16-vsnprintf.c: New file.
62345         * lib/unistdio/u16-u16-vsprintf.c: New file.
62346         * lib/unistdio/u32-asnprintf.c: New file.
62347         * lib/unistdio/u32-asprintf.c: New file.
62348         * lib/unistdio/u32-printf-parse.c: New file.
62349         * lib/unistdio/u32-snprintf.c: New file.
62350         * lib/unistdio/u32-sprintf.c: New file.
62351         * lib/unistdio/u32-vasnprintf.c: New file.
62352         * lib/unistdio/u32-vasprintf.c: New file.
62353         * lib/unistdio/u32-vsnprintf.c: New file.
62354         * lib/unistdio/u32-vsprintf.c: New file.
62355         * lib/unistdio/u32-u32-asnprintf.c: New file.
62356         * lib/unistdio/u32-u32-asprintf.c: New file.
62357         * lib/unistdio/u32-u32-snprintf.c: New file.
62358         * lib/unistdio/u32-u32-sprintf.c: New file.
62359         * lib/unistdio/u32-u32-vasnprintf.c: New file.
62360         * lib/unistdio/u32-u32-vasprintf.c: New file.
62361         * lib/unistdio/u32-u32-vsnprintf.c: New file.
62362         * lib/unistdio/u32-u32-vsprintf.c: New file.
62363         * tests/unistdio/test-ulc-asnprintf1.c: New file.
62364         * tests/unistdio/test-ulc-asnprintf1.h: New file.
62365         * tests/unistdio/test-ulc-printf1.h: New file.
62366         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
62367         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
62368         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
62369         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
62370         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
62371         * tests/unistdio/test-ulc-vasprintf1.c: New file.
62372         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
62373         * tests/unistdio/test-ulc-vsprintf1.c: New file.
62374         * tests/unistdio/test-u8-asnprintf1.c: New file.
62375         * tests/unistdio/test-u8-asnprintf1.h: New file.
62376         * tests/unistdio/test-u8-printf1.h: New file.
62377         * tests/unistdio/test-u8-vasnprintf1.c: New file.
62378         * tests/unistdio/test-u8-vasnprintf2.c: New file.
62379         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
62380         * tests/unistdio/test-u8-vasnprintf3.c: New file.
62381         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
62382         * tests/unistdio/test-u8-vasprintf1.c: New file.
62383         * tests/unistdio/test-u8-vsnprintf1.c: New file.
62384         * tests/unistdio/test-u8-vsprintf1.c: New file.
62385         * tests/unistdio/test-u16-asnprintf1.c: New file.
62386         * tests/unistdio/test-u16-asnprintf1.h: New file.
62387         * tests/unistdio/test-u16-printf1.h: New file.
62388         * tests/unistdio/test-u16-vasnprintf1.c: New file.
62389         * tests/unistdio/test-u16-vasnprintf2.c: New file.
62390         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
62391         * tests/unistdio/test-u16-vasnprintf3.c: New file.
62392         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
62393         * tests/unistdio/test-u16-vasprintf1.c: New file.
62394         * tests/unistdio/test-u16-vsnprintf1.c: New file.
62395         * tests/unistdio/test-u16-vsprintf1.c: New file.
62396         * tests/unistdio/test-u32-asnprintf1.c: New file.
62397         * tests/unistdio/test-u32-asnprintf1.h: New file.
62398         * tests/unistdio/test-u32-printf1.h: New file.
62399         * tests/unistdio/test-u32-vasnprintf1.c: New file.
62400         * tests/unistdio/test-u32-vasnprintf2.c: New file.
62401         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
62402         * tests/unistdio/test-u32-vasnprintf3.c: New file.
62403         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
62404         * tests/unistdio/test-u32-vasprintf1.c: New file.
62405         * tests/unistdio/test-u32-vsnprintf1.c: New file.
62406         * tests/unistdio/test-u32-vsprintf1.c: New file.
62407         * modules/unistdio/base: New file.
62408         * modules/unistdio/u-printf-args: New file.
62409         * modules/unistdio/ulc-asnprintf: New file.
62410         * modules/unistdio/ulc-asprintf: New file.
62411         * modules/unistdio/ulc-fprintf: New file.
62412         * modules/unistdio/ulc-printf-parse: New file.
62413         * modules/unistdio/ulc-snprintf: New file.
62414         * modules/unistdio/ulc-sprintf: New file.
62415         * modules/unistdio/ulc-vasnprintf: New file.
62416         * modules/unistdio/ulc-vasprintf: New file.
62417         * modules/unistdio/ulc-vfprintf: New file.
62418         * modules/unistdio/ulc-vsnprintf: New file.
62419         * modules/unistdio/ulc-vsprintf: New file.
62420         * modules/unistdio/u8-asnprintf: New file.
62421         * modules/unistdio/u8-asprintf: New file.
62422         * modules/unistdio/u8-printf-parse: New file.
62423         * modules/unistdio/u8-snprintf: New file.
62424         * modules/unistdio/u8-sprintf: New file.
62425         * modules/unistdio/u8-vasnprintf: New file.
62426         * modules/unistdio/u8-vasprintf: New file.
62427         * modules/unistdio/u8-vsnprintf: New file.
62428         * modules/unistdio/u8-vsprintf: New file.
62429         * modules/unistdio/u8-u8-asnprintf: New file.
62430         * modules/unistdio/u8-u8-asprintf: New file.
62431         * modules/unistdio/u8-u8-snprintf: New file.
62432         * modules/unistdio/u8-u8-sprintf: New file.
62433         * modules/unistdio/u8-u8-vasnprintf: New file.
62434         * modules/unistdio/u8-u8-vasprintf: New file.
62435         * modules/unistdio/u8-u8-vsnprintf: New file.
62436         * modules/unistdio/u8-u8-vsprintf: New file.
62437         * modules/unistdio/u16-asnprintf: New file.
62438         * modules/unistdio/u16-asprintf: New file.
62439         * modules/unistdio/u16-printf-parse: New file.
62440         * modules/unistdio/u16-snprintf: New file.
62441         * modules/unistdio/u16-sprintf: New file.
62442         * modules/unistdio/u16-vasnprintf: New file.
62443         * modules/unistdio/u16-vasprintf: New file.
62444         * modules/unistdio/u16-vsnprintf: New file.
62445         * modules/unistdio/u16-vsprintf: New file.
62446         * modules/unistdio/u16-u16-asnprintf: New file.
62447         * modules/unistdio/u16-u16-asprintf: New file.
62448         * modules/unistdio/u16-u16-snprintf: New file.
62449         * modules/unistdio/u16-u16-sprintf: New file.
62450         * modules/unistdio/u16-u16-vasnprintf: New file.
62451         * modules/unistdio/u16-u16-vasprintf: New file.
62452         * modules/unistdio/u16-u16-vsnprintf: New file.
62453         * modules/unistdio/u16-u16-vsprintf: New file.
62454         * modules/unistdio/u32-asnprintf: New file.
62455         * modules/unistdio/u32-asprintf: New file.
62456         * modules/unistdio/u32-printf-parse: New file.
62457         * modules/unistdio/u32-snprintf: New file.
62458         * modules/unistdio/u32-sprintf: New file.
62459         * modules/unistdio/u32-vasnprintf: New file.
62460         * modules/unistdio/u32-vasprintf: New file.
62461         * modules/unistdio/u32-vsnprintf: New file.
62462         * modules/unistdio/u32-vsprintf: New file.
62463         * modules/unistdio/u32-u32-asnprintf: New file.
62464         * modules/unistdio/u32-u32-asprintf: New file.
62465         * modules/unistdio/u32-u32-snprintf: New file.
62466         * modules/unistdio/u32-u32-sprintf: New file.
62467         * modules/unistdio/u32-u32-vasnprintf: New file.
62468         * modules/unistdio/u32-u32-vasprintf: New file.
62469         * modules/unistdio/u32-u32-vsnprintf: New file.
62470         * modules/unistdio/u32-u32-vsprintf: New file.
62471         * modules/unistdio/ulc-asnprintf-tests: New file.
62472         * modules/unistdio/ulc-vasnprintf-tests: New file.
62473         * modules/unistdio/ulc-vasprintf-tests: New file.
62474         * modules/unistdio/ulc-vsnprintf-tests: New file.
62475         * modules/unistdio/ulc-vsprintf-tests: New file.
62476         * modules/unistdio/u8-asnprintf-tests: New file.
62477         * modules/unistdio/u8-vasnprintf-tests: New file.
62478         * modules/unistdio/u8-vasprintf-tests: New file.
62479         * modules/unistdio/u8-vsnprintf-tests: New file.
62480         * modules/unistdio/u8-vsprintf-tests: New file.
62481         * modules/unistdio/u16-asnprintf-tests: New file.
62482         * modules/unistdio/u16-vasnprintf-tests: New file.
62483         * modules/unistdio/u16-vasprintf-tests: New file.
62484         * modules/unistdio/u16-vsnprintf-tests: New file.
62485         * modules/unistdio/u16-vsprintf-tests: New file.
62486         * modules/unistdio/u32-asnprintf-tests: New file.
62487         * modules/unistdio/u32-vasnprintf-tests: New file.
62488         * modules/unistdio/u32-vasprintf-tests: New file.
62489         * modules/unistdio/u32-vsnprintf-tests: New file.
62490         * modules/unistdio/u32-vsprintf-tests: New file.
62491         * MODULES.html.sh (Unicode string functions): Add the new modules.
62492
62493 2007-07-01  Bruno Haible  <bruno@clisp.org>
62494
62495         * lib/sprintf.c (sprintf): Limit the available length estimation,
62496         to avoid address wraparound.
62497         * lib/vsprintf.c (vsprintf): Likewise.
62498         * modules/sprintf-posix (Dependencies): Add stdint.
62499         * modules/vsprintf-posix (Dependencies): Likewise.
62500
62501 2007-07-01  Bruno Haible  <bruno@clisp.org>
62502
62503         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
62504         Windows PATH as well. Conservative double-quoting. Comments.
62505
62506 2007-07-01  Bruno Haible  <bruno@clisp.org>
62507             Eric Blake  <ebb9@byu.net>
62508             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62509
62510         * gnulib-tool (self_abspathname): Fix algorithm to cope with
62511         empty components in $PATH, denoting '.'.
62512
62513 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62514
62515         * gnulib-tool: Fix indentation.
62516         (func_create_megatestdir): Likewise.
62517         Report by Bruno Haible.
62518
62519 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62520
62521         Sync from Automake.
62522         * build-aux/gnupload: Fix shell portability issues with for loops.
62523         Report by Karl Berry.
62524
62525 2007-06-29  Simon Josefsson  <simon@josefsson.org>
62526
62527         * build-aux/maint.mk (POURL): Use translationproject.org.
62528
62529 2007-06-27  Simon Josefsson  <simon@josefsson.org>
62530             Bruno Haible  <bruno@clisp.org>
62531
62532         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
62533         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
62534         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
62535         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
62536         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
62537
62538 2007-06-27  Bruno Haible  <bruno@clisp.org>
62539
62540         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
62541         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
62542
62543 2007-06-26  Karl Berry  <karl@gnu.org>
62544
62545         * MODULES.html.sh: remove xreadlink-with-size.
62546
62547 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62548
62549         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
62550         method that I hope also handles the double-include problem noted
62551         by Bruno Haible in
62552         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
62553
62554 2007-06-23  Bruno Haible  <bruno@clisp.org>
62555
62556         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62557         Don't let the 'mostlyclean' target fail if the last subdirectory could
62558         not be removed.
62559         Reported by Karl Berry.
62560
62561 2007-06-23  Bruno Haible  <bruno@clisp.org>
62562
62563         * gnulib-tool (echo): Add a speedier workaround for ksh.
62564         * tests/test-echo.sh: Likewise.
62565
62566 2007-06-23  Bruno Haible  <bruno@clisp.org>
62567
62568         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
62569         * tests/test-echo.sh: Likewise.
62570
62571 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62572
62573         * gnulib-tool (IFS): Initialize early, so we don't set it to
62574         empty later.
62575         (self_abspathname): Rewrite algorithm to set it, reindent.
62576         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
62577         (func_create_megatestdir): Merge some sed scripts.
62578
62579 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62580
62581         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
62582         exposed by Sun Studio 11 cc on Solaris 8.
62583
62584 2007-06-22  Bruno Haible  <bruno@clisp.org>
62585
62586         * gnulib-tool (echo): Ensure the echo primitive does not interpret
62587         backslashes.
62588         * tests/test-echo.sh: New file.
62589
62590 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62591
62592         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
62593         simplify `sed_replace_build_aux' scripts, they are portable but
62594         echoing them with `echo' is not.
62595         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
62596
62597 2007-06-21  Karl Berry  <karl@gnu.org>
62598
62599         * config/srclist.txt: guess we can't handle the licenses via
62600         srclist at the moment.
62601
62602 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62603
62604         * MODULES.html.sh: Add include_next.
62605         * modules/include_next: New file.
62606
62607 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62608
62609         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
62610         INCLUDE_NEXT.
62611         (gl_CHECK_NEXT_HEADERS): New macro.
62612         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
62613         the obsolescent gl_ABSOLUTE_HEADER.
62614         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
62615         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
62616         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
62617         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
62618         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
62619         * m4/math_h.m4 (gl_MATH_H): Likewise.
62620         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
62621         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
62622         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
62623         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62624         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
62625         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
62626         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
62627         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
62628         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
62629         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
62630         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
62631         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
62632         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
62633         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
62634         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
62635         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62636         * m4/inttypes.m4 (gl_INTTYPES_H): Define
62637         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
62638         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
62639         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
62640         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
62641         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
62642         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
62643         * lib/float_.h: Likewise.
62644         * lib/inttypes_.h: Likewise.
62645         * lib/math_.h: Likewise.
62646         * lib/search_.h: Likewise.
62647         * lib/signal_.h: Likewise.
62648         * lib/stdint_.h: Likewise.
62649         * lib/stdio_.h: Likewise.
62650         * lib/stdlib_.h: Likewise.
62651         * lib/string_.h: Likewise.
62652         * lib/sys_stat_.h: Likewise.
62653         * lib/sys_time_.h: Likewise.
62654         * lib/time_.h: Likewise.
62655         * lib/unistd_.h: Likewise.
62656         * lib/wchar_.h: Likewise.
62657         * lib/wctype_.h: Likewise.
62658         * lib/dirent_.h: Likewise.
62659         * lib/iconv_.h: Likewise.
62660         * lib/locale_.h: Likewise.
62661         * lib/netinet_in_.h: Likewise.
62662         * lib/sys_select_.h: Likewise.
62663         * lib/sys_socket_.h: Likewise.
62664         * lib/sysexits_.h: Likewise.
62665         * modules/fcntl (Depends-on): Depend on include_next, not
62666         absolute_header.
62667         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
62668         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
62669         * modules/fchdir: Likewise.
62670         * modules/float: Likewise.
62671         * modules/iconv_open: Likewise.
62672         * modules/inttypes: Likewise.
62673         * modules/locale: Likewise.
62674         * modules/math: Likewise.
62675         * modules/netinet_in: Likewise.
62676         * modules/search: Likewise.
62677         * modules/signal: Likewise.
62678         * modules/stdint: Likewise.
62679         * modules/stdio: Likewise.
62680         * modules/stdlib: Likewise.
62681         * modules/string: Likewise.
62682         * modules/sys_select: Likewise.
62683         * modules/sys_socket: Likewise.
62684         * modules/sys_stat: Likewise.
62685         * modules/sys_time: Likewise.
62686         * modules/sysexits: Likewise.
62687         * modules/time: Likewise.
62688         * modules/unistd: Likewise.
62689         * modules/wchar: Likewise.
62690         * modules/wctype: Likewise.
62691         * modules/sys_stat: Change maintainer to "all".
62692         * modules/unistd: Likewise.
62693
62694 2007-06-20  Karl Berry  <karl@gnu.org>
62695
62696         * config/srclist.txt: track www changes in license files.
62697
62698 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
62699
62700         * build-aux/bootstrap: Remove stray dot.
62701         Make sure build_aux settings are honored when linking
62702         gnulib_extra_files.
62703
62704 2007-06-19  Eric Blake  <ebb9@byu.net>
62705
62706         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62707         Allow compilation on cygwin.
62708
62709 2007-06-19  Jim Meyering  <jim@meyering.net>
62710
62711         xreadlink-with-size: Remove module.  No longer used.
62712         Ex-callers now use xreadlink or mreadlink-with-size.
62713         * modules/xreadlink-with-size: Remove module.
62714         * lib/xreadlink-with-size.c: Remove file.
62715         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
62716         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
62717         just before the function definition *is* accurate.
62718
62719         Eliminate one way canonicalize_filename_mode could exit.
62720         * lib/canonicalize.c (canonicalize_filename_mode):
62721         Use mreadlink_with_size, not xreadlink_with_size.
62722
62723 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
62724
62725         Detect porting problems to FreeBSD/arm, which has time_t wider than
62726         long int.  Original problem reported for GNU diff by Xin Li in
62727         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
62728         * modules/getdate (Depends-on): Add intprops, verify.
62729         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
62730         is an integer type no wider than long int.
62731
62732 2007-06-18  Jim Meyering  <jim@meyering.net>
62733
62734         New module: mreadlink-with-size.
62735         * MODULES.html.sh: Add mreadlink-with-size.
62736         * modules/mreadlink-with-size: New module
62737         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
62738         not xreadlink-with-size.
62739         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
62740
62741 2007-06-16  Bruno Haible  <bruno@clisp.org>
62742
62743         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
62744         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
62745         Reported by Gary V. Vaughan <gary@gnu.org>.
62746
62747 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
62748
62749         Revamp lchown so that it lives in unistd.h where it belongs.
62750         * lib/lchown.h: Remove.
62751         * lib/dirchownmod.c: Don't include lib/lchown.h.
62752         * lib/fchownat.c: Likewise.
62753         * lib/openat.c: Likewise.
62754         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
62755         does not follow symlinks.
62756         (EOPNOTSUPP): Define if not defined.
62757         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
62758         is defined to 0.
62759         (lchown): New decl.
62760         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
62761         Do not check for lchown decl.
62762         Set REPLACE_LCHOWN.
62763         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
62764         REPLACE_LCHOWN.
62765         * modules/chown: Make it clear it follows symlinks.
62766         * modules/lchown: Make it clear it doesn't follow symlinks.
62767         (Files): Remove lib/lchown.h
62768         (Depends-on): Add unistd.
62769         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
62770         (Include): Include <unistd.h>, not "lchown.h".
62771         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
62772         REPLACE_LCHOWN.
62773
62774 2007-06-15  Jim Meyering  <jim@meyering.net>
62775
62776         Change license (GPL to LGPL) of fsusage and dependents.
62777         * modules/fsusage (License): Change to LGPL.
62778         * modules/full-read (License): Likewise.
62779         * modules/full-write (License): Likewise.
62780         * modules/safe-read (License): Likewise.
62781         * modules/safe-write (License): Likewise.
62782
62783 2007-06-14  Ben Pfaff  <blp@gnu.org>
62784
62785         Missing part of allocsa -> malloca transition.
62786         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
62787         gl_MALLOCA.
62788
62789 2007-06-12  Bruno Haible  <bruno@clisp.org>
62790
62791         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
62792         to ia64, x86_64, i386.
62793         Reported by Eric Blake.
62794
62795 2007-06-12  Bruno Haible  <bruno@clisp.org>
62796
62797         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
62798         cross-compiling to x86_64.
62799
62800 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
62801
62802         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
62803         glitch reported by Ralf Wildenhues in
62804         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
62805
62806         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
62807         Vin Shelton.
62808
62809 2007-06-11  Bruno Haible  <bruno@clisp.org>
62810
62811         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
62812         replacement string.
62813         Reported by Eric Blake.
62814
62815 2007-06-10  Bruno Haible  <bruno@clisp.org>
62816
62817         Prepare vasnprintf code for use with Unicode strings.
62818         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
62819         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
62820         TYPE_U32_STRING.
62821         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
62822         a_u32_string variants.
62823         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62824         * lib/printf-args.c: Don't include config.h and the specification
62825         header if PRINTF_FETCHARGS is already defined.
62826         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62827         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
62828         TYPE_U16_STRING, TYPE_U32_STRING.
62829         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
62830         u16_directive, u16_directives, u32_directive, u32_directives): New
62831         types.
62832         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
62833         New declarations.
62834         * lib/printf-parse.c: Don't include config.h and the specification
62835         header if PRINTF_PARSE is already defined. Eliminate the set of
62836         parameters for WIDE_CHAR_VERSION; the user of this file must provide
62837         them now. Include c-ctype.h.
62838         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
62839         directive and CHAR_T_ONLY_ASCII.
62840         * lib/vasnprintf.c: Don't include config.h and the specification header
62841         if VASNPRINTF is already defined.
62842         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
62843         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
62844         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
62845         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
62846         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
62847         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
62848         code accordingly.
62849         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
62850         pad_ourselves also in this case, with the 'c' and 's' directives, and
62851         with a different notion of "width".
62852         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
62853
62854 2007-06-10  Bruno Haible  <bruno@clisp.org>
62855
62856         * modules/unistr/u32-mbsnlen: New file.
62857         * lib/unistr/u32-mbsnlen.c: New file.
62858
62859         * modules/unistr/u16-mbsnlen: New file.
62860         * lib/unistr/u16-mbsnlen.c: New file.
62861
62862         * modules/unistr/u8-mbsnlen: New file.
62863         * lib/unistr/u8-mbsnlen.c: New file.
62864
62865         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
62866         declarations.
62867
62868 2007-06-10  Bruno Haible  <bruno@clisp.org>
62869
62870         * lib/string_.h (mbsnlen): New declaration.
62871         * lib/mbsnlen.c: New file.
62872         * m4/mbsnlen.m4: New file.
62873         * modules/mbsnlen: New file.
62874         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
62875         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
62876         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
62877
62878 2007-06-10  Bruno Haible  <bruno@clisp.org>
62879
62880         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
62881
62882 2007-06-10  Bruno Haible  <bruno@clisp.org>
62883
62884         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
62885         * lib/mbuiter.h: Likewise.
62886
62887 2007-06-10  Bruno Haible  <bruno@clisp.org>
62888
62889         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
62890         declaration.
62891
62892 2007-06-10  Karl Berry  <karl@gnu.org>
62893
62894         * config/srclist.txt: remove gettext entries, Bruno prefers
62895         to update individually.
62896
62897 2007-06-10  Bruno Haible  <bruno@clisp.org>
62898
62899         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
62900         'maxlen'. Ensure only length + width bytes are allocated, not
62901         length + 1 + width.
62902
62903 2007-06-09  Bruno Haible  <bruno@clisp.org>
62904
62905         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
62906         (CHAR_T): Remove macro.
62907         (VASNPRINTF): Update.
62908
62909 2007-06-09  Bruno Haible  <bruno@clisp.org>
62910
62911         * MODULES.html.sh (Unicode string functions): Add the new modules.
62912
62913         * modules/uniconv/u32-conv-to-enc: New file.
62914         * lib/uniconv/u32-conv-to-enc.c: New file.
62915         * modules/uniconv/u32-conv-to-enc-tests: New file.
62916         * tests/uniconv/test-u32-conv-to-enc.c: New file.
62917
62918         * modules/uniconv/u16-conv-to-enc: New file.
62919         * lib/uniconv/u16-conv-to-enc.c: New file.
62920         * lib/uniconv/u-conv-to-enc.h: New file.
62921         * modules/uniconv/u16-conv-to-enc-tests: New file.
62922         * tests/uniconv/test-u16-conv-to-enc.c: New file.
62923
62924         * modules/uniconv/u8-conv-to-enc: New file.
62925         * lib/uniconv/u8-conv-to-enc.c: New file.
62926         * modules/uniconv/u8-conv-to-enc-tests: New file.
62927         * tests/uniconv/test-u8-conv-to-enc.c: New file.
62928
62929         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
62930         u32_conv_to_encoding): New declarations.
62931
62932 2007-06-09  Bruno Haible  <bruno@clisp.org>
62933
62934         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
62935
62936 2007-06-09  Bruno Haible  <bruno@clisp.org>
62937
62938         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
62939         * modules/malloca: Renamed from modules/allocsa, updated.
62940         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
62941         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
62942         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
62943         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
62944         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
62945         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
62946         * modules/xmalloca: Renamed from modules/xallocsa, updated.
62947         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
62948         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
62949         * modules/c-strcasestr (Depends-on): Update.
62950         * lib/c-strcasestr.c: Update.
62951         * modules/c-strstr (Depends-on): Update.
62952         * lib/c-strstr.c: Update.
62953         * modules/canonicalize-lgpl (Depends-on): Update.
62954         * lib/canonicalize-lgpl.c: Update.
62955         * modules/clean-temp (Depends-on): Update.
62956         * lib/clean-temp.c: Update.
62957         * modules/csharpcomp (Depends-on): Update.
62958         * lib/csharpcomp.c: Update.
62959         * modules/csharpexec (Depends-on): Update.
62960         * lib/csharpexec.c: Update.
62961         * modules/javacomp (Depends-on): Update.
62962         * lib/javacomp.c: Update.
62963         * modules/javaexec (Depends-on): Update.
62964         * lib/javaexec.c: Update.
62965         * modules/mbscasestr (Depends-on): Update.
62966         * lib/mbscasestr.c: Update.
62967         * modules/mbsstr (Depends-on): Update.
62968         * lib/mbsstr.c: Update.
62969         * modules/setenv (Depends-on): Update.
62970         * lib/setenv.c: Update.
62971         * modules/strcasestr (Depends-on): Update.
62972         * lib/strcasestr.c: Update.
62973         * modules/striconveha (Depends-on): Update.
62974         * lib/striconveha.c: Update.
62975         * modules/relocatable-prog-wrapper (Files): Update.
62976         * lib/relocwrapper.c: Update.
62977         * build-aux/install-reloc: Update.
62978         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
62979
62980 2007-06-08  Bruno Haible  <bruno@clisp.org>
62981
62982         Port to uClibc.
62983         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
62984         * lib/fpurge.c (fpurge): Likewise.
62985         * lib/freading.c (freading): Likewise.
62986         * lib/fseeko.c (rpl_fseeko): Likewise.
62987         * lib/fseterr.c (fseterr): Likewise.
62988         * lib/fwriting.c (fwriting): Likewise.
62989         * tests/test-fflush.c (main): Avoid a failure on uClibc.
62990
62991 2007-06-08  Bruno Haible  <bruno@clisp.org>
62992
62993         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
62994         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
62995         * modules/gettext (Files): Add m4/intlmacosx.m4.
62996
62997 2007-06-07  Bruno Haible  <bruno@clisp.org>
62998
62999         * modules/localename-tests: New file.
63000         * tests/test-localename.c: New file.
63001
63002         New module 'localename'.
63003         * lib/localename.h: New file.
63004         * lib/localename.c: New file, from GNU gettext.
63005         * m4/localename.m4: New file.
63006         * modules/localename: New file.
63007
63008 2007-06-07  Bruno Haible  <bruno@clisp.org>
63009
63010         Work around the lack of <wchar.h> on some builds of uClibc.
63011         * doc/headers/wchar.texi: Update.
63012         * lib/wchar_.h: Include <wchar.h> only if it exists.
63013         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
63014         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
63015         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
63016         doesn't exist.
63017         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
63018         * modules/mbfile (Depends-on): Add wchar.
63019         * modules/mbiter (Depends-on): Likewise.
63020         * modules/mbuiter (Depends-on): Likewise.
63021         Reported by Simon Josefsson.
63022
63023 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
63024
63025         Work around problem reported by Steven M. Schweda in
63026         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
63027         Tru64 5.1B with the Compaq compiler environment installed declares
63028         an 'isblank' function but does not define it in the C library.
63029         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
63030         * lib/regex_internal.h (isblank): Likewise.
63031         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
63032         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
63033
63034 2007-06-05  Bruno Haible  <bruno@clisp.org>
63035
63036         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
63037         ia64.
63038         * modules/printf-safe: New file.
63039         * modules/fprintf-posix (Depends-on): Add printf-safe.
63040         * modules/printf-posix (Depends-on): Likewise.
63041         * modules/snprintf-posix (Depends-on): Likewise.
63042         * modules/sprintf-posix (Depends-on): Likewise.
63043         * modules/vasnprintf-posix (Depends-on): Likewise.
63044         * modules/vasprintf-posix (Depends-on): Likewise.
63045         * modules/vfprintf-posix (Depends-on): Likewise.
63046         * modules/vprintf-posix (Depends-on): Likewise.
63047         * modules/vsnprintf-posix (Depends-on): Likewise.
63048         * modules/vsprintf-posix (Depends-on): Likewise.
63049         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
63050         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
63051         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
63052         "no" on i386, x86_64, ia64.
63053         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
63054         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63055         on i386, x86_64, ia64.
63056         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
63057         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63058         on i386, x86_64, ia64.
63059         * tests/test-vasnprintf-posix.c: Include float.h.
63060         (LDBL80_WORDS): New macro.
63061         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63062         on i386, x86_64, ia64.
63063         * tests/test-vasprintf-posix.c: Include float.h.
63064         (LDBL80_WORDS): New macro.
63065         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63066         on i386, x86_64, ia64.
63067         * tests/test-snprintf-posix.c: Include float.h.
63068         * tests/test-sprintf-posix.c: Likewise.
63069         * tests/test-vsnprintf-posix.c: Likewise.
63070         * tests/test-vsprintf-posix.c: Likewise.
63071
63072 2007-06-05  Bruno Haible  <bruno@clisp.org>
63073
63074         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
63075         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
63076         non-IEEE numbers on i386, x86_64, ia64.
63077         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
63078         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
63079         * tests/test-isnanl.h: Include float.h.
63080         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
63081
63082 2007-06-05  Bruno Haible  <bruno@clisp.org>
63083
63084         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
63085         also the %a / %A. Handle the %a / %A code before this extra handling.
63086
63087 2007-06-05  Bruno Haible  <bruno@clisp.org>
63088
63089         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
63090         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
63091
63092 2007-06-05  Bruno Haible  <bruno@clisp.org>
63093
63094         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
63095         typo in variable name.
63096
63097 2007-06-05  Eric Blake  <ebb9@byu.net>
63098
63099         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
63100         Reported by Simon Josefsson.
63101
63102 2007-06-04  Bruno Haible  <bruno@clisp.org>
63103
63104         Avoid test failures on some PowerPC platforms.
63105         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
63106         Define differently for PowerPC.
63107         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
63108         Reported by Gary V. Vaughan <gary@gnu.org>.
63109
63110 2007-06-02  Bruno Haible  <bruno@clisp.org>
63111
63112         Fix test-stdint failure on FreeBSD/ia64.
63113         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
63114         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
63115         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
63116         * doc/headers/stdint.texi: Update.
63117
63118 2007-06-01  Bruno Haible  <bruno@clisp.org>
63119
63120         * tests/test-binary-io.c (main): Pass a third argument to open().
63121         Reported by Gary V. Vaughan <gary@gnu.org>.
63122
63123 2007-06-01  Bruno Haible  <bruno@clisp.org>
63124
63125         * doc/functions/frexpl.texi: Update for mingw.
63126
63127 2007-06-01  Bruno Haible  <bruno@clisp.org>
63128
63129         * tests/test-lseek.c (main): Disable test of errno for invalid third
63130         argument.
63131         * doc/functions/lseek.texi: Update.
63132         Reported by Gary V. Vaughan <gary@gnu.org>.
63133
63134 2007-05-28  Bruno Haible  <bruno@clisp.org>
63135
63136         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
63137
63138 2007-05-31  Eric Blake  <ebb9@byu.net>
63139
63140         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
63141         cross compiling.
63142
63143 2007-05-30  Eric Blake  <ebb9@byu.net>
63144         and Bruno Haible  <bruno@clisp.org>
63145
63146         Work around mingw test failures exposed by m4-1.4.9b.
63147         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
63148         * tests/test-unistd.c: Disable uid_t and git_t tests for the
63149         moment.
63150
63151 2007-05-30  Bruno Haible  <bruno@clisp.org>
63152
63153         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
63154         assuming that they are closed. Needed on HP-UX 11.
63155
63156 2007-05-29  Bruno Haible  <bruno@clisp.org>
63157
63158         Fix a problem with #include_next.
63159         * lib/dirent_.h: Split the double-inclusion guard.
63160         * lib/fcntl_.h: Likewise.
63161         * lib/float_.h: Likewise.
63162         * lib/iconv_.h: Likewise.
63163         * lib/inttypes_.h: Likewise.
63164         * lib/locale_.h: Likewise.
63165         * lib/math_.h: Likewise.
63166         * lib/netinet_in_.h: Likewise.
63167         * lib/search_.h: Likewise.
63168         * lib/signal_.h: Likewise.
63169         * lib/stdint_.h: Likewise.
63170         * lib/stdio_.h: Likewise.
63171         * lib/stdlib_.h: Likewise.
63172         * lib/string_.h: Likewise.
63173         * lib/sys_select_.h: Likewise.
63174         * lib/sys_socket_.h: Likewise.
63175         * lib/sys_stat_.h: Likewise.
63176         * lib/sys_time_.h: Likewise.
63177         * lib/sysexits_.h: Likewise.
63178         * lib/time_.h: Likewise.
63179         * lib/unistd_.h: Likewise.
63180         * lib/wchar_.h: Likewise.
63181         * lib/wctype_.h: Likewise.
63182
63183 2007-05-29  Bruno Haible  <bruno@clisp.org>
63184
63185         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
63186         for the moment.
63187
63188 2007-05-29  Bruno Haible  <bruno@clisp.org>
63189
63190         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
63191         invocation.
63192         Reported by Eric Blake.
63193
63194 2007-05-29  Bruno Haible  <bruno@clisp.org>
63195
63196         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
63197         compiling case.
63198
63199 2007-05-29  Eric Blake  <ebb9@byu.net>
63200             Bruno Haible  <bruno@clisp.org>
63201
63202         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
63203         cross compiles.
63204
63205 2007-05-28  Eric Blake  <ebb9@byu.net>
63206
63207         * modules/closein-tests (test_closein_LDADD): Support test on
63208         cygwin with libtool.
63209
63210 2007-05-28  Bruno Haible  <bruno@clisp.org>
63211
63212         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
63213         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63214         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63215         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63216         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63217         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63218         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63219         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63220         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63221
63222 2007-05-28  Eric Blake  <ebb9@byu.net>
63223
63224         Unconditionally include <config.h> in unit tests.
63225         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
63226         * tests/test-allocsa.c, tests/test-arcfour.c,
63227         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
63228         tests/test-array_list.c, tests/test-array_oset.c,
63229         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
63230         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
63231         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
63232         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
63233         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
63234         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
63235         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
63236         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
63237         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
63238         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
63239         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
63240         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
63241         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
63242         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
63243         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
63244         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
63245         test-md5.c, test-memmem.c, test-printf-posix.c,
63246         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
63247         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
63248         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
63249         test-strcasestr.c, test-striconv.c, test-striconveh.c,
63250         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
63251         test-vasnprintf-posix2.c, test-vasnprintf.c,
63252         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
63253         test-vfprintf-posix.c, test-vprintf-posix.c,
63254         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
63255         test-xvasprintf.c: Likewise.
63256
63257 2007-05-28  Bruno Haible  <bruno@clisp.org>
63258
63259         * gnulib-tool (func_import): Remember the --with-tests command-line
63260         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
63261         Reported by Eric Blake.
63262
63263 2007-05-28  Bruno Haible  <bruno@clisp.org>
63264
63265         * modules/ftell-tests: New file.
63266         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
63267         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
63268
63269         * lib/ftell.c: New file.
63270         * modules/ftell: New file.
63271         * m4/ftell.m4: New file.
63272         * doc/functions/ftell.texi: Update.
63273         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
63274         REPLACE_FTELL.
63275         * lib/stdio_.h (rpl_ftell): New declaration.
63276         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
63277         REPLACE_FTELL.
63278
63279 2007-05-28  Eric Blake  <ebb9@byu.net>
63280
63281         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
63282
63283 2007-05-28  Bruno Haible  <bruno@clisp.org>
63284
63285         * modules/fseek-tests: New file.
63286         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
63287         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
63288
63289         * lib/fseek.c: New file.
63290         * modules/fseek: New file.
63291         * m4/fseek.m4: New file.
63292         * doc/functions/fseek.texi: Update.
63293         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
63294         REPLACE_FSEEK.
63295         * lib/stdio_.h (rpl_fseek): New declaration.
63296         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
63297         REPLACE_FSEEK.
63298
63299 2007-05-28  Bruno Haible  <bruno@clisp.org>
63300
63301         * lib/stdio_.h (fflush): More comments.
63302
63303 2007-05-28  Bruno Haible  <bruno@clisp.org>
63304
63305         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
63306         runtime test.
63307
63308 2007-05-28  Eric Blake  <ebb9@byu.net>
63309
63310         Improve lseek module.
63311         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
63312         * lib/unistd_.h (lseek): Scale back link warning message.
63313         * tests/test-lseek.c: Beef up test.
63314         * tests/test-lseek.sh: Exercise more facets of lseek.
63315         Reported by Bruno Haible.
63316
63317 2007-05-28  Bruno Haible  <bruno@clisp.org>
63318
63319         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
63320         to define.
63321
63322 2007-05-27  Bruno Haible  <bruno@clisp.org>
63323
63324         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
63325
63326 2007-05-27  Bruno Haible  <bruno@clisp.org>
63327
63328         * modules/openmp: New file.
63329         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
63330         Noah Misch.
63331
63332 2007-05-26  Bruno Haible  <bruno@clisp.org>
63333
63334         * modules/chdir-long (Depends-on): Add fchdir.
63335         * modules/chdir-safer (Depends-on): Likewise.
63336         * modules/fts (Depends-on): Likewise.
63337         * modules/fts-lgpl (Depends-on): Likewise.
63338         * modules/openat (Depends-on): Likewise.
63339         * modules/savewd (Depends-on): Likewise.
63340
63341 2007-05-24  Eric Blake  <ebb9@byu.net>
63342
63343         Fix lseek on mingw.
63344         * modules/lseek: New module.
63345         * m4/lseek.m4: New file.
63346         * lib/lseek.c: New file.
63347         * modules/lseek-tests: New file.
63348         * tests/test-lseek.c: New file.
63349         * tests/test-lseek.sh: New file.
63350         * MODULES.html.sh: Document lseek module.
63351         * modules/fflush (Depends-on): Add lseek, fseeko.
63352         * modules/fseeko (Depends-on): Likewise.
63353         * modules/ftello (Depends-on): Likewise.
63354         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
63355         broken.
63356         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
63357         broken.
63358         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
63359         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
63360         * lib/ftello.c (rpl_ftello): Likewise.
63361         * tests/test-fseeko.c (main): Test this.
63362         * tests/test-fseeko.sh: Likewise.
63363         * tests/test-ftello.c (main): Likewise.
63364         * tests/test-ftello.sh: Likewise.
63365         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
63366         implies replacing fseek.
63367         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
63368         HAVE_FTELLO.
63369         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
63370         * modules/unistd (Makefile.am): Likewise.
63371         * lib/unistd_.h (lseek): Declare a replacement.
63372         * doc/functions/lseek.texi (lseek): Document this fix.
63373         * doc/functions/fseek.texi (fseek): Likewise.
63374         * doc/functions/ftell.texi (ftell): Likewise.
63375
63376 2007-05-24  Bruno Haible  <bruno@clisp.org>
63377
63378         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
63379         in the printed representation of a NaN.
63380         * tests/test-vasprintf-posix.c (test_function): Likewise.
63381         * tests/test-snprintf-posix.h (test_function): Likewise.
63382         * tests/test-sprintf-posix.h (test_function): Likewise.
63383         Reported by Eric Blake.
63384
63385 2007-05-23  Eric Blake  <ebb9@byu.net>
63386
63387         Fix fseeko/ftello on cygwin 1.5.24.
63388         * doc/functions/fseeko.texi (fseeko): Document the fix.
63389         * doc/functions/ftello.texi (ftello): Document the fix.
63390         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
63391         * doc/functions/stdout.text (stdout): New file.
63392         * doc/functions/stderr.text (stderr): New file.
63393         * doc/gnulib.texi (Function Substitutes): Use new files.
63394         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
63395         prior to 1.7.0.
63396         * tests/test-ftello.c (main): Likewise for ftello.
63397         * tests/test-fseeko.sh: New file.
63398         * tests/test-ftello.sh: New file.
63399         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
63400         with seekable stdin.
63401         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
63402         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
63403         (gl_REPLACE_FSEEKO): New macro.
63404         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
63405         * modules/fseeko (Files): Distribute fseeko.c.
63406         * modules/ftello (Files): Distribute ftello.c.
63407         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
63408         mode.
63409         * lib/ftello.c (rpl_ftello): New file.
63410         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
63411         fseeko, ftello.
63412         (gl_STDIN_LARGE_OFFSET): New macro.
63413         * modules/stdio (Makefile.am): Perform the replacement.
63414         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
63415
63416 2007-05-23  Bruno Haible  <bruno@clisp.org>
63417
63418         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
63419         GNULIB_POSIXCHECK is defined.
63420
63421 2007-05-21  Bruno Haible  <bruno@clisp.org>
63422
63423         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
63424         Check also the output for NaN arguments. When cross-compiling, guess
63425         no on IRIX.
63426         * lib/vasnprintf.c: Update comments.
63427         * tests/test-vasnprintf-posix.c (strisnan): New function.
63428         (test_function): Use it.
63429         * tests/test-vasprintf-posix.c (strisnan): New function.
63430         (test_function): Use it.
63431         * tests/test-snprintf-posix.h (strisnan): New function.
63432         (test_function): Use it.
63433         * tests/test-sprintf-posix.h (strisnan): New function.
63434         (test_function): Use it.
63435         Reported by Eric Blake.
63436
63437 2007-05-20  Bruno Haible  <bruno@clisp.org>
63438
63439         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
63440         numbers that fails on BeOS.
63441         * doc/functions/frexpl.texi: Update.
63442
63443 2007-05-20  Jim Meyering  <jim@meyering.net>
63444
63445         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
63446         forced upon us by glibc-2.6.
63447
63448 2007-05-20  Bruno Haible  <bruno@clisp.org>
63449
63450         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
63451         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
63452         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
63453         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
63454         NEED_PRINTF_INFINITE.
63455         (is_infinitel): New function.
63456         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
63457         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
63458         gl_PREREQ_VASNPRINTF_INFINITE.
63459         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
63460         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63461         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
63462         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
63463         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
63464         gl_PREREQ_VASNPRINTF_INFINITE.
63465         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63466         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63467         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63468         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63469         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63470         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63471         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63472         * doc/functions/fprintf.texi: Update.
63473         * doc/functions/printf.texi: Update.
63474         * doc/functions/snprintf.texi: Update.
63475         * doc/functions/sprintf.texi: Update.
63476         * doc/functions/vfprintf.texi: Update.
63477         * doc/functions/vprintf.texi: Update.
63478         * doc/functions/vsnprintf.texi: Update.
63479         * doc/functions/vsprintf.texi: Update.
63480
63481 2007-05-20  Bruno Haible  <bruno@clisp.org>
63482
63483         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
63484         was not found in libc.
63485         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
63486
63487 2007-05-20  Bruno Haible  <bruno@clisp.org>
63488
63489         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63490         printed as "-nan" instead of "nan".
63491         * tests/test-vasprintf-posix.c (test_function): Likewise.
63492         * tests/test-snprintf-posix.h (test_function): Likewise.
63493         * tests/test-sprintf-posix.h (test_function): Likewise.
63494         Needed for HP-UX 11.
63495
63496 2007-05-20  Jim Meyering  <jim@meyering.net>
63497
63498         Fix buggy test for the fchownat-deref bug.
63499         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
63500         symlink required for the run-test.  Without it, this test would
63501         always declare that fchownat doesn't work, and client code would
63502         unnecessarily use the replacement function with fixed libc.
63503         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
63504         Reported by Greg Schafer.
63505
63506 2007-05-19  Bruno Haible  <bruno@clisp.org>
63507
63508         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
63509         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
63510         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
63511         Needed for IRIX 6.5 and Solaris 2.5.1.
63512
63513 2007-05-19  Bruno Haible  <bruno@clisp.org>
63514
63515         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
63516         (test_function): Skip tests involving -0.0 on platforms where
63517         -0.0 = 0.0.
63518         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
63519         (test_function): Skip tests involving -0.0 on platforms where
63520         -0.0 = 0.0.
63521         * tests/test-snprintf-posix.h (have_minus_zero): New function.
63522         (test_function): Skip tests involving -0.0 on platforms where
63523         -0.0 = 0.0.
63524         * tests/test-sprintf-posix.h (have_minus_zero): New function.
63525         (test_function): Skip tests involving -0.0 on platforms where
63526         -0.0 = 0.0.
63527         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
63528         tests.
63529         * tests/test-printf-posix.h (test_function): Likewise.
63530         * tests/test-printf-posix.output: Remove all -0.0 related results.
63531         Needed for IRIX 6.5.
63532
63533 2007-05-19  Bruno Haible  <bruno@clisp.org>
63534
63535         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63536         printed as "nan0x7fffffff" instead of "nan".
63537         * tests/test-vasprintf-posix.c (test_function): Likewise.
63538         * tests/test-snprintf-posix.h (test_function): Likewise.
63539         * tests/test-sprintf-posix.h (test_function): Likewise.
63540         * tests/test-fprintf-posix.h (NaN): Remove macro.
63541         (test_function): Remove all NaN related tests.
63542         * tests/test-printf-posix.h (NaN): Remove macro.
63543         (test_function): Remove all NaN related tests.
63544         * tests/test-printf-posix.output: Remove all NaN related results.
63545         Needed for IRIX 6.5.
63546
63547 2007-05-19  Bruno Haible  <bruno@clisp.org>
63548
63549         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
63550         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63551
63552 2007-05-19  Bruno Haible  <bruno@clisp.org>
63553
63554         * lib/float_.h: New file.
63555         * m4/float_h.m4: New file.
63556         * modules/float: New file.
63557         * modules/isnanl (Dependencies): Add float.
63558         * modules/isnanl-nolibm (Dependencies): Likewise.
63559         * modules/mathl (Dependencies): Likewise.
63560         * modules/printf-frexpl (Dependencies): Likewise.
63561         * modules/signbit (Dependencies): Likewise.
63562         * modules/vasnprintf (Dependencies): Likewise.
63563         * doc/headers/float.texi: Update.
63564
63565 2007-05-19  Jim Meyering  <jim@meyering.net>
63566
63567         * lib/utimens.c (gl_futimens): Rename from futimens,
63568         now that glibc-2.6 declares futimens.
63569         * lib/utimens.h: Likewise.
63570
63571 2007-05-19  Bruno Haible  <bruno@clisp.org>
63572
63573         Avoid test failures on mingw.
63574         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
63575         * tests/test-printf-posix.sh: Likewise.
63576         * tests/test-vfprintf-posix.sh: Likewise.
63577         * tests/test-vprintf-posix.sh: Likewise.
63578
63579 2007-05-19  Bruno Haible  <bruno@clisp.org>
63580
63581         Fix *printf result for NaN, Inf, -0.0 on mingw.
63582         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
63583         * lib/vasnprintf.c: Include math.h and isnan.h.
63584         (is_infinite_or_zero): New function.
63585         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
63586         values in the %f, %F, %e, %E, %g, %G directives.
63587         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
63588         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63589         gl_PRINTF_INFINITE and test its result. Invoke
63590         gl_PREREQ_VASNPRINTF_INFINITE.
63591         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63592         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63593         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63594         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63595         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63596         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63597         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63598         * doc/functions/fprintf.texi: Update.
63599         * doc/functions/printf.texi: Update.
63600         * doc/functions/snprintf.texi: Update.
63601         * doc/functions/sprintf.texi: Update.
63602         * doc/functions/vfprintf.texi: Update.
63603         * doc/functions/vprintf.texi: Update.
63604         * doc/functions/vsnprintf.texi: Update.
63605         * doc/functions/vsprintf.texi: Update.
63606
63607 2007-05-19  Bruno Haible  <bruno@clisp.org>
63608
63609         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
63610         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
63611         Instead of multiplying with 10^k, set extra_zeroes to k.
63612         (scale10_round_long_double): Remove function.
63613
63614 2007-05-18  Bruno Haible  <bruno@clisp.org>
63615
63616         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
63617         introduced on 2007-05-06.
63618
63619 2007-05-18  Bruno Haible  <bruno@clisp.org>
63620
63621         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
63622         %g directives.
63623         * tests/test-vasprintf-posix.c (test_function): Likewise.
63624         * tests/test-snprintf-posix.h (test_function): Likewise.
63625         * tests/test-sprintf-posix.h (test_function): Likewise.
63626
63627 2007-05-18  Bruno Haible  <bruno@clisp.org>
63628
63629         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
63630         (strmatch): New function.
63631         (test_function): Test the %f directive on numbers of various exponents.
63632         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
63633         (strmatch): New function.
63634         (test_function): Test the %f directive on numbers of various exponents.
63635         * tests/test-snprintf-posix.h (strmatch): New function.
63636         (test_function): Test the %f directive on numbers of various exponents.
63637         * tests/test-sprintf-posix.h (strmatch): New function.
63638         (test_function): Test the %f directive on numbers of various exponents.
63639         * tests/test-snprintf-posix.c (SIZEOF): New macro.
63640         * tests/test-sprintf-posix.c (SIZEOF): New macro.
63641         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
63642         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
63643
63644 2007-05-18  Bruno Haible  <bruno@clisp.org>
63645
63646         Add support for 'long double' number output.
63647         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
63648         * lib/vasnprintf.c: Include math.h and float+.h.
63649         (mp_limb_t): New type.
63650         (GMP_LIMB_BITS): New macro.
63651         (mp_twolimb_t): New type.
63652         (GMP_TWOLIMB_BITS): New macro.
63653         (mpn_t): New type.
63654         (multiply, divide, convert_to_decimal, decode_long_double,
63655         scale10_round_long_double, scale10_round_decimal_long_double,
63656         floorlog10l): New functions.
63657         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
63658         for the %f, %F, %e, %E, %g, %G directives.
63659         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
63660         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63661         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
63662         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
63663         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63664         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63665         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63666         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63667         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63668         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63669         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63670         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
63671         * modules/snprintf-posix (Depends-on): Likewise.
63672         * modules/sprintf-posix (Depends-on): Likewise.
63673         * modules/vasnprintf-posix (Depends-on): Likewise.
63674         * modules/vasprintf-posix (Depends-on): Likewise.
63675         * modules/vfprintf-posix (Depends-on): Likewise.
63676         * modules/vsnprintf-posix (Depends-on): Likewise.
63677         * modules/vsprintf-posix (Depends-on): Likewise.
63678         * modules/vasnprintf (Files): Add lib/float+.h.
63679         * doc/functions/fprintf.texi: Update.
63680         * doc/functions/printf.texi: Update.
63681         * doc/functions/snprintf.texi: Update.
63682         * doc/functions/sprintf.texi: Update.
63683         * doc/functions/vfprintf.texi: Update.
63684         * doc/functions/vprintf.texi: Update.
63685         * doc/functions/vsnprintf.texi: Update.
63686         * doc/functions/vsprintf.texi: Update.
63687
63688 2007-05-18  Bruno Haible  <bruno@clisp.org>
63689
63690         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
63691
63692 2007-05-18  Bruno Haible  <bruno@clisp.org>
63693
63694         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
63695         for printing 64-bit integers. Needed for mingw.
63696
63697 2007-05-18  Bruno Haible  <bruno@clisp.org>
63698
63699         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63700         gl_FUNC_FREXPL_WORKS.
63701         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
63702
63703 2007-05-18  Bruno Haible  <bruno@clisp.org>
63704
63705         * modules/frexpl-nolibm-tests: New file.
63706
63707         * modules/frexpl-nolibm: New file.
63708         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
63709
63710 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63711
63712         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
63713         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63714         GCC 4.2, which otherwise issues a lot of warnings.
63715         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
63716         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
63717         Likewise.
63718         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
63719         * modules/iconv_open (iconv.h): Likewise.
63720         * modules/locale (locale.h): Likewise.
63721         * modules/netinet_in (netinet/in.h): Likewise.
63722         * modules/sys_select (sys_select.h): Likewise.
63723         * modules/sys_socket (sys/socket.h): Likewise.
63724         * modules/sys_stat (sys/stat.h): Likewise.
63725         * modules/sysexits (sysexits.h): Likewise.
63726         * modules/unistd (unistd.h): Likewise.
63727
63728 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63729
63730         * modules/closein-tests (Makefile.am): Distribute
63731         `test-closein.sh'.
63732
63733 2007-05-17  Bruno Haible  <bruno@clisp.org>
63734
63735         * tests/test-printf-posix.output: Renamed from
63736         tests/test-fprintf-posix.out.
63737         * modules/fprintf-posix-tests: Update.
63738         * modules/printf-posix-tests: Update.
63739         * modules/vfprintf-posix-tests: Update.
63740         * modules/vprintf-posix-tests: Update.
63741         * tests/test-fprintf-posix.sh: Update.
63742         * tests/test-printf-posix.sh: Update.
63743         * tests/test-vfprintf-posix.sh: Update.
63744         * tests/test-vprintf-posix.sh: Update.
63745         Reported by Ralf Wildenhues.
63746
63747 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63748
63749         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
63750         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63751         GCC 4.2, which otherwise issues a lot of warnings.
63752         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
63753         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
63754         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
63755         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
63756         it should no longer be needed.
63757         * lib/string_.h: Likewise.
63758         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
63759         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
63760         * modules/inttypes (inttypes.h): Likewise.
63761         * modules/math (math.h): Likewise.
63762         * modules/search (search.h): Likewise.
63763         * modules/signal (signal.h): Likewise.
63764         * modules/stdint (stdint.h): Likewise.
63765         * modules/stdio (stdio.h): Likewise.
63766         * modules/stdlib (stdlib.h): Likewise.
63767         * modules/string (string.h): Likewise.
63768         * modules/sys_time (sys/time.h): Likewise.
63769         * modules/time (time.h): Likewise.
63770         * modules/wchar (wchar.h): Likewise.
63771         * modules/wctype (wtype.h): Likewise.
63772
63773 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63774
63775         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
63776
63777 2007-05-13  Bruno Haible  <bruno@clisp.org>
63778
63779         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
63780         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63781         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
63782         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63783         (gl_PREREQ_STRTOK_R): Don't require it here.
63784
63785 2007-05-13  Bruno Haible  <bruno@clisp.org>
63786
63787         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
63788         when used in C++ mode.
63789
63790 2007-05-12  Bruno Haible  <bruno@clisp.org>
63791
63792         * lib/linebuffer.h: Tweak doc.
63793         * lib/linebuffer.c: Likewise.
63794
63795 2007-05-12  James Youngman  <jay@gnu.org>
63796
63797         * lib/linebuffer.c (readlinebuffer_delim): New function,
63798         like readlinebuffer, but use a caller-specified delimiter.
63799         (readlinebuffer): Just call readlinebuffer_delim with '\n'
63800         as the delimiter.
63801         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
63802
63803 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63804
63805         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
63806         * modules/openat (Files): Remove openat-die.c.
63807         (Depends-on): Add openat-die.
63808         * modules/openat-die: New module.
63809
63810 2007-05-06  Bruno Haible  <bruno@clisp.org>
63811
63812         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
63813         Update with info about Cygwin.
63814         * doc/functions/fprintf.texi: Update.
63815         * doc/functions/printf.texi: Update.
63816         * doc/functions/snprintf.texi: Update.
63817         * doc/functions/sprintf.texi: Update.
63818         * doc/functions/vfprintf.texi: Update.
63819         * doc/functions/vprintf.texi: Update.
63820         * doc/functions/vsnprintf.texi: Update.
63821         * doc/functions/vsprintf.texi: Update.
63822         Reported by Eric Blake.
63823
63824 2007-05-06  Bruno Haible  <bruno@clisp.org>
63825
63826         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
63827         padding ourselves for the floating-point directives.
63828         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
63829         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
63830         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63831         gl_PRINTF_FLAG_ZERO and test its result. Invoke
63832         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
63833         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63834         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63835         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63836         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63837         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63838         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63839         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63840         * tests/test-snprintf-posix.h (test_function): Also check the width
63841         and some flags in the %f directive.
63842         * tests/test-sprintf-posix.h (test_function): Likewise.
63843         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63844         * tests/test-vasprintf-posix.c (test_function): Likewise.
63845         * doc/functions/fprintf.texi: Update.
63846         * doc/functions/printf.texi: Update.
63847         * doc/functions/snprintf.texi: Update.
63848         * doc/functions/sprintf.texi: Update.
63849         * doc/functions/vfprintf.texi: Update.
63850         * doc/functions/vprintf.texi: Update.
63851         * doc/functions/vsnprintf.texi: Update.
63852         * doc/functions/vsprintf.texi: Update.
63853
63854 2007-05-06  Bruno Haible  <bruno@clisp.org>
63855
63856         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
63857         pass the ' flag character to sprintf or snprintf.
63858         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
63859         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
63860         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63861         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
63862         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
63863         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63864         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63865         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63866         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63867         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63868         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63869         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63870         * tests/test-snprintf-posix.h (test_function): Also check the grouping
63871         flag.
63872         * tests/test-sprintf-posix.h (test_function): Likewise.
63873         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63874         * tests/test-vasprintf-posix.c (test_function): Likewise.
63875         * doc/functions/fprintf.texi: Update.
63876         * doc/functions/printf.texi: Update.
63877         * doc/functions/snprintf.texi: Update.
63878         * doc/functions/sprintf.texi: Update.
63879         * doc/functions/vfprintf.texi: Update.
63880         * doc/functions/vprintf.texi: Update.
63881         * doc/functions/vsnprintf.texi: Update.
63882         * doc/functions/vsprintf.texi: Update.
63883
63884 2007-05-01  Bruno Haible  <bruno@clisp.org>
63885
63886         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
63887
63888 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
63889
63890         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
63891         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
63892
63893 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
63894
63895         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
63896         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
63897         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
63898
63899 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
63900
63901         * lib/argp-help.c (struct hol_entry): New member `ord'.
63902         (HOL_ENTRY_PTRCMP): Use ord for comparison
63903         (hol_sort): Initialize ord.
63904
63905 2007-05-01  Bruno Haible  <bruno@clisp.org>
63906
63907         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
63908         Reported by Eric Blake.
63909         * doc/gnulib.texi (Function Substitutes): Update.
63910
63911 2007-05-01  Bruno Haible  <bruno@clisp.org>
63912
63913         * doc/functions.texi: Remove file, now redundant through
63914         doc/functions/*.texi.
63915
63916 2007-05-01  Bruno Haible  <bruno@clisp.org>
63917
63918         * modules/argp (Depends-on): Add sleep.
63919
63920 2007-05-01  Bruno Haible  <bruno@clisp.org>
63921
63922         * modules/sleep-tests: New file.
63923         * tests/test-sleep.c: New file.
63924
63925         * modules/sleep: New file.
63926         * lib/sleep.c: New file.
63927         * m4/sleep.m4: New file.
63928         * lib/unistd_.h (sleep): New declaration.
63929         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
63930         HAVE_SLEEP.
63931         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
63932         * doc/functions/sleep.texi: Document the sleep module.
63933
63934 2007-05-01  Bruno Haible  <bruno@clisp.org>
63935
63936         * lib/sigprocmask.h: Remove file.
63937         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
63938         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
63939         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
63940         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
63941         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
63942         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
63943         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
63944         HAVE_SIGSET_T as a shell variable.
63945         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
63946         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
63947         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
63948         (Depends-on): Add signal. Remove verify.
63949         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
63950         (Include): Mention <signal.h> instead of sigprocmask.h.
63951         * NEWS: Mention the change.
63952         * lib/fatal-signal.c: Don't include sigprocmask.h.
63953
63954 2007-05-01  Bruno Haible  <bruno@clisp.org>
63955
63956         * modules/signal: New file.
63957         * lib/signal_.h: New file.
63958         * m4/signal_h.m4: New file.
63959
63960 2007-05-01  Bruno Haible  <bruno@clisp.org>
63961
63962         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
63963         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
63964         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
63965         HAVE_WCTYPE_CTMP_BUG into wctype.h.
63966
63967 2007-05-01  Bruno Haible  <bruno@clisp.org>
63968
63969         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
63970         configure time.
63971         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
63972         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
63973         * modules/sys_stat (Makefile.am): Substitute their values into
63974         sys/stat.h.
63975
63976 2007-05-01  Bruno Haible  <bruno@clisp.org>
63977
63978         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
63979         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
63980         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
63981
63982 2007-05-01  Bruno Haible  <bruno@clisp.org>
63983
63984         * doc/header/assert.texi: Undo last change: don't mention the gnulib
63985         'assert' module here.
63986
63987 2007-05-01  Bruno Haible  <bruno@clisp.org>
63988
63989         * doc/functions/*.texi: New files.
63990         * doc/functions/google-ranking.txt: New file.
63991         * doc/gnulib.texi (Function Substitutes): New chapter.
63992         (ctime, inet_ntoa): Remove sections.
63993         * doc/ctime.texi: Remove file.
63994         * doc/inet_ntoa.texi: Remove file.
63995         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
63996         dependencies.
63997         (%.info): New rule, specifying a --reference-limit.
63998
63999 2007-05-01  Bruno Haible  <bruno@clisp.org>
64000
64001         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
64002
64003 2007-05-01  Bruno Haible  <bruno@clisp.org>
64004
64005         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
64006         the portability of 'mkdir' to mingw systems.
64007
64008 2007-05-01  Bruno Haible  <bruno@clisp.org>
64009
64010         * doc/headers/google-ranking.txt: New file.
64011
64012 2007-04-30  Eric Blake  <ebb9@byu.net>
64013
64014         Prefer fseeko to fseek.
64015         * modules/getpass (Depends-on): Add fseeko.
64016         * lib/getpass.c (getpass): Use fseeko, not fseek.
64017
64018 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
64019
64020         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
64021         assumes the sorting is stable, while most qsort implementations
64022         are not.  Use argument addresses to ensure they never compare as
64023         equal.
64024
64025         * tests/test-argp-2.sh (usage-indent test): Fix output
64026         (func_compare): Restore diff options
64027         * tests/test-argp.c: Restore #include "progname.h"
64028
64029 2007-04-29  Bruno Haible  <bruno@clisp.org>
64030
64031         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
64032         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64033         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
64034         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64035         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
64036         (configure.ac): Define CHECK_SNPRINTF_POSIX.
64037         (TESTS, check_PROGRAMS): Add test-snprintf.
64038         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
64039         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
64040         (TESTS, check_PROGRAMS): Add test-vsnprintf.
64041         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
64042         assertions that fail on HP-UX, OSF/1, or IRIX.
64043         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
64044
64045 2007-04-29  Bruno Haible  <bruno@clisp.org>
64046
64047         * MODULES.html.sh (posix_functions): Remove 'contents'.
64048
64049 2007-04-29  Karl Berry  <karl@gnu.org>
64050
64051         * config/srclist.txt (gendocs_template_min): new entry.
64052
64053 2007-04-29  Bruno Haible  <bruno@clisp.org>
64054
64055         Work around fpurge bug on BSD systems.
64056         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
64057         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
64058         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
64059         fpurge to rpl_fpurge if the system already has this function.
64060         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
64061         the case where the system already has this function. Correct invariants
64062         on BSD systems.
64063         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
64064         BSD systems.
64065
64066 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
64067
64068         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
64069         proposed by Sven Verdoolaege.
64070
64071         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
64072         options.
64073         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
64074         (usage and help tests): Update
64075
64076 2007-04-29  Bruno Haible  <bruno@clisp.org>
64077
64078         * tests/test-fflush.c (main): Use a file of size 17, not 10.
64079         Print more information in case of failure. Disable a test on BeOS.
64080
64081 2007-04-29  Bruno Haible  <bruno@clisp.org>
64082
64083         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
64084         This helps debugging on systems on which no gdb is available.
64085
64086 2007-04-29  Bruno Haible  <bruno@clisp.org>
64087
64088         * lib/freading.h: Improve comments.
64089         * lib/fwriting.h: Likewise.
64090         * tests/test-freading.c (main): Don't check freading immediately after
64091         repositioning. Needed for glibc.
64092
64093 2007-04-29  Bruno Haible  <bruno@clisp.org>
64094
64095         * lib/freading.c (freading): Trivial simplification.
64096
64097 2007-04-28  Bruno Haible  <bruno@clisp.org>
64098
64099         * tests/test-fwriting.c (main): Also test the interaction between
64100         fflush and fwriting.
64101         * modules/fwriting-tests (Depends-on): Add fflush.
64102
64103         * tests/test-freading.c (main): Also test the interaction between
64104         fflush and freading.
64105         * modules/freading-tests (Depends-on): Add fflush.
64106
64107 2007-04-28  Bruno Haible  <bruno@clisp.org>
64108
64109         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
64110         fseeko and ftello.
64111         Suggested by Eric Blake.
64112
64113 2007-04-28  Jim Meyering  <jim@meyering.net>
64114
64115         Avoid false-negative in gl_STDINT_H's C99 conformance test.
64116         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
64117         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
64118
64119 2007-04-27  Eric Blake  <ebb9@byu.net>
64120
64121         * doc/headers/assert.texi (assert.h): Document assert module use.
64122
64123 2007-04-27  Bruno Haible  <bruno@clisp.org>
64124
64125         * doc/headers/*.texi: New files.
64126         * doc/gnulib.texi (Header File Substitutes): New chapter.
64127         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
64128         dependencies.
64129         (standards.info ,standards.html, standards.dvi): Update dependencies.
64130         (mostlyclean, clean): New targets.
64131
64132 2007-04-27  Bruno Haible  <bruno@clisp.org>
64133
64134         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
64135         * modules/sysexits (Files, Makefile.am): Update.
64136
64137         * lib/sys_socket_.h: Renamed from lib/socket_.h.
64138         * modules/sys_socket (Files, Makefile.am): Update.
64139
64140         * lib/sys_stat_.h: Renamed from lib/stat_.h.
64141         * modules/sys_stat (Files, Makefile.am): Update.
64142
64143 2007-04-27  Eric Blake  <ebb9@byu.net>
64144
64145         * lib/freading.h: Improve comments.
64146         * lib/fwriting.h: Likewise.
64147         * lib/fflush.c: Likewise.
64148
64149         Fix closein for mingw.
64150         * modules/closein-tests: Add tests for closein.
64151         * tests/test-closein.c: New file.
64152         * tests/test-closein.sh: Likewise.
64153         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
64154         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
64155
64156 2007-04-27  Bruno Haible  <bruno@clisp.org>
64157
64158         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
64159         version is < 6.
64160         * lib/math_.h [__DECC]: Likewise.
64161         * lib/stdio_.h [__DECC]: Likewise.
64162         * lib/stdlib_.h [__DECC]: Likewise.
64163         * lib/string_.h [__DECC]: Likewise.
64164         * lib/time_.h [__DECC]: Likewise.
64165         * lib/wchar_.h [__DECC]: Likewise.
64166         * lib/wctype_.h [__DECC]: Likewise.
64167
64168 2007-04-27  Bruno Haible  <bruno@clisp.org>
64169
64170         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
64171
64172 2007-04-27  Bruno Haible  <bruno@clisp.org>
64173
64174         * lib/fflush.c: Add comments.
64175         * modules/fpurge-tests (Depends-on): Add fflush.
64176         * modules/freadable-tests (Depends-on): Likewise.
64177         * modules/fwritable-tests (Depends-on): Likewise.
64178
64179 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
64180
64181         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
64182         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
64183         Report by Bruno Haible <bruno@clisp.org>.
64184
64185 2007-04-26  Eric Blake  <ebb9@byu.net>
64186
64187         Fix fflush on mingw.
64188         * modules/fflush (Depends-on): Add freading.
64189         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
64190         but unread data.
64191
64192 2007-04-26  Eric Blake  <ebb9@byu.net>
64193         and Bruno Haible  <bruno@clisp.org>
64194
64195         Implement freading and fwriting.
64196         * lib/freading.c: New file.
64197         * lib/freading.h: Likewise.
64198         * m4/freading.m4: Likewise.
64199         * modules/freading: Likewise.
64200         * modules/freading-tests: Likewise.
64201         * tests/test-freading.c: Likewise.
64202         * lib/fwriting.c: New file.
64203         * lib/fwriting.h: Likewise.
64204         * m4/fwriting.m4: Likewise.
64205         * modules/fwriting: Likewise.
64206         * modules/fwriting-tests: Likewise.
64207         * tests/test-fwriting.c: Likewise.
64208         * MODULES.html.sh (File stream based Input/Output): Mention them.
64209
64210 2007-04-26  Bruno Haible  <bruno@clisp.org>
64211
64212         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
64213         'long' when we assume it.
64214         Suggested by Eric Blake.
64215
64216 2007-04-26  Bruno Haible  <bruno@clisp.org>
64217
64218         Ensure fseeko, ftello are declared on glibc systems.
64219         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
64220         * modules/fseeko (configure.ac-early): Likewise.
64221         * modules/ftello (configure.ac-early): Likewise.
64222         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
64223         AC_FUNC_FSEEKO for this.
64224         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
64225         (gl_CHECK_FSEEKO): Remove macro.
64226
64227 2007-04-26  Bruno Haible  <bruno@clisp.org>
64228
64229         * tests/test-fflush.c (main): Also check the ftell result after
64230         fflush and fseek/fseeko.
64231         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
64232         file descriptor position cache in the stream.
64233         * lib/fseeko.c (rpl_fseeko): Likewise.
64234
64235 2007-04-26  Bruno Haible  <bruno@clisp.org>
64236
64237         * modules/fflush-tests (Depends-on): Add fseeko.
64238
64239 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
64240             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64241
64242         * lib/argz_.h: ensure error_t definition is obtained in same
64243         mechanism system argz.h would have.
64244         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
64245         argz facilities are known bad.  Err on the side of caution if
64246         cross-compiling.
64247
64248 2007-04-25  Eric Blake  <ebb9@byu.net>
64249
64250         * lib/fpurge.c (includes): Use stdlib.h for free.
64251         * tests/test-fflush.c (main): Also test fflush-fseeko.
64252
64253 2007-04-25  Bruno Haible  <bruno@clisp.org>
64254
64255         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
64256         * lib/fseeko.c: New file.
64257         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
64258         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
64259         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
64260         gl_FUNC_FSEEKO.
64261         (gl_FUNC_FSEEKO): Invoke it.
64262         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
64263         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
64264         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
64265
64266 2007-04-25  Bruno Haible  <bruno@clisp.org>
64267
64268         * modules/fflush (Depends-on): Add ftello.
64269
64270 2007-04-25  Bruno Haible  <bruno@clisp.org>
64271
64272         * modules/ftello-tests: New file.
64273         * tests/test-ftello.c: New file.
64274
64275         * modules/ftello: New file.
64276         * m4/ftello.m4: New file.
64277         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
64278         HAVE_FTELLO.
64279         * lib/stdio_.h (ftello): New declaration.
64280         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
64281         HAVE_FTELLO.
64282
64283 2007-04-25  Bruno Haible  <bruno@clisp.org>
64284
64285         * modules/fseeko-tests: New file.
64286         * tests/test-fseeko.c: New file.
64287
64288         * modules/fseeko: New file.
64289         * m4/fseeko.m4: New file.
64290         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
64291         HAVE_FSEEKO.
64292         * lib/stdio_.h (fseeko): New declaration.
64293         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
64294         HAVE_FSEEKO.
64295
64296 2007-04-25  Bruno Haible  <bruno@clisp.org>
64297
64298         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
64299
64300 2007-04-25  Bruno Haible  <bruno@clisp.org>
64301
64302         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
64303         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
64304         * tests/test-unistd.c: Likewise.
64305         * tests/test-fcntl.c: Likewise.
64306
64307 2007-04-23  Eric Blake  <ebb9@byu.net>
64308
64309         * lib/fflush.c: Fix missing include.
64310         Reported by Bruno Haible.
64311
64312 2007-04-23  Bruno Haible  <bruno@clisp.org>
64313
64314         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
64315         Reported by Eric Blake.
64316
64317 2007-04-23  Bruno Haible  <bruno@clisp.org>
64318
64319         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
64320
64321 2007-04-23  Bruno Haible  <bruno@clisp.org>
64322
64323         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
64324
64325 2007-04-23  Bruno Haible  <bruno@clisp.org>
64326
64327         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
64328         Needed on HP-UX 11.
64329
64330 2007-04-16  Eric Blake  <ebb9@byu.net>
64331
64332         Make fflush rely on fpurge.
64333         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
64334         open coding all variants.
64335         * modules/fflush (Depends-on): Add fpurge and unistd.
64336         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
64337         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
64338
64339         Fix --with-tests compilation on cygwin.
64340         * modules/argmatch-tests (Makefile.am): List gnulib library first
64341         in LDADD.
64342         * modules/argp-tests (Makefile.am): Likewise.
64343         * modules/array-list-tests (Makefile.am): Likewise.
64344         * modules/array-oset-tests (Makefile.am): Likewise.
64345         * modules/avltree-list-tests (Makefile.am): Likewise.
64346         * modules/avltree-oset-tests (Makefile.am): Likewise.
64347         * modules/avltreehash-list-tests (Makefile.am): Likewise.
64348         * modules/carray-list-tests (Makefile.am): Likewise.
64349         * modules/dirname-tests (Makefile.am): Likewise.
64350         * modules/frexp-tests (Makefile.am): Likewise.
64351         * modules/isnanl-tests (Makefile.am): Likewise.
64352         * modules/linked-list-tests (Makefile.am): Likewise.
64353         * modules/linkedhash-list-tests (Makefile.am): Likewise.
64354         * modules/lock-tests (Makefile.am): Likewise.
64355         * modules/rbtree-list-tests (Makefile.am): Likewise.
64356         * modules/rbtree-oset-tests (Makefile.am): Likewise.
64357         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
64358         * modules/tls-tests (Makefile.am): Likewise.
64359         * modules/tsearch-tests (Makefile.am): Likewise.
64360         * modules/xvasprintf-tests (Makefile.am): Likewise.
64361
64362         Fix fpurge for cygwin.
64363         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
64364         value.
64365         * modules/fpurge-tests (Depends-on): Clean up trash.
64366
64367 2007-04-16  Simon Josefsson  <simon@josefsson.org>
64368
64369         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
64370
64371         * m4/autobuild.m4: Re-indent.
64372
64373 2007-04-13  Bruno Haible  <bruno@clisp.org>
64374
64375         * modules/fpurge-tests: New file.
64376         * tests/test-fpurge.c: New file.
64377
64378         * modules/fpurge: New file.
64379         * lib/fpurge.h: New file.
64380         * lib/fpurge.c: New file.
64381         * m4/fpurge.m4: New file.
64382
64383 2007-04-13  Bruno Haible  <bruno@clisp.org>
64384
64385         * modules/fbufmode-tests: New file.
64386         * tests/test-fbufmode.c: New file.
64387
64388         * modules/fbufmode: New file.
64389         * lib/fbufmode.h: New file.
64390         * lib/fbufmode.c: New file.
64391         * m4/fbufmode.m4: New file.
64392
64393 2007-04-13  Bruno Haible  <bruno@clisp.org>
64394
64395         * modules/fwritable-tests: New file.
64396         * tests/test-fwritable.c: New file.
64397
64398         * modules/fwritable: New file.
64399         * lib/fwritable.h: New file.
64400         * lib/fwritable.c: New file.
64401         * m4/fwritable.m4: New file.
64402
64403 2007-04-13  Bruno Haible  <bruno@clisp.org>
64404
64405         * modules/freadable-tests: New file.
64406         * tests/test-freadable.c: New file.
64407
64408         * modules/freadable: New file.
64409         * lib/freadable.h: New file.
64410         * lib/freadable.c: New file.
64411         * m4/freadable.m4: New file.
64412
64413 2007-04-13  Bruno Haible  <bruno@clisp.org>
64414
64415         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
64416         MOSTLYCLEANFILES.
64417
64418 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
64419
64420         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
64421         gzip bootstrap.conf to avoid dragging in i18n machinery.
64422         (gnulib_tool_option): Use it.
64423
64424 2007-04-13  Bruno Haible  <bruno@clisp.org>
64425
64426         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
64427         %F directives.
64428         * tests/test-vasprintf-posix.c (test_function): Likewise.
64429         * tests/test-snprintf-posix.h (test_function): Likewise.
64430         * tests/test-sprintf-posix.h (test_function): Likewise.
64431         * tests/test-fprintf-posix.h (test_function): Likewise.
64432         * tests/test-printf-posix.h (test_function): Likewise.
64433         * tests/test-fprintf-posix.out: Likewise.
64434
64435 2007-04-13  Bruno Haible  <bruno@clisp.org>
64436
64437         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
64438         * modules/tls-tests (configure.ac): Likewise.
64439         Reported by Arto C. Nirkko <anirkko@insel.ch>.
64440
64441 2007-04-13  Bruno Haible  <bruno@clisp.org>
64442
64443         * lib/tls.c (glthread_tls_get): Fix return type.
64444         Patch by Arto C. Nirkko <anirkko@insel.ch>.
64445
64446 2007-04-12  Eric Blake  <ebb9@byu.net>
64447
64448         * modules/gettime (Depends-on): Remove gettime.
64449         Reported by Dmitry V. Levin.
64450
64451 2007-04-12  Bruno Haible  <bruno@clisp.org>
64452
64453         * modules/fflush (Include): Mention <stdio.h>.
64454         * modules/strtoimax (Include): Mention <inttypes.h>.
64455         * modules/strtoumax (Include): Likewise.
64456
64457 2007-04-12  Eric Blake  <ebb9@byu.net>
64458
64459         * .cvsignore: New file.
64460         * .gitignore: Likewise.
64461
64462 2007-04-12  Bruno Haible  <bruno@clisp.org>
64463
64464         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
64465         not before, since $(LDADD) often contains libgnu.a.
64466         * modules/striconv-tests (test_striconv_LDADD): Likewise.
64467         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
64468         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
64469         Needed on Cygwin.
64470
64471 2007-04-12  Eric Blake  <ebb9@byu.net>
64472
64473         Work around glibc's failure to flush stdin on fclose.
64474         * lib/closein.c (close_stdin): Flush stdin before closing.
64475
64476         Work around glibc's failure to reset seekable stdin on exit.
64477         * modules/closein: New module.
64478         * lib/closein.c: New file.
64479         * lib/closein.h: Likewise.
64480         * m4/closein.m4: Likewise.
64481         * MODULES.html.sh (File stream based Input/Output): Document it.
64482
64483 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64484
64485         * gnulib-tool: Rename generated 'autobuild' script to
64486         'do-autobuild' in --create-megatestdir output.
64487
64488         * doc/gnulib.texi (Build robot for gnulib): Fix.
64489
64490 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64491
64492         * modules/sysexits (Depends-on): Add absolute-header.
64493
64494 2007-04-12  Eric Blake  <ebb9@byu.net>
64495
64496         No need to preserve errno on success.
64497         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
64498         Reported by Bruno Haible.
64499
64500 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64501
64502         * MODULES.html.sh (Support for maintaining and releasing
64503         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
64504
64505 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64506
64507         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
64508
64509 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64510
64511         * modules/autobuild: New module.
64512
64513         * m4/autobuild.m4: New file.
64514
64515 2007-04-11  Bruno Haible  <bruno@clisp.org>
64516
64517         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
64518         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
64519         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
64520         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
64521         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64522         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64523         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64524         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64525         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64526         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64527         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
64528         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64529         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64530         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
64531         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64532         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64533         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
64534         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64535         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64536         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
64537         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64538         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64539         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
64540         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64541         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64542         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
64543         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64544         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64545         Reported by Eric Blake.
64546
64547 2007-04-11  Bruno Haible  <bruno@clisp.org>
64548
64549         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
64550
64551 2007-04-10  Bruno Haible  <bruno@clisp.org>
64552
64553         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
64554         for NaN and Infinity. Needed on FreeBSD 6.1.
64555         * tests/test-vasnprintf-posix.c (test_function): Undo last change
64556         regarding results for "%010a" of Infinity and NaN.
64557         * tests/test-vasprintf-posix.c (test_function): Likewise.
64558         * tests/test-snprintf-posix.h (test_function): Likewise.
64559         * tests/test-sprintf-posix.h (test_function): Likewise.
64560         * tests/test-fprintf-posix.h (test_function): Likewise.
64561         * tests/test-printf-posix.h (test_function): Likewise.
64562         * tests/test-fprintf-posix.out: Likewise.
64563
64564 2007-04-10  Bruno Haible  <bruno@clisp.org>
64565
64566         * modules/locale-tests: New file.
64567         * tests/test-locale.c: New file.
64568
64569         * modules/locale: New file.
64570         * lib/locale_.h: New file.
64571         * m4/locale_h.m4: New file.
64572
64573 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
64574             Bruno Haible  <bruno@clisp.org>
64575
64576         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
64577         be determined, test for availability of the copysignf, copysign,
64578         copysignl functions.
64579         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
64580         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
64581         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
64582
64583 2007-04-09  Eric Blake  <ebb9@byu.net>
64584
64585         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
64586         * modules/stdio (Makefile.am): Support fflush.
64587         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
64588         * modules/fflush: New file.
64589         * lib/fflush.c: Likewise.
64590         * m4/fflush.m4: Likewise.
64591         * modules/fflush-tests: New test.
64592         * tests/test-fflush.c: Likewise.
64593         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
64594
64595 2007-04-06  Bruno Haible  <bruno@clisp.org>
64596
64597         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
64598         (VASNPRINTF): Use signbit for faster determination whether to print a
64599         minus sign.
64600         * modules/vasnprintf (Files): Remove lib/float+.h.
64601         * modules/fprintf-posix (Depends-on): Add signbit.
64602         * modules/snprintf-posix (Depends-on): Likewise.
64603         * modules/sprintf-posix (Depends-on): Likewise.
64604         * modules/vasnprintf-posix (Depends-on): Likewise.
64605         * modules/vasprintf-posix (Depends-on): Likewise.
64606         * modules/vfprintf-posix (Depends-on): Likewise.
64607         * modules/vsnprintf-posix (Depends-on): Likewise.
64608         * modules/vsprintf-posix (Depends-on): Likewise.
64609
64610 2007-04-06  Bruno Haible  <bruno@clisp.org>
64611
64612         * tests/test-frexp.c (main): Test also the sign bit of zero results.
64613         * tests/test-frexpl.c (main): Likewise.
64614         * tests/test-ldexpl.c (main): Likewise.
64615         * modules/frexp-tests (Depends-on): Add signbit.
64616         * modules/frexpl-tests (Depdends-on): Likewise.
64617         * modules/ldexpl-tests (Depdends-on): Likewise.
64618
64619 2007-04-06  Bruno Haible  <bruno@clisp.org>
64620
64621         * modules/signbit-tests: New file.
64622         * tests/test-signbit.c: New file.
64623
64624         * modules/signbit: New file.
64625         * lib/signbitf.c: New file.
64626         * lib/signbitd.c: New file.
64627         * lib/signbitl.c: New file.
64628         * m4/signbit.m4: New file.
64629         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
64630         (signbit): New macro.
64631         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
64632         REPLACE_SIGNBIT.
64633         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
64634         REPLACE_FREXPL into math.h.
64635
64636 2007-04-06  Bruno Haible  <bruno@clisp.org>
64637
64638         * modules/isnanf-nolibm-tests: New file.
64639         * tests/test-isnanf.c: New file.
64640
64641         * modules/isnanf-nolibm: New file.
64642         * lib/isnanf.h: New file.
64643         * lib/isnanf.c: New file.
64644         * lib/isnan.c: Consider the USE_FLOAT macro.
64645         * m4/isnanf.m4: New file.
64646
64647 2007-04-06  Bruno Haible  <bruno@clisp.org>
64648
64649         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
64650         (Link): New section.
64651
64652         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
64653
64654 2007-04-06  Bruno Haible  <bruno@clisp.org>
64655
64656         Assume the 'long double' type.
64657         * m4/longdouble.m4: Remove file.
64658         * config/srclist.txt: Don't mention longdouble.m4.
64659         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
64660         * lib/float+.h: Likewise.
64661         * lib/frexp.c: Likewise.
64662         * lib/printf-args.h: Likewise.
64663         * lib/printf-args.c: Likewise.
64664         * lib/printf-frexp.c: Likewise.
64665         * lib/printf-parse.c: Likewise.
64666         * lib/vasnprintf.c: Likewise.
64667         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
64668         * m4/intl.m4: Likewise.
64669         * m4/isnanl.m4: Likewise.
64670         * m4/printf.m4: Likewise.
64671         * m4/printf-frexpl.m4: Likewise.
64672         * m4/vasnprintf.m4: Likewise.
64673         * modules/allocsa (Files): Remove m4/longdouble.m4.
64674         * modules/gettext (Files): Likewise.
64675         * modules/relocatable-prog-wrapper (Files): Likewise.
64676         * modules/vasnprintf (Files): Likewise.
64677         * modules/isnanl (Files): Likewise.
64678         (Include): Simplify.
64679         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
64680         (Include): Simplify.
64681         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
64682         (Include): Simplify.
64683         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
64684         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64685         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
64686         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64687         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64688         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64689         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
64690         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64691         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64692         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64693         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
64694         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64695         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
64696         * tests/test-isnanl.c: Likewise.
64697         * tests/test-snprintf-posix.h: Likewise.
64698         * tests/test-sprintf-posix.h: Likewise.
64699         * tests/test-vasnprintf-posix.c: Likewise.
64700         * tests/test-vasnprintf-posix2.c: Likewise.
64701         * tests/test-vasprintf-posix.c: Likewise.
64702
64703 2007-04-06  Bruno Haible  <bruno@clisp.org>
64704
64705         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
64706         * lib/math_.h [__DECC]: Include the overridden include file through
64707         #include_next, outside the double-inclusion guard.
64708         * lib/stdio_.h [__DECC]: Likewise.
64709         * lib/stdlib_.h [__DECC]: Likewise.
64710         * lib/string_.h [__DECC]: Likewise.
64711         * lib/time_.h [__DECC]: Likewise.
64712         * lib/wchar_.h [__DECC]: Likewise.
64713         * lib/wctype_.h [__DECC]: Likewise.
64714         * lib/inttypes_.h [__DECC]: Likewise.
64715         Reported by Albert Chin <china@thewrittenword.com> in
64716         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
64717
64718 2007-04-04  Eric Blake  <ebb9@byu.net>
64719
64720         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
64721         1.5.x.
64722
64723 2007-04-04  Bruno Haible  <bruno@clisp.org>
64724
64725         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
64726         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
64727
64728 2007-04-04  Bruno Haible  <bruno@clisp.org>
64729
64730         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
64731         results for "%010a" of Infinity and NaN.
64732         * tests/test-vasprintf-posix.c (test_function): Likewise.
64733         * tests/test-snprintf-posix.h (test_function): Likewise.
64734         * tests/test-sprintf-posix.h (test_function): Likewise.
64735         * tests/test-fprintf-posix.h (test_function): Remove these tests.
64736         * tests/test-printf-posix.h (test_function): Likewise.
64737         * tests/test-fprintf-posix.out: Update.
64738         Needed for FreeBSD 6.1.
64739
64740 2007-04-04  Bruno Haible  <bruno@clisp.org>
64741
64742         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
64743         directly used by the gnulib modules nor by gnulib-tool.
64744
64745 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
64746
64747         * DEPENDENCIES: Give overall description of version dependency
64748         desirability.  Use more-typical names for apps.
64749         Add shell, coreutils, diffutils, grep, tar, gzip.
64750
64751 2007-04-04  Simon Josefsson  <simon@josefsson.org>
64752
64753         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
64754
64755 2007-04-04  Karl Berry  <karl@gnu.org>
64756
64757         * MODULES.html.sh (func_module): missing '.
64758
64759 2007-04-03  Bruno Haible  <bruno@clisp.org>
64760
64761         * modules/argmatch-tests (Makefile.am): New variable
64762         test_argmatch_LDADD.
64763         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
64764         * modules/array-list-tests (Makefile.am): New variable
64765         test_array_list_LDADD.
64766         * modules/array-oset-tests (Makefile.am): New variable
64767         test_array_oset_LDADD.
64768         * modules/avltree-list-tests (Makefile.am): New variable
64769         test_avltree_list_LDADD.
64770         * modules/avltree-oset-tests (Makefile.am): New variable
64771         test_avltree_oset_LDADD.
64772         * modules/avltreehash-list-tests (Makefile.am): New variable
64773         test_avltreehash_list_LDADD.
64774         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
64775         test_canonicalize_lgpl_LDADD.
64776         * modules/carray-list-tests (Makefile.am): New variable
64777         test_carray_list_LDADD.
64778         * modules/dirname-tests (Makefile.am): New variable
64779         test_dirname_LDADD.
64780         * modules/linked-list-tests (Makefile.am): New variable
64781         test_linked_list_LDADD.
64782         * modules/linkedhash-list-tests (Makefile.am): New variable
64783         test_linkedhash_list_LDADD.
64784         * modules/rbtree-list-tests (Makefile.am): New variable
64785         test_rbtree_list_LDADD.
64786         * modules/rbtree-oset-tests (Makefile.am): New variable
64787         test_rbtree_oset_LDADD.
64788         * modules/rbtreehash-list-tests (Makefile.am): New variable
64789         test_rbtreehash_list_LDADD.
64790         * modules/xvasprintf-tests (Makefile.am): New variable
64791         test_xvasprintf_LDADD.
64792         Reported by Eric Blake.
64793
64794 2007-04-03  Eric Blake  <ebb9@byu.net>
64795
64796         * DEPENDENCIES: Weaken m4 requirements.
64797
64798 2007-04-03  Bruno Haible  <bruno@clisp.org>
64799
64800         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
64801         * modules/isnanl-tests (configure.ac): Likewise.
64802
64803 2007-04-03  Ben Pfaff  <blp@gnu.org>
64804
64805         * modules/iconv_open: Add $(srcdir)/ to source directory
64806         references in Makefile fragments that call gperf, to fix VPATH
64807         builds.
64808
64809 2007-04-03  Bruno Haible  <bruno@clisp.org>
64810
64811         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
64812         * lib/ldexpl.c: Undo last change.
64813
64814 2007-04-03  Bruno Haible  <bruno@clisp.org>
64815
64816         * modules/printf-frexpl (Depends-on): Undo last change.
64817         (Files): Add m4/ldexpl.m4.
64818
64819 2007-04-03  Bruno Haible  <bruno@clisp.org>
64820
64821         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
64822         * modules/isnanl (Link): New section.
64823
64824         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
64825         * modules/frexp (Link): New section.
64826
64827         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
64828         * modules/frexpl (Link): New section.
64829
64830         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
64831         * modules/ldexpl (Link): New section.
64832
64833 2007-04-03  Bruno Haible  <bruno@clisp.org>
64834
64835         * modules/TEMPLATE-EXTENDED: New file.
64836         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
64837
64838 2007-04-03  Bruno Haible  <bruno@clisp.org>
64839
64840         * DEPENDENCIES: New file.
64841         Suggested by Simon Josefsson.
64842
64843 2007-04-03  Bruno Haible  <bruno@clisp.org>
64844
64845         * doc/gnulib.texi: Escape @.
64846
64847 2007-04-03  James Youngman  <jay@gnu.org>
64848         and Paul Eggert  <eggert@cs.ucla.edu>
64849
64850         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
64851         birthtime on all systems that have birthtime, not just those which
64852         use st_birthtimensec rather than st_birthtim.  Putting zero in
64853         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
64854         that the birth time is not available for files on an NFS mount.
64855
64856 2007-04-03  Simon Josefsson  <simon@josefsson.org>
64857
64858         * modules/memxor: Move back from crypto/, suggested by Bruno.
64859         * modules/crypto/hmac-sha1: Fix memxor dependency.
64860
64861         * modules/crypto/gc: Moved from ../.
64862
64863 2007-04-02  Eric Blake  <ebb9@byu.net>
64864
64865         * lib/ldexpl.c (includes): Avoid libm.
64866
64867         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
64868
64869 2007-04-02  Bruno Haible  <bruno@clisp.org>
64870
64871         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
64872         on IRIX.
64873
64874 2007-04-02  Bruno Haible  <bruno@clisp.org>
64875
64876         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
64877         x86 or x86_64 platforms running MacOS X.
64878         Reported by Ryan Schmidt <@ryandesign.com>.
64879
64880 2007-04-02  Bruno Haible  <bruno@clisp.org>
64881
64882         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
64883         i386.
64884
64885 2007-04-01  Simon Josefsson  <simon@josefsson.org>
64886
64887         * modules/crypto/arcfour: Moved from ../.
64888         * modules/crypto/arcfour-tests: Moved from ../.
64889         * modules/crypto/arctwo: Moved from ../.
64890         * modules/crypto/arctwo-tests: Moved from ../.
64891         * modules/crypto/des: Moved from ../.
64892         * modules/crypto/des-tests: Moved from ../.
64893         * modules/crypto/gc-arcfour: Moved from ../.
64894         * modules/crypto/gc-arcfour-tests: Moved from ../.
64895         * modules/crypto/gc-arctwo: Moved from ../.
64896         * modules/crypto/gc-arctwo-tests: Moved from ../.
64897         * modules/crypto/gc-des: Moved from ../.
64898         * modules/crypto/gc-des-tests: Moved from ../.
64899         * modules/crypto/gc-hmac-md5: Moved from ../.
64900         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
64901         * modules/crypto/gc-hmac-sha1: Moved from ../.
64902         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
64903         * modules/crypto/gc-md2: Moved from ../.
64904         * modules/crypto/gc-md2-tests: Moved from ../.
64905         * modules/crypto/gc-md4: Moved from ../.
64906         * modules/crypto/gc-md4-tests: Moved from ../.
64907         * modules/crypto/gc-md5: Moved from ../.
64908         * modules/crypto/gc-md5-tests: Moved from ../.
64909         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
64910         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
64911         * modules/crypto/gc-random: Moved from ../.
64912         * modules/crypto/gc-rijndael: Moved from ../.
64913         * modules/crypto/gc-rijndael-tests: Moved from ../.
64914         * modules/crypto/gc-sha1: Moved from ../.
64915         * modules/crypto/gc-sha1-tests: Moved from ../.
64916         * modules/crypto/gc-tests: Moved from ../.
64917         * modules/crypto/hmac-md5: Moved from ../.
64918         * modules/crypto/hmac-md5-tests: Moved from ../.
64919         * modules/crypto/hmac-sha1: Moved from ../.
64920         * modules/crypto/hmac-sha1-tests: Moved from ../.
64921         * modules/crypto/md2: Moved from ../.
64922         * modules/crypto/md2-tests: Moved from ../.
64923         * modules/crypto/md4: Moved from ../.
64924         * modules/crypto/md4-tests: Moved from ../.
64925         * modules/crypto/md5: Moved from ../.
64926         * modules/crypto/md5-tests: Moved from ../.
64927         * modules/crypto/memxor: Moved from ../.
64928         * modules/crypto/rijndael: Moved from ../.
64929         * modules/crypto/rijndael-tests: Moved from ../.
64930         * modules/crypto/sha1: Moved from ../.
64931
64932 2007-03-30  James Youngman  <jay@gnu.org>
64933
64934         * tests/test-stat-time.c (prepare_test): use chmod() rather than
64935         rename() to change the ctime of a file (because ctime is unaffected
64936         by rename on jfs2 on AIX 5.1).
64937         (main): Start by doing cleanup, in case a previous run failed leaving
64938         test files behind.
64939
64940 2007-03-31  Bruno Haible  <bruno@clisp.org>
64941
64942         Support old proprietary implementations of iconv.
64943         * modules/iconv_open: New file.
64944         * lib/iconv_.h: New file.
64945         * m4/iconv_h.m4: New file.
64946         * lib/iconv_open.c: New file.
64947         * lib/iconv_open-aix.gperf: New file.
64948         * lib/iconv_open-hpux.gperf: New file.
64949         * lib/iconv_open-irix.gperf: New file.
64950         * lib/iconv_open-osf.gperf: New file.
64951         * m4/iconv_open.m4: New file.
64952         * modules/linebreak (Depends-on): Add iconv_open.
64953         * modules/striconv (Depends-on): Likewise.
64954         * modules/striconveh (Depends-on): Likewise.
64955         * modules/unicodeio (Depends-on): Likewise.
64956         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
64957         (iconv_t)(-1).
64958         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
64959         conversion if cd is (iconv_t)(-1).
64960         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
64961         is not possible.
64962
64963 2007-03-31  Bruno Haible  <bruno@clisp.org>
64964
64965         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64966         work on Solaris either. Protect also second use of "autodetect_jp".
64967
64968 2007-03-31  Bruno Haible  <bruno@clisp.org>
64969
64970         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
64971         the function is not present.
64972
64973 2007-03-31  Bruno Haible  <bruno@clisp.org>
64974
64975         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
64976         the function is not present.
64977
64978 2007-03-31  Bruno Haible  <bruno@clisp.org>
64979
64980         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
64981         a bug in HP-UX iconv_open().
64982
64983 2007-03-31  Bruno Haible  <bruno@clisp.org>
64984
64985         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
64986         (Mathematics <math.h>): New section, add fpieee.
64987         (Input/output <stdio.h>): Add fseterr.
64988         (Mathematics <math.h>): New section, add printf-frexp.
64989         (Container data structures): Add sublist.
64990         (Core language properties): Add fpucw, inline.
64991         (Functions for greatest-width integer types <inttypes.h>): Add
64992         imaxabs, imaxdiv, inttypes.
64993         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
64994         isnanl-nolibm, ldexp.
64995         (Mathematics <math.h>): New section, add printf-frexpl.
64996         (Support for systems lacking POSIX:2001): Add fprintf-posix,
64997         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
64998         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
64999         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
65000         (Unicode string functions): Add unistr/u*-mbtoucr.
65001         (Java): Add javacomp-script, javaexec-script.
65002         (C#): Add csharpcomp-script, csharpexec-script.
65003         (Support for building libraries and executables): Add havelib,
65004         relocatable-*.
65005         (Support for maintaining and releasing projects): Renamed from
65006         'Support for maintaining and release projects'. Add announce-gen.
65007
65008 2007-03-31  Bruno Haible  <bruno@clisp.org>
65009
65010         * README: Talk primarily about git.
65011         (git and CVS): Renamed from CVS.
65012         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
65013         gnulib is available through git.
65014         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
65015
65016 2007-03-30  Bruno Haible  <bruno@clisp.org>
65017
65018         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
65019         * lib/poll_.h: Likewise.
65020         * lib/stat_.h: Likewise.
65021         * lib/sys_time_.h: Likewise.
65022         * lib/sysexit_.h: Likewise.
65023         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
65024         * lib/stdbool_.h: Likewise.
65025         * lib/byteswap_.h: Add double-inclusion guard.
65026
65027 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
65028
65029         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
65030
65031 2007-03-30  Karl Berry  <karl@gnu.org>
65032
65033         * config/srclist-update: double space after USA in the license
65034         substitution, since that's how it's usually (?) written.
65035
65036 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
65037
65038         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
65039         reported by Bruno Haible.
65040
65041 2007-03-29  Bruno Haible  <bruno@clisp.org>
65042
65043         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
65044         a bug in AIX iconv().
65045
65046 2007-03-29  Bruno Haible  <bruno@clisp.org>
65047
65048         * modules/ldexpl-tests: New file.
65049         * tests/test-ldexpl.c: New file.
65050
65051 2007-03-29  Bruno Haible  <bruno@clisp.org>
65052
65053         * lib/ldexpl.c: Include fpucw.h.
65054         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
65055         multiplication.
65056         * modules/ldexpl (Depends-on): Add fpucw.
65057
65058 2007-03-29  Bruno Haible  <bruno@clisp.org>
65059
65060         * modules/ldexpl: New file.
65061         * m4/ldexpl.m4: New file.
65062         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
65063         set.
65064         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
65065         REPLACE_LDEXPL.
65066         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
65067         REPLACE_LDEXPL.
65068         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65069         gl_FUNC_LDEXPL_WORKS.
65070         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
65071         * modules/mathl (Files): Remove lib/ldexpl.c.
65072         (Depends-on): Add ldexpl.
65073
65074 2007-03-29  Bruno Haible  <bruno@clisp.org>
65075
65076         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
65077
65078 2007-03-29  Bruno Haible  <bruno@clisp.org>
65079
65080         * tests/test-striconveh.c (main): Don't assume that a direct conversion
65081         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
65082         and possibly also HP-UX.
65083         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65084         work on AIX, IRIX, HP-UX, OSF/1.
65085         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
65086         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
65087         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
65088         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
65089         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
65090         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
65091
65092 2007-03-29  Bruno Haible  <bruno@clisp.org>
65093
65094         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
65095
65096 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65097
65098         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
65099         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
65100
65101 2007-03-29  Eric Blake  <ebb9@byu.net>
65102
65103         * lib/acl-internal.h: Remove redundant include.
65104         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
65105         Cygwin when a file is locked.
65106
65107 2007-03-29  Bruno Haible  <bruno@clisp.org>
65108
65109         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
65110         file.
65111         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
65112
65113 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65114
65115         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
65116         try to remove a parent directory if the child couldn't be removed
65117         (except for the first rmdir, which could fail because the child
65118         doesn't exist).  Problem reported by Jeff Blaine in
65119         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
65120
65121 2007-03-28  Bruno Haible  <bruno@clisp.org>
65122
65123         * lib/striconveh.c (utf8conv_carefully): New function.
65124         (mem_cd_iconveh_internal): Invoke it.
65125
65126 2007-03-28  Bruno Haible  <bruno@clisp.org>
65127
65128         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
65129         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
65130         input.
65131         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
65132         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
65133         unistr/u8-uctomb.
65134
65135 2007-03-28  Bruno Haible  <bruno@clisp.org>
65136
65137         * modules/unistr/u8-mbtoucr: New file.
65138         * lib/unistr/u8-mbtoucr.c: New file.
65139         * modules/unistr/u16-mbtoucr: New file.
65140         * lib/unistr/u16-mbtoucr.c: New file.
65141         * modules/unistr/u16-mbtoucr: New file.
65142         * lib/unistr/u16-mbtoucr.c: New file.
65143         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
65144
65145 2007-03-27  Simon Josefsson  <simon@josefsson.org>
65146             Bruno Haible  <bruno@clisp.org>
65147
65148         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
65149         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
65150         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
65151
65152         * m4/stdio_h.m4: Add stubs for vasprintf too.
65153
65154         * modules/stdio: Support vasprintf in sed command.
65155
65156         * modules/vasprintf: Depend on stdio for prototypes.  Remove
65157         vasprintf.h.  Add stdio module indicator.
65158
65159         * lib/stdio_.h: Declare asprintf and vasprintf, based on
65160         vasprintf.h.
65161
65162         * lib/vasprintf.h: File removed.
65163
65164         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
65165         * lib/vasprintf.c: Ditto.
65166         * lib/xvasprintf.c: Ditto.
65167         * tests/test-vasprintf-posix.c: Ditto.
65168         * tests/test-vasprintf.c: Ditto.
65169
65170 2007-03-27  Bruno Haible  <bruno@clisp.org>
65171
65172         Make vasnprintf multithread-safe.
65173         * lib/vasnprintf.c (decimal_point_char): New function.
65174         (VASNPRINTF): Use it.
65175         Suggested by Simon Josefsson.
65176
65177 2007-03-27  Eric Blake  <ebb9@byu.net>
65178
65179         Support sub-second birthtime on cygwin.
65180         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
65181         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
65182         (get_stat_birthtime): Also work with st_birthtim.
65183
65184 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
65185
65186         * lib/stat-time.h (USE_BIRTHTIME): Remove.
65187         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
65188         (get_stat_birthtime_ns): Do not try to use "spare" fields.
65189         (get_stat_birthtime_ns): Simplify compile-time tests.
65190         (get_stat_birthtime): Change the API to look like
65191         get_stat_mtime etc., except return a negative tv_nsec on error.
65192         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
65193         Don't check for "spare" fields.
65194         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
65195         or for struct stat.st_birthtime, as these tests aren't used.
65196         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
65197
65198 2007-03-27  Bruno Haible  <bruno@clisp.org>
65199
65200         * lib/stat-time.h: Include <sys/stat.h>.
65201
65202 2007-03-27  James Youngman  <jay@gnu.org>
65203
65204         * lib/stat-time.h (get_stat_birthtime): New function for
65205           retrieving st_birthtime as provided by UFS2 (hence *BSD).
65206         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
65207           and its variants.
65208         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
65209         * modules/stat-time-test: New file.
65210         * tests/test-stat-time.c: New test, devised by Bruno Haible.
65211
65212 2007-03-26  Bruno Haible  <bruno@clisp.org>
65213
65214         Better support of signalling NaNs.
65215         * lib/atanl.c: Include isnanl.h.
65216         (atanl): Perform test for NaN at the beginning of the function and
65217         through a call to isnanl.
65218         * lib/cosl.c: Include isnanl.h.
65219         (cosl): Perform test for NaN at the beginning of the function and
65220         through a call to isnanl.
65221         * lib/ldexpl.c: Include isnanl.h.
65222         (ldexpl): Perform test for NaN through a call to isnanl.
65223         * lib/logl.c: Include isnanl.h.
65224         (logl): Perform test for NaN at the beginning of the function and
65225         through a call to isnanl.
65226         * lib/sinl.c: Include isnanl.h.
65227         (sinl): Perform test for NaN at the beginning of the function and
65228         through a call to isnanl.
65229         * lib/sqrtl.c: Include isnanl.h.
65230         (sqrtl): Perform test for NaN at the beginning of the function and
65231         through a call to isnanl.
65232         * lib/tanl.c: Include isnanl.h.
65233         (tanl): Perform test for NaN at the beginning of the function and
65234         through a call to isnanl.
65235         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
65236         * modules/mathl (Depends-on): Add isnanl.
65237
65238 2007-03-26  Eric Blake  <ebb9@byu.net>
65239
65240         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
65241         regression in logic sense of previous patch.
65242
65243 2007-03-26  Bruno Haible  <bruno@clisp.org>
65244
65245         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
65246         unportable shell command "if ! ...".
65247         Reported by Ralf Wildenhues.
65248
65249 2007-03-25  Bruno Haible  <bruno@clisp.org>
65250
65251         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
65252         <sysexits.h> file, and only add EX_CONFIG.
65253         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
65254         absolute file name and whether it is sufficient. Substitute also
65255         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
65256         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
65257         ABSOLUTE_SYSEXITS_H into sysexits.h.
65258
65259 2007-03-25  Bruno Haible  <bruno@clisp.org>
65260
65261         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
65262         hints is NULL.
65263
65264 2007-03-25  Bruno Haible  <bruno@clisp.org>
65265
65266         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
65267         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
65268
65269 2007-03-25  Bruno Haible  <bruno@clisp.org>
65270
65271         * lib/vasnprintf.c: Include langinfo.h.
65272         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
65273         multithread-safe.
65274         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
65275         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
65276         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65277         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65278         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65279         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65280         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65281         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
65282         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65283         Reported by Simon Josefsson.
65284
65285 2007-03-25  Bruno Haible  <bruno@clisp.org>
65286
65287         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
65288         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
65289         * modules/vasnprintf (Depends-on): Add stdint.
65290
65291 2007-03-25  Bruno Haible  <bruno@clisp.org>
65292
65293         * modules/fpieee: New file.
65294         * m4/fpieee.m4: New file.
65295         * modules/isnan-nolibm (Depends-on): Add fpieee.
65296         * modules/isnanl-nolibm (Depends-on): Add fpieee.
65297         * modules/isnanl (Depends-on): Add fpieee.
65298
65299 2007-03-25  Bruno Haible  <bruno@clisp.org>
65300
65301         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
65302
65303 2007-03-25  Bruno Haible  <bruno@clisp.org>
65304
65305         Avoid test failures on IRIX 6.5.
65306         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
65307         (main): Use it.
65308         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
65309         macros.
65310         (main): Use them.
65311
65312 2007-03-25  Bruno Haible  <bruno@clisp.org>
65313
65314         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
65315         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
65316         exists but doesn't work.
65317         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
65318         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
65319         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
65320         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
65321         math.h.
65322
65323 2007-03-25  Bruno Haible  <bruno@clisp.org>
65324
65325         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
65326         returns inf. Needed on IRIX 6.5.
65327
65328 2007-03-25  Bruno Haible  <bruno@clisp.org>
65329
65330         * tests/test-frexpl.c: Include isnanl-nolibm.h.
65331         (main): Use isnanl instead of x != x idiom.
65332         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
65333
65334         * tests/test-frexp.c: Include isnan.h.
65335         (main): Use isnan instead of x != x idiom.
65336         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
65337
65338 2007-03-25  Bruno Haible  <bruno@clisp.org>
65339
65340         * tests/test-frexp.c (NaN): New function/macro.
65341         (main): Use it instead of 0.0 / 0.0.
65342         * tests/test-isnan.c (NaN): New function/macro.
65343         (main): Use it instead of 0.0 / 0.0.
65344         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
65345         (test_function): Use it instead of 0.0 / 0.0.
65346         * tests/test-vasprintf-posix.c (NaN): New function/macro.
65347         (test_function): Use it instead of 0.0 / 0.0.
65348         * tests/test-snprintf-posix.h (NaN): New function/macro.
65349         (test_function): Use it instead of 0.0 / 0.0.
65350         * tests/test-sprintf-posix.h (NaN): New function/macro.
65351         (test_function): Use it instead of 0.0 / 0.0.
65352         * tests/test-fprintf-posix.h (NaN): New function/macro.
65353         (test_function): Use it instead of 0.0 / 0.0.
65354         * tests/test-printf-posix.h (NaN): New function/macro.
65355         (test_function): Use it instead of 0.0 / 0.0.
65356
65357         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
65358
65359 2007-03-25  Bruno Haible  <bruno@clisp.org>
65360
65361         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
65362
65363 2007-03-25  Bruno Haible  <bruno@clisp.org>
65364
65365         * lib/regexec.c (merge_state_with_log): Make static.
65366
65367 2007-03-25  Bruno Haible  <bruno@clisp.org>
65368
65369         * lib/trigl.c (kernel_rem_pio2): Make static.
65370
65371 2007-03-25  Bruno Haible  <bruno@clisp.org>
65372
65373         * lib/sincosl.c (sincosl_table): Make static.
65374
65375 2007-03-25  Bruno Haible  <bruno@clisp.org>
65376
65377         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
65378         if the compiler does not support C99.
65379
65380 2007-03-25  Bruno Haible  <bruno@clisp.org>
65381
65382         * modules/time (Makefile.am): Ensure all rule action lines start with a
65383         tab.
65384
65385 2007-03-24  Bruno Haible  <bruno@clisp.org>
65386
65387         * modules/tsearch-tests: New file.
65388         * tests/test-tsearch.sh: New file.
65389         * tests/test-tsearch.c: New file, mostly copied from glibc.
65390
65391         * modules/search-tests: New file.
65392         * tests/test-search.c: New file.
65393
65394         * modules/search: New file.
65395         * lib/search_.h: New file, incorporating lib/tsearch.h.
65396         * m4/search_h.m4: New file.
65397         * lib/tsearch.h: Remove file.
65398         * lib/tsearch.c: Include search.h instead of tsearch.h.
65399         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
65400         HAVE_TSEARCH.
65401         * modules/tsearch (Files): Remove lib/tsearch.h.
65402         (Depends-on): Add search.
65403         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
65404         (Include): Change tsearch.h into search.h.
65405
65406 2007-03-24  Bruno Haible  <bruno@clisp.org>
65407
65408         * modules/fpucw: New file.
65409         * lib/fpucw.h: New file.
65410         * lib/frexp.c: Include fpucw.h.
65411         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65412         (FUNC): Use them.
65413         * lib/printf-frexp.c: Include fpucw.h.
65414         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65415         (FUNC): Use them.
65416         * lib/vasnprintf.c: Include fpucw.h.
65417         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
65418         'long double' calculations.
65419         * tests/test-frexpl.c: Include fpucw.h.
65420         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65421         * tests/test-printf-frexpl.c: Include fpucw.h.
65422         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65423         * modules/frexpl (Depends-on): Add fpucw.
65424         * modules/printf-frexpl (Depends-on): Likewise.
65425         * modules/fprintf-posix (Depends-on): Likewise.
65426         * modules/snprintf-posix (Depends-on): Likewise.
65427         * modules/sprintf-posix (Depends-on): Likewise.
65428         * modules/vasnprintf-posix (Depends-on): Likewise.
65429         * modules/vasprintf-posix (Depends-on): Likewise.
65430         * modules/vfprintf-posix (Depends-on): Likewise.
65431         * modules/vsnprintf-posix (Depends-on): Likewise.
65432         * modules/vsprintf-posix (Depends-on): Likewise.
65433         * modules/frexpl-tests (Depends-on): Likewise.
65434         * modules/printf-frexpl-tests (Depends-on): Likewise.
65435
65436 2007-03-24  Bruno Haible  <bruno@clisp.org>
65437
65438         * lib/float+.h: New file.
65439         * lib/isnan.c: Include float+.h.
65440         (SIZE): New macro.
65441         (FUNC): Compare only SIZE bytes of the value.
65442         * lib/vasnprintf.c: Include float+.h.
65443         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
65444         SIZEOF_LDBL or SIZEOF_DBL bytes.
65445         * modules/isnan-nolibm (Files): Add lib/float+.h.
65446         * modules/isnanl-nolibm (Files): Add lib/float+.h.
65447         * modules/isnanl (Files): Add lib/float+.h.
65448         * modules/vasnprintf (Files): Add lib/float+.h.
65449
65450 2007-03-24  Bruno Haible  <bruno@clisp.org>
65451
65452         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
65453         include isnanl-nolibm.h.
65454
65455 2007-03-24  Bruno Haible  <bruno@clisp.org>
65456
65457         * tests/test-read-file.c (main): Don't produce spurious output for
65458         expected situations. Make the test fail if it encountered unexpected
65459         results.
65460
65461 2007-03-24  Bruno Haible  <bruno@clisp.org>
65462
65463         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
65464         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
65465
65466 2007-03-24  Bruno Haible  <bruno@clisp.org>
65467
65468         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
65469
65470 2007-03-24  Bruno Haible  <bruno@clisp.org>
65471
65472         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
65473         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
65474
65475         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
65476         * modules/utf8-ucs4: Turn into a symbolic link to module
65477         unistr/u8-mbtouc.
65478
65479         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
65480         utf8-ucs4-unsafe.
65481         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
65482         unistr/u8-mbtouc-unsafe.
65483
65484         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
65485         * modules/utf16-ucs4: Turn into a symbolic link to module
65486         unistr/u16-mbtouc.
65487
65488         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
65489         utf16-ucs4-unsafe.
65490         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
65491         unistr/u16-mbtouc-unsafe.
65492
65493         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
65494         * modules/ucs4-utf8: Turn into a symbolic link to module
65495         unistr/u8-ubtomb.
65496
65497         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
65498         * modules/ucs4-utf16: Turn into a symbolic link to module
65499         unistr/u16-ubtomb.
65500
65501 2007-03-24  Bruno Haible  <bruno@clisp.org>
65502
65503         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
65504         Enable the function only if HAVE_INLINE.
65505         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
65506         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65507         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
65508         Enable the function only if HAVE_INLINE.
65509         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
65510         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65511         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
65512         Enable the function only if HAVE_INLINE.
65513         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
65514         Enable the function only if HAVE_INLINE.
65515         * modules/utf8-ucs4: Update.
65516         * modules/utf8-ucs4-unsafe: Update.
65517         * modules/utf16-ucs4: Update.
65518         * modules/utf16-ucs4-unsafe: Update.
65519         * modules/ucs4-utf8: Update.
65520         * modules/ucs4-utf16: Update.
65521
65522 2007-03-24  Bruno Haible  <bruno@clisp.org>
65523
65524         * lib/utf8-ucs4.h: Remove file.
65525         * lib/utf8-ucs4-unsafe.h: Remove file.
65526         * lib/utf16-ucs4.h: Remove file.
65527         * lib/utf16-ucs4-unsafe.h: Remove file.
65528         * lib/ucs4-utf8.h: Remove file.
65529         * lib/ucs4-utf16.h: Remove file.
65530         * lib/unistr.h: Include their previous contents.
65531         * m4/utf-ucs4.m4: Remove file.
65532         * m4/ucs4-utf.m4: Remove file.
65533         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
65534         (Depends-on): Add unistr/base.
65535         (configure.ac): Remove gl_UTF_UCS4.
65536         (Makefile.am): Update.
65537         (Include): Change to unistr.h.
65538         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
65539         (Depends-on): Add unistr/base.
65540         (configure.ac): Remove gl_UTF_UCS4.
65541         (Makefile.am): Update.
65542         (Include): Change to unistr.h.
65543         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
65544         (Depends-on): Add unistr/base.
65545         (configure.ac): Remove gl_UTF_UCS4.
65546         (Makefile.am): Update.
65547         (Include): Change to unistr.h.
65548         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
65549         (Depends-on): Add unistr/base.
65550         (configure.ac): Remove gl_UTF_UCS4.
65551         (Makefile.am): Update.
65552         (Include): Change to unistr.h.
65553         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
65554         (Depends-on): Add unistr/base.
65555         (configure.ac): Remove gl_UCS4_UTF.
65556         (Makefile.am): Update.
65557         (Include): Change to unistr.h.
65558         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
65559         (Depends-on): Add unistr/base.
65560         (configure.ac): Remove gl_UCS4_UTF.
65561         (Makefile.am): Update.
65562         (Include): Change to unistr.h.
65563         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
65564         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
65565         utf8-ucs4-unsafe.h.
65566         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
65567         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
65568         utf16-ucs4-unsafe.h.
65569         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
65570         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
65571         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
65572         * lib/unistr/u8-strchr.c: Likewise.
65573         * lib/unistr/u8-strrchr.c: Likewise.
65574         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
65575         * lib/unistr/u16-strchr.c: Likewise.
65576         * lib/unistr/u16-strrchr.c: Likewise.
65577         * lib/striconveh.c: Update.
65578         * lib/linebreak.c: Update.
65579
65580 2007-03-24  Bruno Haible  <bruno@clisp.org>
65581
65582         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
65583         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
65584
65585 2007-03-22  Bruno Haible  <bruno@clisp.org>
65586
65587         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
65588
65589 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65590
65591         * MODULES.html.sh (File system functions): New module write-any-file.
65592         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
65593         * m4/write-any-file.m4: New files.
65594
65595 2007-03-23  Eric Blake  <ebb9@byu.net>
65596
65597         * gnulib-tool: Rearrange space-tab sequences, since some editors
65598         like to eat them.
65599
65600 2007-03-23  Eric Blake  <ebb9@byu.net>
65601
65602         * lib/version-etc.c (version_etc_va): Update license wording to
65603         be more concise.  Recommended by Richard Stallman.
65604
65605 2007-03-22  Bruno Haible  <bruno@clisp.org>
65606
65607         * lib/poll.c (MSG_PEEK): New fallback definition.
65608
65609 2007-03-22  Bruno Haible  <bruno@clisp.org>
65610
65611         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
65612         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
65613         (main): Update.
65614         Fixes a compilation error on BeOS.
65615
65616 2007-03-22  Bruno Haible  <bruno@clisp.org>
65617
65618         * modules/frexpl-tests: New file.
65619         * tests/test-frexpl.c: New file.
65620
65621         * modules/frexpl: New file.
65622         * m4/frexpl.m4: New file.
65623         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
65624         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
65625         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
65626         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
65627         (Depends-on): Add frexpl. Remove isnanl-nolibm.
65628         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
65629
65630 2007-03-22  Bruno Haible  <bruno@clisp.org>
65631
65632         * lib/frexpl.c: Share code with lib/frexp.c.
65633         * modules/mathl (Files): Add lib/frexp.c.
65634         (Depends-on): Add isnanl-nolibm.
65635
65636 2007-03-22  Bruno Haible  <bruno@clisp.org>
65637
65638         * modules/printf-frexp (Files): Add m4/frexp.m4.
65639         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
65640         only if the found frexp function actually works.
65641
65642 2007-03-22  Bruno Haible  <bruno@clisp.org>
65643
65644         * lib/frexp.c: Remove older implementation that uses divisions.
65645
65646 2007-03-21  Bruno Haible  <bruno@clisp.org>
65647
65648         * modules/frexp-tests: New file.
65649         * tests/test-frexp.c: New file.
65650
65651         * modules/frexp: New file.
65652         * lib/frexp.c: New file.
65653         * m4/frexp.m4: New file.
65654         * lib/math_.h (frexp): New declaration.
65655         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
65656         REPLACE_FREXP.
65657         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
65658
65659 2007-03-21  Bruno Haible  <bruno@clisp.org>
65660
65661         * modules/isnanl-tests: New file.
65662         * tests/test-isnanl.c: New file.
65663
65664         * modules/isnanl: New file.
65665         * lib/isnanl.h: New file.
65666         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
65667         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
65668         gl_FUNC_ISNANL_WORKS.
65669         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
65670         New macros.
65671
65672 2007-03-21  Bruno Haible  <bruno@clisp.org>
65673
65674         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
65675         lib/isnanl.h.
65676         (Include): Update.
65677         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
65678         * lib/vasnprintf.c: Update.
65679         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
65680         tests/test-isnanl.h, remove tests/test-isnanl.c.
65681         (Makefile.am): Update.
65682         * tests/test-isnanl-nolibm.c: New file.
65683         * tests/test-isnanl.h: New file.
65684         * tests/test-isnanl.c: Remove file.
65685
65686 2007-03-21  Jim Meyering  <jim@meyering.net>
65687
65688         When trying to open ".", treat ESTALE like EACCES.
65689         * lib/savewd.c (savewd_save): Resort to forking not just upon
65690         failure with EACCES, but also when errno is ESTALE.
65691
65692 2007-03-20  Bruno Haible  <bruno@clisp.org>
65693
65694         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
65695         Needed on AIX 5.1. Reported by Matthew Woehlke.
65696
65697 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65698
65699         Suggestions by Bruno Haible:
65700         * lib/acl-internal.h: Include "gettext.h" rather than rolling
65701         our own.
65702         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
65703         * modules/acl (Depends-on): Add gettext.
65704
65705 2007-03-19  Bruno Haible  <bruno@clisp.org>
65706
65707         * modules/iconvme: Remove file.
65708         * lib/iconvme.h: Remove file.
65709         * lib/iconvme.c: Remove file.
65710         * m4/iconvme.m4: Remove file.
65711
65712 2007-03-19  Bruno Haible  <bruno@clisp.org>
65713
65714         * doc/relocatable-maint.texi: Break long shell script line.
65715         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65716
65717 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65718
65719         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
65720         handle file_has_acl.
65721         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
65722         * lib/acl.c: Move header inclusions and related macro defns into
65723         lib/acl-internal.h.
65724         (S_ISLNK): Remove defn, since that's now done for us.
65725         (file_has_acl): Move to lib/file-has-acl.c.
65726         Call acl_trivial if available.  This is the crucial part of the fix.
65727         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
65728         shared within the library.  Rewrite a bit, partly to make it compatible
65729         with the GNU coding style.
65730         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
65731         Remove unnecessary double-quotes.
65732         Don't test for acl_to_text; the build will catch that.
65733         Replace acl_entries if it doesn't exist and it is needed.
65734         Check for -lsec and acl_trivial (as used on Solaris 10).
65735         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
65736         lib/file-has-acl.c.
65737         (Depends-on): Add sys_stat, for S_ISLNK.
65738
65739 2007-03-19  Ben Pfaff  <blp@gnu.org>
65740
65741         * doc/gnulib.texi: Fix typos.
65742         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65743
65744 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65745
65746         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
65747         If size is zero here, buf must be zero.
65748
65749 2007-03-19  Simon Josefsson  <simon@josefsson.org>
65750
65751         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
65752         <bruno@clisp.org>.
65753
65754 2007-03-18  Bruno Haible  <bruno@clisp.org>
65755
65756         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
65757         Suggested by Eric Blake.
65758
65759 2007-03-18  Ben Pfaff  <blp@gnu.org>
65760
65761         * doc/relocatable.texi: Recommend using as prefix a directory
65762         that does not exist and will never be created.  Based on
65763         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
65764         and others.
65765
65766 2007-03-17  Bruno Haible  <bruno@clisp.org>
65767
65768         * lib/fchownat.c: Include lchown.h.
65769
65770 2007-03-17  Bruno Haible  <bruno@clisp.org>
65771
65772         Fix endless loop when the given allocated size was > INT_MAX.
65773         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
65774         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
65775         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
65776         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
65777         * lib/sprintf.c (sprintf): Likewise.
65778
65779 2007-03-17  Bruno Haible  <bruno@clisp.org>
65780
65781         * tests/test-argp-2.sh (func_compare): Output a context diff.
65782
65783 2007-03-17  Bruno Haible  <bruno@clisp.org>
65784
65785         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
65786         locale's decimal-point character.
65787
65788 2007-03-17  Bruno Haible  <bruno@clisp.org>
65789
65790         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
65791         before comparing it. Needed because on some platforms (e.g. x86) a
65792         'long double' occupies less bytes than sizeof (long double).
65793
65794 2007-03-17  Bruno Haible  <bruno@clisp.org>
65795
65796         * tests/test-crc.c (main): Make printf statements 64-bit clean.
65797         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
65798         * tests/test-getaddrinfo.c (simple): Likewise.
65799         * tests/test-read-file.c (main): Likewise.
65800
65801 2007-03-17  Bruno Haible  <bruno@clisp.org>
65802
65803         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
65804
65805 2007-03-17  Bruno Haible  <bruno@clisp.org>
65806
65807         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
65808         unused variable.
65809
65810 2007-03-17  Bruno Haible  <bruno@clisp.org>
65811
65812         * tests/test-c-strcasecmp.c: Include c-strcase.h.
65813         * tests/test-c-strncasecmp.c: Likewise.
65814
65815 2007-03-17  Bruno Haible  <bruno@clisp.org>
65816
65817         * modules/stdlib (Depends-on): Add unistd.
65818         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
65819         Needed for MacOS X 10.3.
65820
65821 2007-03-17  Bruno Haible  <bruno@clisp.org>
65822
65823         * lib/unistr/u-strdup.h: Include <stdlib.h>.
65824
65825 2007-03-17  Bruno Haible  <bruno@clisp.org>
65826
65827         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
65828
65829 2007-03-17  Bruno Haible  <bruno@clisp.org>
65830
65831         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
65832         to reflect files copied from gnulib (with or without modifications).
65833         Suggested by Jim Meyering.
65834
65835 2007-03-17  Eric Blake  <ebb9@byu.net>
65836
65837         * NEWS: Document stdlib change from 2007-02-18.
65838
65839 2007-03-17  Jim Meyering  <jim@meyering.net>
65840
65841         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
65842         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
65843         someone uses a name containing shell meta-characters.
65844         Reported by Alfred M. Szmidt.
65845
65846         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
65847
65848 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65849
65850         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
65851         and copy gettext configuration files only if configure.ac contains
65852         a use of AM_GNU_GETTEXT_VERSION.
65853
65854 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65855
65856         * build-aux/bootstrap (gnulib_name): New variable.
65857         (gnulib_tool_options): Use it.
65858
65859 2007-03-13  Simon Josefsson  <simon@josefsson.org>
65860
65861         * tests/test-des.c: Use new namespace.
65862
65863 2007-03-15  Bruno Haible  <bruno@clisp.org>
65864
65865         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
65866         Reported by James Youngman <jay@gnu.org>.
65867
65868 2007-03-15  Bruno Haible  <bruno@clisp.org>
65869
65870         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
65871         declared prototype. Needed with cc on OSF/1 5.1.
65872
65873 2007-03-15  Bruno Haible  <bruno@clisp.org>
65874
65875         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
65876         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
65877         (struct gl_list_implementation): Add dispose_fn argument to the
65878         'create_empty', 'create' methods.
65879         (struct gl_list_impl_base): Add field 'dispose_fn'.
65880         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
65881         argument.
65882         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
65883         dispose_fn argument.
65884         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
65885         dispose_fn on the dropped values.
65886         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
65887         dispose_fn argument.
65888         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
65889         dropped values.
65890         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
65891         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65892         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
65893         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65894         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
65895         argument.
65896         (gl_tree_list_free): Call dispose_fn on the dropped values.
65897         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
65898         the dropped values.
65899         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65900         Add dispose_fn argument.
65901         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
65902         Call dispose_fn on the dropped values.
65903         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
65904         Add dispose_fn argument.
65905         (gl_sublist_create): Initialize the 'dispose_fn' field.
65906         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
65907         * tests/test-array_list.c (main): Update.
65908         * tests/test-carray_list.c (main): Update.
65909         * tests/test-avltree_list.c (main): Update.
65910         * tests/test-rbtree_list.c (main): Update.
65911         * tests/test-avltreehash_list.c (main): Update.
65912         * tests/test-rbtreehash_list.c (main): Update.
65913         * tests/test-linked_list.c (main): Update.
65914         * tests/test-linkedhash_list.c (main): Update.
65915         * tests/test-array_oset.c (main): Update.
65916
65917 2007-03-15  Bruno Haible  <bruno@clisp.org>
65918
65919         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
65920         (gl_oset_create_empty): Add dispose_fn argument.
65921         (struct gl_oset_implementation): Add dispose_fn argument to
65922         'create_empty' method.
65923         (struct gl_oset_impl_base): Add dispose_fn field.
65924         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
65925         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
65926         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
65927         values.
65928         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
65929         (gl_tree_oset_free): Call dispose_fn on the dropped values.
65930         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65931         dropped value.
65932         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65933         dropped value.
65934         * tests/test-array_oset.c (main): Update.
65935         * tests/test-avltree_oset.c (main): Update.
65936         * tests/test-rbtree_oset.c (main): Update.
65937         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
65938
65939 2007-03-13  Bruno Haible  <bruno@clisp.org>
65940
65941         * tests/test-stdbool.c (i): Update after last patch.
65942
65943 2007-03-12  Bruno Haible  <bruno@clisp.org>
65944
65945         * lib/quotearg.c: Include <wctype.h> early, before the definition of
65946         the iswprint macro. Needed on Solaris 2.5.1.
65947
65948 2007-03-12  Bruno Haible  <bruno@clisp.org>
65949
65950         * tests/test-printf-frexp.c (main): Declare x as volatile.
65951
65952 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65953
65954         * doc/gnulib.texi (Build robot for gnulib): New section.
65955
65956 2007-03-12  Jim Meyering  <jim@meyering.net>
65957
65958         * build-aux/bootstrap: New file.
65959         * build-aux/bootstrap.conf: New file, from coreutils.
65960
65961 2007-03-11  Bruno Haible  <bruno@clisp.org>
65962
65963         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
65964
65965 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65966
65967         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
65968         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
65969         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
65970
65971 2007-03-11  Bruno Haible  <bruno@clisp.org>
65972
65973         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
65974         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
65975
65976 2007-03-11  Bruno Haible  <bruno@clisp.org>
65977
65978         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
65979         formula. Needed for SunPRO C 5.0.
65980
65981 2007-03-11  Bruno Haible  <bruno@clisp.org>
65982
65983         * modules/long-options (Depends-on): Add getopt.
65984
65985 2007-03-11  Bruno Haible  <bruno@clisp.org>
65986
65987         * modules/modechange (Depends-on): Add stdbool.
65988
65989 2007-03-11  Bruno Haible  <bruno@clisp.org>
65990
65991         * modules/i-ring (Depends-on): Add stdbool.
65992
65993 2007-03-11  Bruno Haible  <bruno@clisp.org>
65994
65995         * modules/gc-des (Depends-on): Add stdbool.
65996
65997 2007-03-11  Bruno Haible  <bruno@clisp.org>
65998
65999         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
66000
66001 2007-03-11  Bruno Haible  <bruno@clisp.org>
66002
66003         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
66004
66005 2007-03-11  Bruno Haible  <bruno@clisp.org>
66006
66007         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
66008
66009 2007-03-11  Bruno Haible  <bruno@clisp.org>
66010
66011         * lib/vasnprintf.c (sprintf): Undefine.
66012
66013 2007-03-11  Bruno Haible  <bruno@clisp.org>
66014
66015         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
66016         initializers in SunPRO C and Compaq C compilers.
66017
66018 2007-03-11  Bruno Haible  <bruno@clisp.org>
66019
66020         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
66021         decrementing code ANSI C compliant.
66022
66023 2007-03-11  Bruno Haible  <bruno@clisp.org>
66024
66025         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
66026         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
66027
66028 2007-03-11  Bruno Haible  <bruno@clisp.org>
66029
66030         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
66031         <stdbool.h> substitute doesn't pass.
66032
66033 2007-03-11  Bruno Haible  <bruno@clisp.org>
66034
66035         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
66036
66037 2007-03-11  Bruno Haible  <bruno@clisp.org>
66038
66039         * gnulib-tool (func_create_megatestdir): Create also an autobuild
66040         script, for submission to autobuild.josefsson.org.
66041
66042 2007-03-10  Bruno Haible  <bruno@clisp.org>
66043
66044         * modules/canonicalize-lgpl-tests: New file.
66045         * tests/test-canonicalize-lgpl.sh: New file.
66046         * tests/test-canonicalize-lgpl.c: New file.
66047
66048         * modules/c-strcase-tests: New file.
66049         * tests/test-c-strcase.sh: New file.
66050         * tests/test-c-strcasecmp.c: New file.
66051         * tests/test-c-strncasecmp.c: New file.
66052
66053         * modules/atexit-tests: New file.
66054         * tests/test-atexit.sh: New file.
66055         * tests/test-atexit.c: New file.
66056
66057 2007-03-10  Bruno Haible  <bruno@clisp.org>
66058
66059         * tests/test-binary-io.sh: Use temporary filenames that are not so
66060         likely to clash with those of other tests (in a parallel make).
66061         * tests/test-binary-io.c: Likewise.
66062
66063 2007-03-10  Bruno Haible  <bruno@clisp.org>
66064
66065         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
66066         fallback; use #error instead.
66067         Suggested by Simon Josefsson.
66068
66069 2007-03-10  Bruno Haible  <bruno@clisp.org>
66070
66071         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
66072         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
66073         first and the last.
66074
66075 2007-03-10  Bruno Haible  <bruno@clisp.org>
66076
66077         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
66078
66079 2007-03-10  Bruno Haible  <bruno@clisp.org>
66080
66081         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
66082         "make distcheck".
66083         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
66084         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
66085         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
66086
66087 2007-03-10  Bruno Haible  <bruno@clisp.org>
66088
66089         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
66090         variable.
66091         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
66092         variable.
66093
66094 2007-03-09  Eric Blake  <ebb9@byu.net>
66095         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
66096
66097         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
66098         types are not being provided by gnulib.
66099         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
66100         types are supported.
66101
66102 2007-03-10  Bruno Haible  <bruno@clisp.org>
66103
66104         * lib/stdio_.h (__attribute__): New macro.
66105         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
66106         vsprintf): Specify __attribute__ __format__ for GCC.
66107         Suggested by Eric Blake.
66108
66109 2007-03-09  Bruno Haible  <bruno@clisp.org>
66110
66111         * modules/printf-posix-tests: New file.
66112         * tests/test-printf-posix.sh: New file.
66113         * tests/test-printf-posix.c: New file.
66114
66115         * modules/printf-posix: New file.
66116         * lib/printf.c: New file.
66117         * m4/printf-posix-rpl.m4: New file.
66118         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
66119         REPLACE_PRINTF.
66120         * lib/stdio_.h (printf): New declaration.
66121         (format, __format__, ____printf____, ____scanf____, ____strftime____,
66122         ____strfmon____): New macros.
66123         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
66124         REPLACE_PRINTF.
66125
66126 2007-03-09  Bruno Haible  <bruno@clisp.org>
66127
66128         * tests/test-vasnprintf-posix2.sh: New file.
66129         * tests/test-vasnprintf-posix2.c: New file.
66130         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
66131         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
66132         (Makefile.am): Activate test-vasnprintf-posix2.sh.
66133
66134         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
66135         a locale dependent decimal point, rather than always '.'.
66136
66137 2007-03-09  Eric Blake  <ebb9@byu.net>
66138
66139         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
66140         spite of platforms like Tandem/NSK that define it to -1.
66141
66142 2007-03-08  Bruno Haible  <bruno@clisp.org>
66143
66144         * modules/vprintf-posix-tests: New file.
66145         * tests/test-vprintf-posix.sh: New file.
66146         * tests/test-vprintf-posix.c: New file.
66147         * tests/test-printf-posix.h: New file.
66148
66149         * modules/vprintf-posix: New file.
66150         * lib/vprintf.c: New file.
66151         * m4/vprintf-posix.m4: New file.
66152         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
66153         REPLACE_VPRINTF.
66154         * lib/stdio_.h (vprintf): New declaration.
66155         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
66156         REPLACE_VPRINTF.
66157
66158 2007-03-08  Bruno Haible  <bruno@clisp.org>
66159
66160         * modules/fprintf-posix-tests: New file.
66161         * tests/test-fprintf-posix.sh: New file.
66162         * tests/test-fprintf-posix.c: New file.
66163
66164         * modules/fprintf-posix: New file.
66165         * lib/fprintf.c: New file.
66166         * m4/fprintf-posix.m4: New file.
66167         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
66168         REPLACE_FPRINTF.
66169         * lib/stdio_.h (fprintf): New declaration.
66170         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
66171         REPLACE_FPRINTF.
66172
66173 2007-03-08  Bruno Haible  <bruno@clisp.org>
66174
66175         * modules/vfprintf-posix-tests: New file.
66176         * tests/test-vfprintf-posix.sh: New file.
66177         * tests/test-vfprintf-posix.c: New file.
66178         * tests/test-fprintf-posix.h: New file.
66179         * tests/test-fprintf-posix.out: New file.
66180
66181         * modules/vfprintf-posix: New file.
66182         * lib/vfprintf.c: New file.
66183         * m4/vfprintf-posix.m4: New file.
66184         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
66185         REPLACE_VFPRINTF.
66186         * lib/stdio_.h (vfprintf): New declaration.
66187         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
66188         REPLACE_VFPRINTF.
66189
66190 2007-03-08  Bruno Haible  <bruno@clisp.org>
66191
66192         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
66193
66194 2007-03-08  Bruno Haible  <bruno@clisp.org>
66195
66196         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
66197         instead of 'expr' invocations.
66198         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66199         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66200         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66201         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66202         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66203         Suggested by Paul Eggert.
66204
66205 2007-03-08  Bruno Haible  <bruno@clisp.org>
66206
66207         * modules/fseterr-tests: New file.
66208         * tests/test-fseterr.c: New file.
66209
66210         * modules/fseterr: New file.
66211         * lib/fseterr.h: New file.
66212         * lib/fseterr.c: New file.
66213
66214 2007-03-08  Bruno Haible  <bruno@clisp.org>
66215
66216         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
66217         * lib/getopt_.h: Likewise.
66218         * lib/mbswidth.h: Likewise.
66219         * lib/setenv.h: Likewise.
66220         * lib/vasnprintf.h: Likewise.
66221         * lib/vasprintf.h: Likewise.
66222         * lib/verror.h: Likewise.
66223         * lib/xsetenv.h: Likewise.
66224         * lib/xvasprintf.h: Likewise.
66225
66226 2007-03-08  Jim Meyering  <jim@meyering.net>
66227
66228         * users.txt: Add parted.
66229
66230         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
66231
66232 2007-03-07  Bruno Haible  <bruno@clisp.org>
66233
66234         * m4/printf.m4: Make the shell script snippets copy&pastable.
66235
66236 2007-03-02  Bruno Haible  <bruno@clisp.org>
66237
66238         * lib/netinet_in_.h: New file.
66239         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
66240         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
66241         * modules/netinet_in (Files): Add lib/netinet_in_.h.
66242         (Depends-on): Add absolute-header.
66243         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
66244         into netinet/in.h.
66245
66246 2007-03-03  Bruno Haible  <bruno@clisp.org>
66247
66248         * lib/sys_select_.h: New file.
66249         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
66250         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
66251         * modules/sys_select (Files): Add lib/sys_select_.h.
66252         (Depends-on): Add absolute-header.
66253         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
66254         into sys/select.h.
66255
66256 2007-03-02  Bruno Haible  <bruno@clisp.org>
66257
66258         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
66259         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
66260         values.
66261         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
66262         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
66263         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
66264         * modules/sys_socket (Depends-on): Add absolute-header.
66265         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
66266         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
66267         (Include): Remove requirement of inclusion of <sys/types.h>.
66268
66269 2007-03-02  Bruno Haible  <bruno@clisp.org>
66270
66271         * lib/byteswap_.h (bswap_32): Fix formula.
66272
66273 2007-03-06  Bruno Haible  <bruno@clisp.org>
66274
66275         * modules/sprintf-posix-tests: New file.
66276         * tests/test-sprintf-posix.c: New file.
66277
66278         * modules/sprintf-posix: New file.
66279         * lib/sprintf.c: New file.
66280         * m4/sprintf-posix.m4: New file.
66281         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
66282         REPLACE_SPRINTF.
66283         * lib/stdio_.h (sprintf): New declaration.
66284         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
66285         REPLACE_SPRINTF.
66286
66287 2007-03-06  Bruno Haible  <bruno@clisp.org>
66288
66289         * modules/vsprintf-posix-tests: New file.
66290         * tests/test-vsprintf-posix.c: New file.
66291         * tests/test-sprintf-posix.h: New file.
66292
66293         * modules/vsprintf-posix: New file.
66294         * lib/vsprintf.c: New file.
66295         * m4/vsprintf-posix.m4: New file.
66296         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
66297         REPLACE_VSPRINTF.
66298         * lib/stdio_.h (vsprintf): New declaration.
66299         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
66300         REPLACE_VSPRINTF.
66301
66302 2007-03-06  Bruno Haible  <bruno@clisp.org>
66303
66304         * modules/vsnprintf (Depend-on): Remove minmax.
66305
66306 2007-03-06  Bruno Haible  <bruno@clisp.org>
66307
66308         * modules/snprintf-posix-tests: New file.
66309         * tests/test-snprintf-posix.c: New file.
66310
66311         * modules/snprintf-posix: New file.
66312         * m4/snprintf-posix.m4: New file.
66313         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
66314         gl_FUNC_SNPRINTF.
66315         (gl_FUNC_SNPRINTF): Invoke it.
66316         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
66317         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
66318         is set.
66319         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
66320
66321 2007-03-06  Bruno Haible  <bruno@clisp.org>
66322
66323         * modules/vsnprintf-posix-tests: New file.
66324         * tests/test-vsnprintf-posix.c: New file.
66325         * tests/test-snprintf-posix.h: New file.
66326
66327         * modules/vsnprintf-posix: New file.
66328         * m4/vsnprintf-posix.m4: New file.
66329         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
66330         gl_FUNC_VSNPRINTF.
66331         (gl_FUNC_VSNPRINTF): Invoke it.
66332         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
66333         * lib/stdio_.h (vsnprintf): Define as a replacement if
66334         REPLACE_VSNPRINTF is set.
66335         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
66336
66337 2007-03-06  Bruno Haible  <bruno@clisp.org>
66338
66339         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
66340         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
66341
66342 2007-03-06  Bruno Haible  <bruno@clisp.org>
66343
66344         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
66345         (asinl): Declare also if HAVE_DECL_ASINL is set.
66346         (atanl): Declare also if HAVE_DECL_ATANL is set.
66347         (ceill): Declare also if HAVE_DECL_CEILL is set.
66348         (cosl): Declare also if HAVE_DECL_COSL is set.
66349         (expl): Declare also if HAVE_DECL_EXPL is set.
66350         (floorl): Declare also if HAVE_DECL_FLOORL is set.
66351         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
66352         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
66353         (logl): Declare also if HAVE_DECL_LOGL is set.
66354         (sinl): Declare also if HAVE_DECL_SINL is set.
66355         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
66356         (tanl): Declare also if HAVE_DECL_TANL is set.
66357         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
66358         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
66359         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
66360         declaration of frexpl, ldexpl.
66361         * modules/printf-frexpl (Depends-on): Add math.
66362         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
66363
66364 2007-03-05  Bruno Haible  <bruno@clisp.org>
66365
66366         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
66367         frexpl and ldexpl are declared.
66368         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
66369
66370 2007-03-05  Bruno Haible  <bruno@clisp.org>
66371
66372         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
66373         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
66374
66375 2007-03-05  Bruno Haible  <bruno@clisp.org>
66376
66377         * lib/stdio_.h: Include <stddef.h>.
66378
66379 2007-03-05  Bruno Haible  <bruno@clisp.org>
66380
66381         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
66382
66383 2007-03-05  Bruno Haible  <bruno@clisp.org>
66384
66385         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
66386         NetBSD 4, from Ralf Wildenhues.
66387
66388 2007-03-04  Bruno Haible  <bruno@clisp.org>
66389
66390         * lib/vasprintf.h: Update #if logic for the case when the functions
66391         exist but are overridden.
66392
66393 2007-03-04  Bruno Haible  <bruno@clisp.org>
66394
66395         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
66396         implementations: glibc-2.4 and MacOS X 10.3.
66397         * tests/test-vasnprintf-posix.c (test_function): Test also the case
66398         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
66399         * tests/test-vasprintf-posix.c (test_function): Likewise.
66400
66401 2007-03-04  Bruno Haible  <bruno@clisp.org>
66402
66403         * modules/vasprintf-posix-tests: New file.
66404         * tests/test-vasprintf-posix.c: New file.
66405
66406         * modules/vasprintf-posix: New file.
66407         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
66408         defined.
66409         * m4/vasprintf-posix.m4: New file.
66410         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
66411         gl_FUNC_VASPRINTF.
66412         (gl_FUNC_VASPRINTF): Invoke it.
66413         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
66414         here.
66415         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
66416
66417 2007-03-04  Bruno Haible  <bruno@clisp.org>
66418
66419         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
66420         REPLACE_GETTIMEOFDAY.
66421         * modules/sys_time (Makefile.am): Likewise.
66422         * m4/sys_time_h.m4: Likewise.
66423         * m4/gettimeofday.m4: Likewise.
66424
66425 2007-03-04  Bruno Haible  <bruno@clisp.org>
66426
66427         * modules/vasnprintf-posix-tests: New file.
66428         * tests/test-vasnprintf-posix.c: New file.
66429
66430         * modules/vasnprintf-posix: New file.
66431         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
66432         printf-frexpl.h.
66433         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
66434         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
66435         REPLACE_VASNPRINTF is defined.
66436         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
66437         gl_FUNC_VASNPRINTF.
66438         (gl_FUNC_VASNPRINTF): Invoke it.
66439         * m4/vasnprintf-posix.m4: New file.
66440         * m4/printf.m4: New file.
66441
66442 2007-03-04  Bruno Haible  <bruno@clisp.org>
66443
66444         Compile progreloc.c only if --enable-relocatable is specified.
66445         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
66446         if --enable-relocatable was specified.
66447         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
66448         lib_SOURCES.
66449
66450 2007-03-04  Jim Meyering  <jim@meyering.net>
66451
66452         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
66453         Use it consistently, rather than enumerating errno constants.
66454
66455 2007-03-04  Bruno Haible  <bruno@clisp.org>
66456
66457         * modules/xvasprintf-tests: New file.
66458         * tests/test-xvasprintf.c: New file.
66459
66460         * modules/vasprintf-tests: New file.
66461         * tests/test-vasprintf.c: New file.
66462
66463         * modules/vasnprintf-tests: New file.
66464         * tests/test-vasnprintf.c: New file.
66465
66466         * modules/vsnprintf-tests: New file.
66467         * tests/test-vsnprintf.c: New file.
66468
66469         * modules/snprintf-tests: New file.
66470         * tests/test-snprintf.c: New file.
66471
66472 2007-03-04  Bruno Haible  <bruno@clisp.org>
66473
66474         Compile relocatable.c only if --enable-relocatable is specified.
66475         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
66476         gl_RELOCATABLE_LIBRARY.
66477         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
66478         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
66479         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
66480         gl_RELOCATABLE_LIBRARY.
66481         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
66482         (Makefile.am): Remove lib_SOURCES.
66483         * modules/relocatable-lib-lgpl (configure.ac): Invoke
66484         gl_RELOCATABLE_LIBRARY.
66485         (Makefile.am): Remove lib_SOURCES.
66486         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
66487         always.
66488         * modules/relocatable-prog-wrapper (configure.ac): Invoke
66489         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
66490
66491 2007-03-04  Bruno Haible  <bruno@clisp.org>
66492
66493         * modules/argmatch-tests: New file.
66494         * tests/test-argmatch.c: New file.
66495
66496         * tests/test-allocsa.c (main): Halve the number of loop runs.
66497
66498         * modules/alloca-opt-tests: New file.
66499         * tests/test-alloca-opt.c: New file.
66500
66501 2007-03-04  Jim Meyering  <jim@meyering.net>
66502
66503         Work around difference between Linux ACLs and Solaris 10 ZFS.
66504         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
66505         for EINVAL.
66506
66507 2007-03-03  Bruno Haible  <bruno@clisp.org>
66508
66509         * modules/relocatable-prog (Depends-on): Add back progreloc's
66510         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
66511
66512 2007-03-03  Bruno Haible  <bruno@clisp.org>
66513
66514         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
66515         * modules/relocatable-lib: New file.
66516
66517 2007-03-03  Bruno Haible  <bruno@clisp.org>
66518
66519         * modules/relocatable-prog: Renamed from modules/relocatable.
66520         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
66521
66522 2007-03-03  Bruno Haible  <bruno@clisp.org>
66523
66524         * modules/relocatable-script (Files): Add doc/relocatable.texi,
66525         m4/relocatable-lib.m4.
66526         (Depends-on): Remove 'relocatable'.
66527         (configure.ac): Add gl_RELOCATABLE_NOP.
66528
66529 2007-03-03  Bruno Haible  <bruno@clisp.org>
66530
66531         * modules/relocatable-prog-wrapper: New file.
66532         * modules/relocatable (Depends-on): Add it. Remove all other
66533         dependencies except progname.
66534         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
66535
66536         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
66537         (gl_FUNC_STRERROR): Nop.
66538         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
66539
66540         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
66541         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
66542
66543         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
66544         (gl_FUNC_READLINK): Update.
66545
66546         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
66547
66548 2007-03-03  Bruno Haible  <bruno@clisp.org>
66549
66550         * lib/xreadlink.c: Include <unistd.h> unconditionally.
66551         * modules/xreadlink (Depends-on): Add unistd.
66552         * modules/xreadlink-with-size (Depends-on): Likewise.
66553
66554 2007-03-03  Bruno Haible  <bruno@clisp.org>
66555
66556         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
66557         extracted from gt_FUNC_SETENV.
66558         (gt_FUNC_SETENV): Remove macro.
66559         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
66560         remove gt_FUNC_SETENV.
66561
66562 2007-03-03  Bruno Haible  <bruno@clisp.org>
66563
66564         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
66565         ENABLE_RELOCATABLE here.
66566         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
66567
66568 2007-03-03  Bruno Haible  <bruno@clisp.org>
66569
66570         * modules/rbtreehash-list-tests (Depends-on): Add progname.
66571         * tests/test-rbtreehash_list.c: Include progname.h.
66572         (main): Call set_program_name.
66573
66574         * modules/rbtree-oset-tests (Depends-on): Add progname.
66575         * tests/test-rbtree_oset.c: Include progname.h.
66576         (main): Call set_program_name.
66577
66578         * modules/rbtree-list-tests (Depends-on): Add progname.
66579         * tests/test-rbtree_list.c: Include progname.h.
66580         (main): Call set_program_name.
66581
66582         * modules/linked-list-tests (Depends-on): Add progname.
66583         * tests/test-linked_list.c: Include progname.h.
66584         (main): Call set_program_name.
66585
66586 2007-03-03  Bruno Haible  <bruno@clisp.org>
66587
66588         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
66589         All uses of __restrict changed to _Restrict_.
66590         * lib/glob_.h (__restrict): Remove macro.
66591
66592 2007-03-02  Bruno Haible  <bruno@clisp.org>
66593
66594         * modules/gettext (configure.ac): Require gettext infrastructure
66595         from version 0.16.1.
66596
66597 2007-03-02  Bruno Haible  <bruno@clisp.org>
66598
66599         * modules/linkedhash-list-tests (Depends-on): Add progname.
66600         * tests/test-linkedhash_list.c: Include progname.h.
66601         (main): Call set_program_name.
66602
66603         * modules/carray-list-tests (Depends-on): Add progname.
66604         * tests/test-carray_list.c: Include progname.h.
66605         (main): Call set_program_name.
66606
66607         * modules/avltreehash-list-tests (Depends-on): Add progname.
66608         * tests/test-avltreehash_list.c: Include progname.h.
66609         (main): Call set_program_name.
66610
66611         * modules/avltree-oset-tests (Depends-on): Add progname.
66612         * tests/test-avltree_oset.c: Include progname.h.
66613         (main): Call set_program_name.
66614
66615         * modules/avltree-list-tests (Depends-on): Add progname.
66616         * tests/test-avltree_list.c: Include progname.h.
66617         (main): Call set_program_name.
66618
66619         * modules/array-oset-tests (Depends-on): Add progname.
66620         * tests/test-array_oset.c: Include progname.h.
66621         (main): Call set_program_name.
66622
66623         * modules/array-list-tests (Depends-on): Add progname.
66624         * tests/test-array_list.c: Include progname.h.
66625         (main): Call set_program_name.
66626
66627         * modules/argp-tests (Depends-on): Add progname.
66628         * tests/test-argp.c: Include argp.h first. Include progname.h.
66629         (main): Call set_program_name.
66630
66631 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
66632
66633         * doc/gnulib-tool.texi (Initial import): Reword description of
66634         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
66635         limited effect even if defined after the first system include.
66636
66637 2007-03-01  Bruno Haible  <bruno@clisp.org>
66638
66639         * build-aux/config.libpath: Update to libtool-1.5.22.
66640         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
66641
66642 2007-03-01  Bruno Haible  <bruno@clisp.org>
66643
66644         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
66645         foo_CFLAGS.
66646         Reported by Ralf Wildenhues.
66647
66648 2007-03-01  Bruno Haible  <bruno@clisp.org>
66649
66650         * build-aux/install-reloc: Remove object files left over by some
66651         compilers.
66652         Reported by Ralf Wildenhues.
66653
66654 2007-03-01  Bruno Haible  <bruno@clisp.org>
66655
66656         * build-aux/install-reloc: Break long lines.
66657
66658 2007-03-01  Bruno Haible  <bruno@clisp.org>
66659
66660         * doc/relocatable.texi: Document that it may not work on OpenBSD.
66661         Reported by Ralf Wildenhues.
66662
66663 2007-03-01  Bruno Haible  <bruno@clisp.org>
66664
66665         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
66666         include ordering constraints.
66667
66668 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66669
66670         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
66671         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
66672         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
66673         as another example.
66674         * lib/time_.h: Fix misspelling.
66675         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66676         Require gl_HEADER_TIME_H_DEFAULTS.
66677         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
66678         * m4/time_r.m4 (gl_TIME_R): Likewise.
66679         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
66680
66681 2007-03-01  Bruno Haible  <bruno@clisp.org>
66682
66683         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
66684         * m4/utimens.m4 (gl_UTIMENS): Likewise.
66685
66686 2007-03-01  Jim Meyering  <jim@meyering.net>
66687
66688         * modules/xreadlink (Maintainer): Add my name.
66689         * modules/xreadlink-with-size (Depends-on): Alphabetize.
66690
66691 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
66692             Bruno Haible  <bruno@clisp.org>
66693
66694         * build-aux/install-reloc: Compile also c-ctype.c.
66695         * build-aux/relocatable.sh.in: New file.
66696         * doc/relocatable.texi: New file.
66697         * doc/relocatable-maint.texi: New file.
66698         * doc/gnulib.texi: Include relocatable-maint.texi.
66699         * lib/progreloc.c: Include unistd.h unconditionally.
66700         * lib/relocwrapper.c: Include unistd.h unconditionally.
66701         Include c-ctype.h.
66702         (add_dotbin): Use c_tolower.
66703         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
66704         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
66705         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
66706         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
66707         to m4/relocatable-lib.m4.
66708         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
66709         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
66710         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
66711         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
66712         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
66713         * modules/relocatable: New file.
66714         * modules/relocatable-lib: New file.
66715         * modules/relocatable-script: New file.
66716
66717 2007-02-28  Bruno Haible  <bruno@clisp.org>
66718
66719         Import --enable-relocatable infrastructure.
66720         * build-aux/config.libpath: New file, from GNU gettext.
66721         * build-aux/install-reloc: New file, from GNU gettext.
66722         * build-aux/reloc-ldflags: New file, from GNU gettext.
66723         * lib/relocatable.h: New file, from GNU gettext.
66724         * lib/relocatable.c: New file, from GNU gettext.
66725         * lib/relocwrapper.c: New file, from GNU gettext.
66726         * m4/relocatable.m4: New file, from GNU gettext.
66727
66728 2007-02-28  Bruno Haible  <bruno@clisp.org>
66729
66730         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
66731
66732         * modules/xreadlink: New file, from GNU gettext with modifications.
66733         * lib/xreadlink.c: New file, from GNU gettext.
66734         * lib/xreadlink.h: Add comments.
66735         (xreadlink): New declaration.
66736
66737         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
66738         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
66739         lib/xreadlink-with-size.c.
66740         (configure.ac): Remove gl_XREADLINK invocation.
66741         (Makefile.am): Augment lib_SOURCES.
66742         * m4/xreadlink.m4: Remove file.
66743         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
66744         (xreadlink_with_size): Renamed from xreadink.
66745         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
66746         * modules/canonicalize (Depends-on): Replace xreadlink with
66747         xreadlink-with-size.
66748         * lib/canonicalize.c (canonicalize_filename_mode): Update.
66749
66750 2007-02-25  Jim Meyering  <jim@meyering.net>
66751
66752         * build-aux/announce-gen: When complaining about excess arguments,
66753         list them.
66754
66755 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66756
66757         * README: Document signed integer overflow situation more
66758         accurately.
66759
66760 2007-02-25  Bruno Haible  <bruno@clisp.org>
66761
66762         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
66763         'a' or 'A' conversion.
66764
66765 2007-02-25  Bruno Haible  <bruno@clisp.org>
66766
66767         * modules/filename: Renamed from modules/pathname.
66768         (Files): Replace lib/pathname.h with lib/filename.h. Replace
66769         lib/concatpath.c with lib/concat-filename.c.
66770         (Makefile.am): Update.
66771         (Include): Replace pathname.h with filename.h.
66772         * lib/filename.h: Renamed from lib/pathname.h.
66773         (concatenated_filename): Renamed from concatenated_pathname.
66774         * lib/concat-filename.c: Renamed from lib/concatpath.c.
66775         (concatenated_filename): Renamed from concatenated_pathname.
66776         * lib/findprog.c: Include filename.h instead of pathname.h.
66777         (find_in_path): Update.
66778         * lib/javacomp.c: Include filename.h instead of pathname.h.
66779         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
66780         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
66781         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
66782         is_oldgcj_14_13_usable, is_javac_usable): Update.
66783         * lib/javaexec.c: Include filename.h instead of pathname.h.
66784         (execute_java_class): Update.
66785         * modules/findprog: Update.
66786         * modules/javacomp: Update.
66787         * modules/javaexec: Update.
66788         * MODULES.html.sh (File system functions): Add 'filename', remove
66789         'pathname'.
66790
66791 2007-02-25  Bruno Haible  <bruno@clisp.org>
66792
66793         * modules/printf-frexpl-tests: New file.
66794         * tests/test-printf-frexpl.c: New file.
66795
66796         * modules/printf-frexpl: New file.
66797         * lib/printf-frexpl.h: New file.
66798         * lib/printf-frexpl.c: New file.
66799         * m4/printf-frexpl.m4: New file.
66800
66801 2007-02-25  Bruno Haible  <bruno@clisp.org>
66802
66803         * modules/printf-frexp-tests: New file.
66804         * tests/test-printf-frexp.c: New file.
66805
66806         * modules/printf-frexp: New file.
66807         * lib/printf-frexp.h: New file.
66808         * lib/printf-frexp.c: New file.
66809         * m4/printf-frexp.m4: New file.
66810
66811 2007-02-25  Bruno Haible  <bruno@clisp.org>
66812
66813         Assume automake >= 1.10 for the tests.
66814         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
66815         * modules/arctwo-tests: Likewise.
66816         * modules/argp-tests: Likewise.
66817         * modules/avltree-list-tests: Likewise.
66818         * modules/avltree-oset-tests: Likewise.
66819         * modules/avltreehash-list-tests: Likewise.
66820         * modules/carray-list-tests: Likewise.
66821         * modules/crc-tests: Likewise.
66822         * modules/des-tests: Likewise.
66823         * modules/gc-arcfour-tests: Likewise.
66824         * modules/gc-arctwo-tests: Likewise.
66825         * modules/gc-des-tests: Likewise.
66826         * modules/gc-hmac-md5-tests: Likewise.
66827         * modules/gc-hmac-sha1-tests: Likewise.
66828         * modules/gc-md2-tests: Likewise.
66829         * modules/gc-md4-tests: Likewise.
66830         * modules/gc-md5-tests: Likewise.
66831         * modules/gc-pbkdf2-sha1-tests: Likewise.
66832         * modules/gc-rijndael-tests: Likewise.
66833         * modules/gc-sha1-tests: Likewise.
66834         * modules/gc-tests: Likewise.
66835         * modules/getaddrinfo-tests: Likewise.
66836         * modules/hmac-md5-tests: Likewise.
66837         * modules/hmac-sha1-tests: Likewise.
66838         * modules/linked-list-tests: Likewise.
66839         * modules/linkedhash-list-tests: Likewise.
66840         * modules/lock-tests: Likewise.
66841         * modules/md2-tests: Likewise.
66842         * modules/md4-tests: Likewise.
66843         * modules/md5-tests: Likewise.
66844         * modules/rbtree-list-tests: Likewise.
66845         * modules/rbtree-oset-tests: Likewise.
66846         * modules/rbtreehash-list-tests: Likewise.
66847         * modules/read-file-tests: Likewise.
66848         * modules/rijndael-tests: Likewise.
66849         * modules/stdint-tests: Likewise.
66850         * modules/tls-tests: Likewise.
66851
66852 2007-02-24  Bruno Haible  <bruno@clisp.org>
66853
66854         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
66855         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
66856         function; instead check whether isnan with a double argument links.
66857         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
66858         function; instead check whether isnan with a 'long double' argument
66859         links.
66860         Reported by Eric Blake <ebb9@byu.net>.
66861
66862 2007-02-24  Bruno Haible  <bruno@clisp.org>
66863
66864         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
66865         defined.
66866         * lib/isnanl.c: Remove all code. Just include isnan.c.
66867         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
66868
66869 2007-02-25  Jim Meyering  <jim@meyering.net>
66870
66871         Avoid conflicting types for 'unsetenv' on FreeBSD.
66872         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
66873         conflicting with FreeBSD's (5.0 and 6.1) function declaration
66874         in stdlib.h.
66875
66876 2007-02-24  Bruno Haible  <bruno@clisp.org>
66877
66878         * modules/isnanl-nolibm-tests: New file.
66879         * tests/test-isnanl.c: New file.
66880
66881         * modules/isnanl-nolibm: New file.
66882         * lib/isnanl.h: New file.
66883         * lib/isnanl.c: New file.
66884         * m4/isnanl.m4: New file.
66885
66886 2007-02-24  Bruno Haible  <bruno@clisp.org>
66887
66888         * modules/isnan-nolibm-tests: New file.
66889         * tests/test-isnan.c: New file.
66890
66891         * modules/isnan-nolibm: New file.
66892         * lib/isnan.h: New file.
66893         * lib/isnan.c: New file.
66894         * m4/isnan.m4: New file.
66895
66896 2007-02-24  Bruno Haible  <bruno@clisp.org>
66897
66898         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
66899         assume that an exponent fits in 20 bits.
66900
66901 2007-02-24  Jim Meyering  <jim@meyering.net>
66902
66903         * m4/regex.m4: Update the description of the configure-time option,
66904         --without-included-regex, to state accurately what the defaults are,
66905         and perhaps to give people an idea why using this option is risky.
66906
66907 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
66908
66909         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
66910         loops on small arguments.  This attempts to avoid the problem
66911         Bruno Haible reported for AIX 4.3.2 in
66912         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
66913
66914 2007-02-23  Bruno Haible  <bruno@clisp.org>
66915
66916         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
66917         Needed for help2man.
66918
66919 2007-02-23  Karl Berry  <karl@gnu.org>
66920
66921         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
66922         exists, foo.h should be cvs-ignored, not committed.
66923
66924 2007-02-23  Eric Blake  <ebb9@byu.net>
66925
66926         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
66927         * lib/stat-time.h (includes): Likewise.
66928         * lib/utimecmp.c (includes): Likewise.
66929         * lib/utimens.h (includes): Likewise.
66930         * lib/getdate.y (includes): Also include "timespec.h" for use
66931         internal to the module.
66932         * modules/utimens (Depends-on): Revert yesterday's patch.
66933         * modules/nanosleep (Depends-on): Add missing dependency.
66934
66935 2007-02-22  Bruno Haible  <bruno@clisp.org>
66936
66937         * lib/glob.c: Don't include getlogin_r.h.
66938
66939 2007-02-22  Jim Meyering  <jim@meyering.net>
66940
66941         * modules/utimens (Depends-on): Add timespec, required for
66942         utimens.h's inclusion of timespec.h.
66943
66944 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
66945
66946         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
66947         long unreadable paths in GNU/Linux.  Problem reported by Andreas
66948         Schwab in
66949         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
66950         I'll try to think of a better way to fix the Solaris problem.
66951
66952         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
66953         like glibc; on Solaris 10, it fails with errno == EINVAL.
66954         POSIX says the behavior is unspecified if the first argument is NULL,
66955         so play it safe and never pass NULL to the system getcwd.
66956
66957 2007-02-21  Jim Meyering  <jim@meyering.net>
66958
66959         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
66960         of gettimeofday.  It would conflict with the one now always
66961         provided via sys_time_.h.  Reported by Matthew Woehlke, as
66962         an IRIX 6.5 build failure.
66963
66964 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
66965
66966         Minor fixups to port to Solaris 10 with Sun C 5.8.
66967         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
66968         * modules/getcwd (Depends-on): Add dirfd.
66969         * lib/putenv.c (putenv): #undef it.
66970         (rpl_putenv): New decl.
66971         (malloc, free): Include <stdlib.h> rather than prototyping separately.
66972
66973 2007-02-20  Bruno Haible  <bruno@clisp.org>
66974
66975         * modules/stdio-tests: New file.
66976         * tests/test-stdio.c: New file.
66977
66978         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
66979         (Depends-on): Add stdio.
66980         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66981         (Include): Use <stdio.h> instead of vsnprintf.h.
66982         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66983         HAVE_DECL_VSNPRINTF.
66984         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
66985
66986         * modules/snprintf (Files): Remove lib/snprintf.h.
66987         (Depends-on): Add stdio.
66988         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66989         (Include): Use <stdio.h> instead of snprintf.h.
66990         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66991         HAVE_DECL_SNPRINTF.
66992         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
66993         * lib/getaddrinfo.c: Likewise.
66994
66995         * modules/stdio: New file.
66996         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
66997         * lib/snprintf.h: Remove file.
66998         * lib/vsnprintf.h: Remove file.
66999         * lib/.cppi-disable: Remove snprintf.h.
67000         * m4/stdio_h.m4: New file.
67001         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
67002
67003 2007-02-20  Jim Meyering  <jim@meyering.net>
67004
67005         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
67006         used by e.g., mingw.  From Bruno Haible.
67007
67008 2007-02-19  Bruno Haible  <bruno@clisp.org>
67009
67010         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
67011         warnings.
67012         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67013
67014 2007-02-19  Bruno Haible  <bruno@clisp.org>
67015
67016         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
67017         from mingw users.
67018
67019 2007-02-19  Bruno Haible  <bruno@clisp.org>
67020
67021         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
67022         warnings.
67023         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
67024
67025 2007-02-19  Jim Meyering  <jim@meyering.net>
67026
67027         Don't use FD after a successful "fdopendir (fd)".
67028         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
67029         Reset it by calling dirfd on the just-obtained DIR*.
67030
67031         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
67032         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
67033
67034 2007-02-18  Bruno Haible  <bruno@clisp.org>
67035
67036         * lib/readlink.c: Include <unistd.h>.
67037         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
67038         HAVE_READLINK.
67039         * modules/readlink (Depends-on): Add unistd.
67040         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67041         (Include): Add <unistd.h>.
67042
67043         * lib/getlogin_r.h: Remove file.
67044         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
67045         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
67046         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
67047         HAVE_DECL_GETLOGIN_R.
67048         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
67049         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67050         (Include): Use <unistd.h> instead of getlogin_r.h.
67051
67052         * lib/getcwd.h: Remove file.
67053         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
67054         * lib/xgetcwd.c: Likewise.
67055         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
67056         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
67057         * modules/getcwd (Files): Remove lib/getcwd.h.
67058         (Depends-on): Add unistd.
67059         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67060         (Include): Use <unistd.h> instad of getcwd.h.
67061
67062         * lib/ftruncate.c: Include <unistd.h> first.
67063         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
67064         Set HAVE_FTRUNCATE.
67065         * modules/ftruncate (Depends-on): Add unistd.
67066         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67067
67068         * lib/fchdir.c: Include <unistd.h> first.
67069         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
67070         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
67071         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
67072         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67073         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
67074
67075         * lib/dup2.c: Include <unistd.h> first.
67076         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
67077         HAVE_DUP2.
67078         * modules/dup2 (Depends-on): Add unistd.
67079         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67080
67081         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
67082         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
67083         REPLACE_CHOWN. Don't define chown as a macro here.
67084         * modules/chown (Depends-on): Add unistd.
67085         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67086
67087         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
67088         Add definition for GL_LINK_WARNING.
67089         (chown, dup2): New declarations.
67090         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
67091         link warning.
67092         (ftruncate): New declaration.
67093         (getcwd): New declaration, taken from old getcwd.h.
67094         (getlogin_r): New declaration, taken from old getlogin_r.h.
67095         (readlink): New declaration.
67096         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
67097         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
67098         (gl_PREREQ_UNISTD): Remove macro.
67099         (gl_UNISTD_MODULE_INDICATOR): New macro.
67100         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
67101         many new variables. Don't set UNISTD_H.
67102         * modules/unistd (Description): Change.
67103         (Depends-on): Add link-warning.
67104         (configure.ac): Update.
67105         (Makefile.am): Create unistd.h always. Substitute many new variables
67106         into it.
67107
67108 2007-02-18  Bruno Haible  <bruno@clisp.org>
67109
67110         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
67111         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
67112         HAVE_GETSUBOPT.
67113         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
67114         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
67115         * lib/getsubopt.h: Remove file.
67116         * modules/getsubopt (Files): Remove lib/getsubopt.h.
67117         (Depends-on): Add stdlib.
67118         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67119         (Includes): Use <stdlib.h> instead of getsubopt.h.
67120         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
67121         Set HAVE_GETSUBOPT.
67122         * lib/getsubopt.c: Don't include getsubopt.h.
67123
67124 2007-02-18  Bruno Haible  <bruno@clisp.org>
67125
67126         * modules/fchdir (Depends-on): Add dup2.
67127
67128 2007-02-18  Bruno Haible  <bruno@clisp.org>
67129
67130         * lib/stdlib_.h: Handle glibc's special invocation convention
67131         specially.
67132
67133 2007-02-18  Bruno Haible  <bruno@clisp.org>
67134
67135         * modules/stdlib-tests: New file.
67136         * tests/test-stdlib.c: New file.
67137
67138         * modules/mkstemp (Files): Remove lib/mkstemp.h.
67139         (Depends-on): Add stdlib.
67140         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67141         (Includes): Use <stdlib.h> instead of mkstemp.h.
67142         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67143         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
67144         * lib/mkstemp.c: Don't include mkstemp.h.
67145         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
67146         * lib/stdlib--.h: Don't include mkstemp.h.
67147
67148         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
67149         (Depends-on): Add stdlib.
67150         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67151         (Includes): Use <stdlib.h> instead of mkdtemp.h.
67152         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67153         HAVE_MKDTEMP.
67154         * lib/mkdtemp.c: Don't include mkdtemp.h.
67155         * lib/clean-temp.c: Don't include mkdtemp.h.
67156
67157         * modules/exit (Files): Remove lib/exit.h.
67158         (Depends-on): Add stdlib.
67159         (Makefile.am): Remove lib_SOURCES.
67160         (Include): Use <stdlib.h> instead of exit.h.
67161         * lib/argmatch.c: Don't include exit.h.
67162         * lib/execute.c: Likewise.
67163         * lib/pagealign_alloc.c: Likewise.
67164         * lib/pipe.c: Likewise.
67165         * lib/wait-process.c: Likewise.
67166         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
67167         * lib/exitfail.c: Likewise.
67168         * lib/savewd.c: Likewise.
67169         * lib/xsetenv.c: Likewise.
67170
67171         * modules/stdlib: New file.
67172         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
67173         and extra comments about mkstemp().
67174         * lib/exit.h: Remove file.
67175         * lib/mkdtemp.h: Remove file.
67176         * lib/mkstemp.h: Remove file.
67177         * m4/stdlib_h.m4: New file.
67178         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
67179
67180 2007-02-18  Bruno Haible  <bruno@clisp.org>
67181
67182         * modules/math-tests: New file.
67183         * tests/test-math.c: New file.
67184
67185         * modules/math: New file.
67186         * modules/mathl (Files): Remove lib/mathl.h.
67187         (Depends-on): Add math.
67188         (Makefile.am): Don't mention mathl.h.
67189         (Include): Use <math.h> instead of mathl.h.
67190         * lib/math_.h: New file.
67191         * lib/mathl.h: Remove file.
67192         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
67193         mathl.h.
67194         * lib/asinl.c: Likewise.
67195         * lib/atanl.c: Likewise.
67196         * lib/ceill.c: Likewise.
67197         * lib/cosl.c: Likewise.
67198         * lib/expl.c: Likewise.
67199         * lib/floorl.c: Likewise.
67200         * lib/frexpl.c: Likewise.
67201         * lib/ldexpl.c: Likewise.
67202         * lib/logl.c: Likewise.
67203         * lib/sincosl.c: Likewise.
67204         * lib/sinl.c: Likewise.
67205         * lib/sqrtl.c: Likewise.
67206         * lib/tanl.c: Likewise.
67207         * lib/trigl.c: Likewise.
67208         * m4/math_h.m4: New file.
67209         * MODULES.html.sh (Mathematics): Add math.
67210
67211 2007-02-17  Bruno Haible  <bruno@clisp.org>
67212
67213         * modules/wctype-tests: New file.
67214         * tests/test-wctype.c: New file.
67215
67216         * modules/wchar-tests: New file.
67217         * tests/test-wchar.c: New file.
67218
67219         * modules/unistd-tests: New file.
67220         * tests/test-unistd.c: New file.
67221
67222         * modules/time-tests: New file.
67223         * tests/test-time.c: New file.
67224
67225         * modules/sysexits-tests: New file.
67226         * tests/test-sysexits.c: New file.
67227
67228         * modules/sys_time-tests: New file.
67229         * tests/test-sys_time.c: New file.
67230
67231         * modules/sys_stat-tests: New file.
67232         * tests/test-sys_stat.c: New file.
67233
67234         * modules/sys_socket-tests: New file.
67235         * tests/test-sys_socket.c: New file.
67236
67237         * modules/sys_select-tests: New file.
67238         * tests/test-sys_select.c: New file.
67239
67240         * modules/string-tests: New file.
67241         * tests/test-string.c: New file.
67242
67243         * modules/stdbool-tests: New file.
67244         * tests/test-stdbool.c: New file.
67245
67246         * modules/netinet_in-tests: New file.
67247         * tests/test-netinet_in.c: New file.
67248
67249         * modules/inttypes-tests: New file.
67250         * tests/test-inttypes.c: New file.
67251
67252         * modules/fcntl-tests: New file.
67253         * tests/test-fcntl.c: New file.
67254
67255         * modules/byteswap-tests: New file.
67256         * tests/test-byteswap.c: New file.
67257
67258         * modules/arpa_inet-tests: New file.
67259         * tests/test-arpa_inet.c: New file.
67260
67261 2007-02-17  Bruno Haible  <bruno@clisp.org>
67262
67263         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
67264         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
67265         if the corresponding module is not enabled. Emit link warnings if
67266         the function is used nevertheless.
67267         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
67268         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
67269         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
67270         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
67271         * modules/inttypes (Depends-on): Add link-warning.
67272         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67273         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
67274         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
67275         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
67276         * modules/imaxdiv (configure.ac): Likewise.
67277         * modules/strtoimax (configure.ac): Likewise.
67278         * modules/strtoumax (configure.ac): Likewise.
67279
67280 2007-02-17  Bruno Haible  <bruno@clisp.org>
67281
67282         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
67283         gl_STRING_MODULE_INDICATOR_DEFAULTS.
67284         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
67285         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
67286
67287 2007-02-17  Bruno Haible  <bruno@clisp.org>
67288
67289         * modules/link-warning: New file.
67290         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
67291         * lib/string_.h (GL_LINK_WARNING): Remove definition.
67292         * modules/string (Depends-on): Add link-warning.
67293         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67294         string.h.
67295         * MODULES.html.sh (Support for building libraries and executables): Add
67296         link-warning.
67297
67298 2007-02-17  Bruno Haible  <bruno@clisp.org>
67299
67300         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
67301         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
67302         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
67303         long lines.
67304
67305 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
67306             Bruno Haible  <bruno@clisp.org>
67307
67308         * modules/tmpfile: New file.
67309         * lib/tmpfile.c: New file.
67310         * m4/tmpfile.m4: New file.
67311         * MODULES.html.sh (func_all_modules): New section "Input/output".
67312
67313 2007-02-15  Bruno Haible  <bruno@clisp.org>
67314
67315         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
67316         (supports_delete_on_close): New function.
67317         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
67318
67319 2007-02-14  Bruno Haible  <bruno@clisp.org>
67320
67321         * modules/mbspcasecmp-tests: New file.
67322         * tests/test-mbspcasecmp.sh: New file.
67323         * tests/test-mbspcasecmp.c: New file.
67324
67325         New module mbspcasecmp.
67326         * modules/mbspcasecmp: New file.
67327         * lib/mbspcasecmp.c: New file.
67328         * lib/string_.h (strncasecmp): Change warning message.
67329         (mbspcasecmp): New declaration.
67330         * m4/mbspcasecmp.m4: New file.
67331         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67332         GNULIB_MBSPCASECMP.
67333         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
67334         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
67335
67336 2007-02-14  Bruno Haible  <bruno@clisp.org>
67337
67338         * modules/mbsncasecmp-tests: New file.
67339         * tests/test-mbsncasecmp.sh: New file.
67340         * tests/test-mbsncasecmp.c: New file.
67341
67342         New module mbsncasecmp.
67343         * modules/mbsncasecmp: New file.
67344         * lib/mbsncasecmp.c: New file.
67345         * lib/string_.h (mbsncasecmp): New declaration.
67346         * m4/mbsncasecmp.m4: New file.
67347         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67348         GNULIB_MBSNCASECMP.
67349         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
67350         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
67351
67352 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
67353
67354         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
67355         Verify that it doesn't overlap with our flags.
67356         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
67357         do not have the desired effect in multibyte locales; instead, use
67358         mbscasecmp.
67359         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
67360         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
67361         we don't require GNU fnmatch ourselves (if our users require it, they
67362         should do so explicitly).
67363
67364         Fix regex code so it doesn't rely on strcasecmp.
67365         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
67366         Otherwise, include gnulib's langinfo.h.
67367         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
67368         undesirable behavior in non-C locales.  Instead, rely on localecharset.
67369         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
67370         * modules/regex (FILES): Remove m4/codeset.m4.
67371         (Depends-on): Add localcharset.  Remove strcase.
67372
67373 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67374
67375         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
67376         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
67377
67378 2007-02-13  Bruno Haible  <bruno@clisp.org>
67379
67380         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
67381         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67382
67383 2007-02-12  Bruno Haible  <bruno@clisp.org>
67384
67385         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67386         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
67387         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
67388         time warning rather than a link error.
67389
67390 2007-02-12  Bruno Haible  <bruno@clisp.org>
67391
67392         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
67393         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
67394         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67395
67396 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67397
67398         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
67399         args, not 2.
67400
67401 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67402
67403         New module 'time', so that apps can include <time.h> as per
67404         POSIX and GNU instead of separate include files like time_r.h
67405         and timegm.h.  This implementation tries out a simpler approach
67406         for replacing decls in standard include files (as compared to
67407         the string module), somewhat as an experiment.
67408
67409         * config/srclist.txt: Comment out mktime.c for now.
67410         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
67411         since it doesn't apply any more.  Use generic wording instead.
67412         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
67413         'time'.
67414         * lib/time_.h, m4/time_h.m4, modules/time: New files.
67415         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
67416         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
67417         Don't include <sys/types.h>; no longer needed since we assume C89.
67418         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
67419         * lib/strftime.c: Likewise.
67420         * lib/time_r.c: Likewise.
67421         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
67422         * lib/nanosleep.c: Include <time.h> first, to check interface.
67423         * lib/strptime.c: Likewise.
67424         * lib/time_r.c: Likewise.
67425         * lib/timegm.c: Likewise.
67426         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
67427         needed.
67428         * lib/timegm.c: Don't include timegm.h; no longer needed.
67429         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
67430         time.h now handles any problems in that area.
67431         (struct timespec, nanosleep): Remove; time.h now arranges for these.
67432         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
67433         that time.h defines struct timespec.
67434         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
67435         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
67436         handles that.
67437         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
67438         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
67439         needed.  Set REPLACE_LOCALTIME.
67440         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
67441         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
67442         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
67443         nanosleep; time_h.m4 now does that.  Don't require
67444         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
67445         module handles this now.
67446         * modules/getdate (Depends-on): Remove timespec.  Add time.
67447         * modules/nanosleep (Depends-on): Likewise.
67448         * modules/stat-time (Depends-on): Likewise.
67449         * modules/nanosleep (Include): Include time.h, not timespec.h.
67450         * modules/strptime (Files): Remove lib/strptime.h.
67451         (Depends-on): Add extensions, time.
67452         (Include): Include time.h, not strptime.h.
67453         * modules/time_r (Files): Remove lib/time_r.h.
67454         (Depends-on): Add time.
67455         (Include): Include time.h, not time_r.h.
67456         * modules/timegm: Likewise.
67457         * modules/timespec (Description): Now does timespec-related decls
67458         of our own, instead of struct timespec itself.
67459         (Depends-on): Add time; remove extensions.
67460         (Maintainer): Add self.
67461         * modules/utimecmp (Depends-on): Add time; remove timespec.
67462         * modules/utimens (Depends-on): Likewise.
67463         * modules/xnanosleep (Depends-on): Likewise.
67464
67465 2007-02-11  Bruno Haible  <bruno@clisp.org>
67466
67467         * lib/c-strstr.c: Include allocsa.h.
67468         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67469         * lib/c-strcasestr.c: Include allocsa.h.
67470         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67471         * lib/strcasestr.c: Include allocsa.h.
67472         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67473         * lib/mbsstr.c: Include allocsa.h.
67474         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67475         allocsa/freesa instead of malloc/free.
67476         * lib/mbscasestr.c: Include allocsa.h.
67477         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67478         allocsa/freesa instead of malloc/free.
67479         * modules/c-strstr (Depends-on): Add allocsa.
67480         * modules/c-strcasestr (Depends-on): Likewise.
67481         * modules/strcasestr (Depends-on): Likewise.
67482         * modules/mbsstr (Depends-on): Likewise.
67483         * modules/mbscasestr (Depends-on): Likewise.
67484
67485 2007-02-11  Bruno Haible  <bruno@clisp.org>
67486
67487         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
67488
67489         * modules/mbsspn-tests: New file.
67490         * tests/test-mbsspn.sh: New file.
67491         * tests/test-mbsspn.c: New file.
67492
67493 2007-02-11  Bruno Haible  <bruno@clisp.org>
67494
67495         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
67496
67497         * modules/mbspbrk-tests: New file.
67498         * tests/test-mbspbrk.sh: New file.
67499         * tests/test-mbspbrk.c: New file.
67500
67501 2007-02-11  Bruno Haible  <bruno@clisp.org>
67502
67503         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
67504         unneeded cast.
67505
67506         * modules/mbscspn-tests: New file.
67507         * tests/test-mbscspn.sh: New file.
67508         * tests/test-mbscspn.c: New file.
67509
67510 2007-02-11  Bruno Haible  <bruno@clisp.org>
67511
67512         * modules/mbscasecmp-tests: New file.
67513         * tests/test-mbscasecmp.sh: New file.
67514         * tests/test-mbscasecmp.c: New file.
67515
67516 2007-02-11  Bruno Haible  <bruno@clisp.org>
67517
67518         Ensure O(n) worst-case complexity of mbscasestr.
67519         * lib/mbscasestr.c: Include stdbool.h.
67520         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67521         functions.
67522         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
67523         the bookkeeping indicates that it's worth it.
67524         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
67525
67526         * modules/mbscasestr-tests: New file.
67527         * tests/test-mbscasestr1.c: New file.
67528         * tests/test-mbscasestr2.sh: New file.
67529         * tests/test-mbscasestr2.c: New file.
67530         * tests/test-mbscasestr3.sh: New file.
67531         * tests/test-mbscasestr3.c: New file.
67532         * tests/test-mbscasestr4.sh: New file.
67533         * tests/test-mbscasestr4.c: New file.
67534         * m4/locale-tr.m4: New file.
67535
67536 2007-02-11  Bruno Haible  <bruno@clisp.org>
67537
67538         Ensure O(n) worst-case complexity of mbsstr.
67539         * lib/mbsstr.c: Include stdbool.h.
67540         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67541         functions.
67542         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
67543         bookkeeping indicates that it's worth it.
67544         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
67545
67546         * modules/mbsstr-tests: New file.
67547         * tests/test-mbsstr1.c: New file.
67548         * tests/test-mbsstr2.sh: New file.
67549         * tests/test-mbsstr2.c: New file.
67550         * tests/test-mbsstr3.sh: New file.
67551         * tests/test-mbsstr3.c: New file.
67552         * m4/locale-fr.m4: New file.
67553
67554 2007-02-11  Bruno Haible  <bruno@clisp.org>
67555
67556         * lib/mbsrchr.c (mbsrchr): Fix bug.
67557
67558         * modules/mbsrchr-tests: New file.
67559         * tests/test-mbsrchr.sh: New file.
67560         * tests/test-mbsrchr.c: New file.
67561
67562 2007-02-11  Bruno Haible  <bruno@clisp.org>
67563
67564         * lib/mbschr.c (mbschr): Fix bug.
67565
67566         * modules/mbschr-tests: New file.
67567         * tests/test-mbschr.sh: New file.
67568         * tests/test-mbschr.c: New file.
67569         * m4/locale-zh.m4: New file.
67570
67571 2007-02-11  Bruno Haible  <bruno@clisp.org>
67572
67573         Support for copying multibyte string iterators.
67574         * lib/mbiter.h: Include <string.h>.
67575         (mbiter_multi_copy): New function.
67576         (mbi_copy): New macro.
67577         * lib/mbuiter.h: Include <string.h>.
67578         (mbuiter_multi_copy): New function.
67579         (mbui_copy): New macro.
67580
67581 2007-02-11  Bruno Haible  <bruno@clisp.org>
67582
67583         New module mbslen.
67584         * modules/mbslen: New file.
67585         * lib/mbslen.c: New file.
67586         * lib/string_.h (mbslen): New declaration.
67587         * m4/mbslen.m4: New file.
67588         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67589         GNULIB_MBSLEN.
67590         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
67591         * MODULES.html.sh (Internationalization functions): Add mbslen.
67592
67593 2007-02-11  Bruno Haible  <bruno@clisp.org>
67594
67595         Ensure O(n) worst-case complexity of strcasestr substitute.
67596         * lib/strcasestr.c: Include stdbool.h.
67597         (knuth_morris_pratt): New function.
67598         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67599         bookkeeping indicates that it's worth it.
67600         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
67601
67602         * modules/strcasestr-tests: New file.
67603         * tests/test-strcasestr.c: New file.
67604
67605 2007-02-11  Bruno Haible  <bruno@clisp.org>
67606
67607         Ensure O(n) worst-case complexity of c_strcasestr.
67608         * lib/c-strcasestr.c: Include stdbool.h, string.h.
67609         (knuth_morris_pratt): New function.
67610         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
67611         the bookkeeping indicates that it's worth it.
67612         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
67613
67614         * modules/c-strcasestr-tests: New file.
67615         * tests/test-c-strcasestr.c: New file.
67616
67617 2007-02-11  Bruno Haible  <bruno@clisp.org>
67618
67619         Ensure O(n) worst-case complexity of c_strstr.
67620         * lib/c-strstr.c: Include stdbool.h, string.h.
67621         (knuth_morris_pratt): New function.
67622         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67623         bookkeeping indicates that it's worth it.
67624         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
67625
67626         * lib/c-strstr.c: Complete rewrite for maintainability.
67627
67628         * modules/c-strstr-tests: New file.
67629         * tests/test-c-strstr.c: New file.
67630
67631 2007-02-11  Bruno Haible  <bruno@clisp.org>
67632
67633         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
67634         5.2.1 and earlier, whereby \055 was treated just like the range
67635         delimiter '-'.
67636         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67637
67638 2007-02-08  Bruno Haible  <bruno@clisp.org>
67639
67640         * modules/regex (Depends-on): Add stdbool.
67641         Reported by Dalibor Topic <robilad@kaffe.org>.
67642
67643 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
67644
67645         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
67646         Prefer returning from main to exiting from it.
67647         Remove unnecessary parens after sizeof.
67648
67649 2007-02-05  Bruno Haible  <bruno@clisp.org>
67650
67651         New module mbssep.
67652         * modules/mbssep: New file.
67653         * lib/mbssep.c: New file.
67654         * lib/string_.h (strsep): Add a conditional link warning.
67655         (mbssep): New declaration.
67656         * m4/mbssep.m4: New file.
67657         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67658         GNULIB_MBSSEP.
67659         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
67660         * MODULES.html.sh (Internationalization functions): Add mbssep.
67661
67662 2007-02-05  Bruno Haible  <bruno@clisp.org>
67663
67664         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
67665         Optimize search in case of 1 delimiter.
67666
67667 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67668
67669         * lib/acl.h: Include sys/types.h before sys/acl.h.
67670
67671 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67672
67673         Merge upstream fix for glibc bugzilla #3957:
67674
67675         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
67676
67677         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
67678         bit for RE_HAT_LISTS_NOT_NEWLINE.
67679         (build_charclass_op): Remove bogus comment.
67680
67681 2007-02-05  Simon Josefsson  <simon@josefsson.org>
67682
67683         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
67684
67685 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67686
67687         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
67688         * lib/memmem.c [!defined _LIBC]: Include config.h.
67689
67690 2007-02-04  Bruno Haible  <bruno@clisp.org>
67691
67692         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
67693         warning message.
67694
67695 2007-02-04  Bruno Haible  <bruno@clisp.org>
67696
67697         New module mbstok_r.
67698         * modules/mbstok_r: New file.
67699         * lib/mbstok_r.c: New file.
67700         * lib/string_.h (strtok_r): Change argument names to match the
67701         comments. Add a conditional link warning.
67702         (mbstok_r): New declaration.
67703         * m4/mbstok_r.m4: New file.
67704         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67705         GNULIB_MBSTOK_R.
67706         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
67707         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
67708
67709 2007-02-04  Bruno Haible  <bruno@clisp.org>
67710
67711         New module mbsspn.
67712         * modules/mbsspn: New file.
67713         * lib/mbsspn.c: New file.
67714         * lib/string_.h (strspn): Add a conditional link warning.
67715         (mbsspn): New declaration.
67716         * m4/mbsspn.m4: New file.
67717         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67718         GNULIB_MBSSPN.
67719         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
67720         * MODULES.html.sh (Internationalization functions): Add mbsspn.
67721
67722 2007-02-04  Bruno Haible  <bruno@clisp.org>
67723
67724         New module mbspbrk.
67725         * modules/mbspbrk: New file.
67726         * lib/mbspbrk.c: New file.
67727         * lib/string_.h (strpbrk): Add a conditional link warning.
67728         (mbspbrk): New declaration.
67729         * m4/mbspbrk.m4: New file.
67730         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67731         GNULIB_MBSPBRK.
67732         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
67733         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
67734
67735 2007-02-04  Bruno Haible  <bruno@clisp.org>
67736
67737         New module mbscspn.
67738         * modules/mbscspn: New file.
67739         * lib/mbscspn.c: New file.
67740         * lib/string_.h (strcspn): Add a conditional link warning.
67741         (mbscspn): New declaration.
67742         * m4/mbscspn.m4: New file.
67743         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67744         GNULIB_MBSCSPN.
67745         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
67746         * MODULES.html.sh (Internationalization functions): Add mbscspn.
67747
67748 2007-02-04  Bruno Haible  <bruno@clisp.org>
67749
67750         New module mbscasestr, reduced goal of strcasestr.
67751         * modules/mbscasestr: New file.
67752         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
67753         (mbscasestr): Renamed from strcasestr.
67754         * lib/strcasestr.c: Don't include mbuiter.h.
67755         (strcasestr): Remove support for multibyte locales.
67756         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
67757         Change the conditional link warning.
67758         (mbscasestr): New declaration.
67759         * m4/mbscasestr.m4: New file.
67760         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
67761         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
67762         REPLACE_STRCASESTR.
67763         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
67764         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67765         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67766         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
67767         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
67768         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67769         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
67770         (Depends-on): Remove mbuiter.
67771         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
67772
67773 2007-02-04  Bruno Haible  <bruno@clisp.org>
67774
67775         Simplify handling of strncasecmp.
67776         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
67777         the conditional link warning.
67778         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67779         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
67780         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
67781         * modules/strcase (configure.ac): Don't invoke
67782         gl_STRING_MODULE_INDICATOR.
67783         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
67784
67785 2007-02-04  Bruno Haible  <bruno@clisp.org>
67786
67787         New module mbscasecmp, reduced goal of strcasecmp.
67788         * modules/mbscasecmp: New file.
67789         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
67790         (mbscasecmp): Renamed from strcasecmp.
67791         * lib/strcasecmp.c: Don't include mbuiter.h.
67792         (strcasecmp): Remove support for multibyte locales.
67793         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
67794         Change the conditional link warning.
67795         (mbscasecmp): New declaration.
67796         * m4/mbscasecmp.m4: New file.
67797         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
67798         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
67799         REPLACE_STRCASECMP.
67800         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
67801         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67802         GNULIB_MBSCASECMP.
67803         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
67804         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
67805         * modules/strcase (Files): Remove m4/mbrtowc.m4.
67806         (Depends-on): Remove mbuiter.
67807         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
67808
67809 2007-02-04  Bruno Haible  <bruno@clisp.org>
67810
67811         New module mbsstr. Remove module strstr.
67812         * modules/mbsstr: New file.
67813         * modules/strstr: Remove file.
67814         * lib/mbsstr.c: Renamed from lib/strstr.c.
67815         (mbsstr): Renamed from strstr.
67816         * lib/string_.h (strstr): Remove declaration. Change the conditional
67817         link warning.
67818         (mbsstr): New declaration.
67819         * m4/mbsstr.m4: New file.
67820         * m4/strstr.m4: Remove file.
67821         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
67822         REPLACE_STRSTR.
67823         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
67824         Don't initialize GNULIB_STRSTR.
67825         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
67826         substitute GNULIB_STRSTR and REPLACE_STRSTR.
67827         * MODULES.html.sh (Internationalization functions): Add mbsstr.
67828         (Support for systems lacking ANSI C 89): Remove strstr.
67829
67830 2007-02-04  Bruno Haible  <bruno@clisp.org>
67831
67832         New module mbsrchr.
67833         * modules/mbsrchr: New file.
67834         * lib/mbsrchr.c: New file.
67835         * lib/string_.h (strrchr): Add a conditional link warning.
67836         (mbsrchr): New declaration.
67837         * m4/mbsrchr.m4: New file.
67838         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67839         GNULIB_MBSRCHR.
67840         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
67841         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
67842
67843 2007-02-04  Bruno Haible  <bruno@clisp.org>
67844
67845         New module mbschr.
67846         * modules/mbschr: New file.
67847         * lib/mbschr.c: New file.
67848         * lib/string_.h (strchr): Add a conditional link warning.
67849         (mbschr): New declaration.
67850         * m4/mbschr.m4: New file.
67851         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67852         GNULIB_MBSCHR.
67853         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
67854         * MODULES.html.sh (Internationalization functions): Add mbschr.
67855
67856 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67857
67858         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
67859
67860         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
67861
67862 2007-02-04  Bruno Haible  <bruno@clisp.org>
67863
67864         New module description section 'configure.ac-early'.
67865         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
67866         (func_get_autoconf_early_snippet): New function.
67867         (func_import, func_create_testdir): Use it. Remove special cases for
67868         modules 'extensions' and 'lock'.
67869         * modules/extensions (configure.ac-early): Require
67870         gl_USE_SYSTEM_EXTENSIONS.
67871         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
67872
67873 2007-02-04  Bruno Haible  <bruno@clisp.org>
67874
67875         Make use of gcj-4.3's -fsource and -ftarget option.
67876         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
67877         and if so try the options -fsource and -ftarget.
67878         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
67879         source_version, ftarget_option, target_version arguments.
67880         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
67881         (is_envjavac_oldgcj_14_14_usable): Renamed from
67882         is_envjavac_gcj_14_14_usable.
67883         (is_envjavac_oldgcj_14_13_usable): Renamed from
67884         is_envjavac_gcj_14_13_usable.
67885         (is_gcj_present): Update.
67886         (is_gcj_43, is_gcj43_usable): New functions.
67887         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
67888         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
67889         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
67890         try the options -fsource and -ftarget.
67891
67892 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67893
67894         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
67895         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
67896         larger value.
67897
67898 2007-02-03  Jim Meyering  <jim@meyering.net>
67899
67900         Give tools a better chance to allocate space for very large buffers.
67901         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
67902
67903         Make pwd and readlink work also when run with an unreadable parent dir
67904         on systems with openat support.
67905         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
67906         provided getcwd function, even when we have openat support.
67907         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
67908
67909 2007-02-02  Bruno Haible  <bruno@clisp.org>
67910
67911         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67912         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
67913         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
67914         portability problems if one of these functions is only used on specific
67915         platforms.
67916         Reported by Paul Eggert.
67917
67918 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
67919
67920         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
67921         is causing more trouble than it's curing.
67922         * lib/regex_internal.h (__mempcpy): Remove.
67923         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
67924         (and make the code a tad smaller to boot).
67925         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
67926
67927 2007-02-02  Jim Meyering  <jim@meyering.net>
67928
67929         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
67930         section, not in the Makefile.am: one.
67931
67932 2007-02-02  Eric Blake  <ebb9@byu.net>
67933
67934         * lib/strchrnul.c: Always include config.h first.
67935
67936         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
67937         gnulib strstr is not necessary here.
67938
67939 2007-02-02  Simon Josefsson  <simon@josefsson.org>
67940
67941         * m4/socklen.m4: Fix typo.
67942
67943 2007-02-02  Eric Blake  <ebb9@byu.net>
67944
67945         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
67946         * modules/netinet_in (Makefile.am): Likewise.
67947
67948 2007-02-01  Bruno Haible  <bruno@clisp.org>
67949
67950         * lib/string_.h (GL_LINK_WARNING): New macro.
67951         (strcasecmp, strstr, strcasestr): If provided by the system,
67952         conditionally define as a macro that leads to a warning instead of to
67953         an error.
67954         (strncasecmp): Conditionally define as a macro that leads to a warning.
67955
67956 2007-02-01  Karl Berry  <karl@gnu.org>
67957
67958         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
67959
67960 2007-02-01  Bruno Haible  <bruno@clisp.org>
67961
67962         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
67963         renamings.
67964
67965 2007-02-01  Eric Blake  <ebb9@byu.net>
67966
67967         * modules/regex (Depends-on): Revert dependence on mempcpy.
67968         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
67969         module's definition of mempcpy.
67970         Reported by Paul Eggert.
67971
67972 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
67973
67974         * lib/string_.h: If the gnulib module XYZ is not present, undefine
67975         the symbol XYZ before redefining it.  This fixes a problem with
67976         programs that don't use XYZ, when compiled on systems that define
67977         XYZ to something else.
67978
67979 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
67980
67981         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
67982         occurs when "mkdir -m foo" creates a setgid directory that is (1)
67983         writeable to group or other and (2) is intended to have a special
67984         mode bit that is set or cleared.  In such a case, the directory
67985         should be neither group- nor other-writeable until the special
67986         mode bits are right.
67987
67988 2007-01-31  Eric Blake  <ebb9@byu.net>
67989
67990         * modules/mountlist (Depends-on): Add strstr.
67991
67992         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
67993         bug.
67994         * modules/string (Makefile.am): Remove redundant replacement.
67995         * modules/regex (Depends-on): Add mempcpy.
67996
67997 2007-01-31  Bruno Haible  <bruno@clisp.org>
67998
67999         New module description field 'Link'.
68000         * gnulib-tool (func_usage): Document --extract-link-directive.
68001         (sed_extract_prog): Recognize 'Link' directive.
68002         (func_get_link_directive): New function.
68003         (func_import): Show summary of link directives.
68004         Handle --extract-link-directive option.
68005         * modules/acl (Link): New section.
68006         * modules/clock-time (Link): New section.
68007         * modules/euidaccess (Link): New section.
68008         * modules/gettext (Link): New section.
68009         * modules/iconv (Link): New section.
68010         * modules/lock (Link): New section.
68011         * modules/nanosleep (Link): New section.
68012         * modules/readline (Link): New section.
68013
68014 2007-01-27  Bruno Haible  <bruno@clisp.org>
68015
68016         Enforce the use of gnulib modules for unportable <string.h> functions.
68017         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
68018         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
68019         (gl_HEADER_STRING_H_BODY): Require it.
68020         * lib/string_.h: If the gnulib module XYZ is not present, redefine
68021         the symbol XYZ to one that gives a link error.
68022         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
68023         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
68024         * modules/mempcpy (configure.ac): Likewise.
68025         * modules/memrchr (configure.ac): Likewise.
68026         * modules/stpcpy (configure.ac): Likewise.
68027         * modules/stpncpy (configure.ac): Likewise.
68028         * modules/strcase (configure.ac): Likewise.
68029         * modules/strcasestr (configure.ac): Likewise.
68030         * modules/strchrnul (configure.ac): Likewise.
68031         * modules/strdup (configure.ac): Likewise.
68032         * modules/strndup (configure.ac): Likewise.
68033         * modules/strnlen (configure.ac): Likewise.
68034         * modules/strpbrk (configure.ac): Likewise.
68035         * modules/strsep (configure.ac): Likewise.
68036         * modules/strstr (configure.ac): Likewise.
68037         * modules/strtok_r (configure.ac): Likewise.
68038
68039 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
68040
68041         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
68042
68043 2007-01-30  Jim Meyering  <jim@meyering.net>
68044
68045         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
68046
68047 2007-01-29  Bruno Haible  <bruno@clisp.org>
68048
68049         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
68050         * lib/execute.c: Likewise.
68051         * lib/pipe.c: Likewise.
68052         * lib/printf-args.h: Likewise.
68053         * lib/printf-args.c: Likewise.
68054         * lib/printf-parse.c: Likewise.
68055         * lib/vasnprintf.c: Likewise.
68056
68057 2007-01-29  Eric Blake  <ebb9@byu.net>
68058
68059         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
68060         declaration.
68061
68062 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
68063
68064         * lib/strptime.h (strptime): Use 'restrict' for args where
68065         POSIX requires this.
68066         * lib/strptime.c (strptime): Likewise.
68067         Change license notice from LGPL to GPL, since gnulib-tool will
68068         change this as needed.
68069         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
68070         defined.
68071         Include "strptime.h" first, to check interface.
68072         Do not #undef _LIBC and _NL_CURRENT.
68073         Do not include <stdlib.h>; no longer needed.
68074         Include "time_r.h" and declare ptime_locale_status
68075         only if _LIBC is not defined.
68076         (__P): Remove unused macro.
68077         (match_string): Bring back glibc version, but use it only if _LIBC
68078         is defined.
68079         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
68080         Remove unnecessary assertion and abort() call.
68081         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
68082         * m4/strptime.m4: Fix serial number comment.
68083         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
68084         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
68085         (Depends-on): Add time_r.
68086
68087 2007-01-29  Bruno Haible  <bruno@clisp.org>
68088
68089         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68090         strptime.
68091         * modules/strptime (Depends-on): Add stdbool.
68092         * lib/strptime.h: Include <time.h> always. Add comments.
68093
68094 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68095
68096         * modules/strptime: New file.
68097         * lib/strptime.h: New file.
68098         * lib/strptime.c: New file.
68099         * m4/strptime.m4: New file.
68100
68101 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68102
68103         * MODULES.html.sh: New module mpsort.
68104         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
68105
68106         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
68107         a circularity problem with HP-UX ia64 reported by Bob Proulx in
68108         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
68109         All uses changed.
68110         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
68111         All uses changed.
68112         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
68113         to _Restrict_.
68114         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
68115         the parameter matches the prototype.
68116
68117 2007-01-28  Jim Meyering  <jim@meyering.net>
68118
68119         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
68120         sys/time.h here, reverting that part of the previous patch:
68121         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
68122
68123 2007-01-28  Bruno Haible  <bruno@clisp.org>
68124
68125         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
68126         value of $(SYS_TIME_H).
68127         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
68128         remove it conditionally, too. [added by Jim Meyering]
68129         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
68130         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68131         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
68132         GETTIMEOFDAY_REPLACEMENT to 1.
68133
68134 2007-01-28  Bruno Haible  <bruno@clisp.org>
68135
68136         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
68137         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
68138         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
68139         Set UNISTD_H instead of UNISTD_H2.
68140         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
68141
68142 2007-01-28  Bruno Haible  <bruno@clisp.org>
68143
68144         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
68145         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
68146
68147 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68148
68149         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
68150         (func_create_testdir): Ensure C locale for `grep' and `tr'
68151         character ranges.
68152         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
68153         ACLOCAL_AMFLAGS parsing state machine.
68154
68155 2007-01-27  Bruno Haible  <bruno@clisp.org>
68156
68157         * modules/unistr/base: Update.
68158
68159 2007-01-27  Bruno Haible  <bruno@clisp.org>
68160
68161         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
68162         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
68163         * modules/unistr/u32-mbtouc-unsafe: Renamed from
68164         modules/unistr/u32-mbtouc.
68165         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
68166         * lib/unistr.h: Update.
68167         * lib/linebreak.c: Update.
68168         * modules/unistr/u32-mbtouc: Renamed from
68169         modules/unistr/u32-mbtouc-safe.
68170         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
68171         * lib/unistr.h: Update.
68172         * lib/unistr/u32-to-u8.c: Update.
68173         * lib/unistr/u32-to-u16.c: Update.
68174
68175 2007-01-27  Bruno Haible  <bruno@clisp.org>
68176
68177         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
68178         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
68179         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
68180         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
68181         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
68182         * modules/unistr/u16-mbtouc-unsafe: Renamed from
68183         modules/unistr/u16-mbtouc.
68184         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
68185         * lib/unistr.h: Update.
68186         * lib/linebreak.c: Update.
68187         * modules/linebreak: Update.
68188         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
68189         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
68190         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
68191         * modules/unistr/u16-mbtouc: Renamed from
68192         modules/unistr/u16-mbtouc-safe.
68193         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
68194         * lib/unistr.h: Update.
68195         * lib/unistr/u16-to-u8.c: Update.
68196         * modules/unistr/u16-to-u8: Update.
68197         * lib/unistr/u16-to-u32.c: Update.
68198         * modules/unistr/u16-to-u32: Update.
68199
68200 2007-01-27  Bruno Haible  <bruno@clisp.org>
68201
68202         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
68203         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
68204         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
68205         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
68206         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
68207         * modules/unistr/u8-mbtouc-unsafe: Renamed from
68208         modules/unistr/u8-mbtouc.
68209         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
68210         * lib/unistr.h: Update.
68211         * lib/striconveh.c: Update.
68212         * modules/striconveh: Update.
68213         * lib/linebreak.c: Update.
68214         * modules/linebreak: Update.
68215         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
68216         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
68217         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
68218         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
68219         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
68220         * lib/unistr.h: Update.
68221         * lib/striconveh.c: Update.
68222         * modules/striconveh: Update.
68223         * lib/unistr/u8-to-u16.c: Update.
68224         * modules/unistr/u8-to-u16: Update.
68225         * lib/unistr/u8-to-u32.c: Update.
68226         * modules/unistr/u8-to-u32: Update.
68227
68228 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68229
68230         Sync from Libtool.
68231         * lib/argz.c: Do not include strings.h nor memory.h, include
68232         string.h unconditionally.  Patch by Simon Josefsson.
68233
68234 2007-01-27  Bruno Haible  <bruno@clisp.org>
68235
68236         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
68237         from gl_HEADER_STRING_H_BODY.
68238         (gl_HEADER_STRING_H_BODY): Require it.
68239         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
68240         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
68241         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
68242         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
68243         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
68244         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
68245         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
68246         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
68247         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
68248         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
68249         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
68250         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
68251         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
68252         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
68253         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
68254
68255 2007-01-27  Bruno Haible  <bruno@clisp.org>
68256
68257         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
68258         check_PROGRAMS into noinst_PROGRAMS.
68259         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
68260         check_PROGRAMS in this case.
68261         (func_import): Set for_test to false.
68262         (func_create_testdir): Set for_test to true.
68263
68264 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68265             Bruno Haible  <bruno@clisp.org>
68266
68267         * modules/strcasestr (Files): Remove lib/strcasestr.h.
68268         (Depends-on): Add string.
68269         (Includes): Use <string.h> instead of strcasestr.h.
68270         * modules/string (Makefile.am): Also substitute the value of
68271         REPLACE_STRCASESTR.
68272         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
68273         assume strcasestr is declared in <string.h> not <strings.h>. Also
68274         set REPLACE_STRCASESTR.
68275         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
68276         REPLACE_STRCASESTR.
68277         * lib/strcasestr.h: Remove file.
68278         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
68279         * lib/string_.h (strcasestr): New declaration.
68280
68281 2007-01-27  Bruno Haible  <bruno@clisp.org>
68282
68283         * lib/string_.h: Use 'extern'.
68284
68285 2007-01-27  Jim Meyering  <jim@meyering.net>
68286
68287         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
68288         of set-but-not-used local, "q".
68289
68290         * lib/mempcpy.c: Include <config.h> before <string.h>.
68291         This fixes a compilation error on HP-UX, due to the system's
68292         "restrict"-using mempcpy prototype.
68293
68294 2007-01-26  Bruno Haible  <bruno@clisp.org>
68295
68296         Small optimization.
68297         * lib/javacomp.c: Include c-strstr.h.
68298          (is_envjavac_gcj): Use c_strstr instead of strstr.
68299         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
68300
68301 2007-01-26  Bruno Haible  <bruno@clisp.org>
68302
68303         * MODULES.html.sh (Unicode string functions): Add the new modules.
68304
68305         * modules/uniconv/u32-strconv-to-locale: New file.
68306         * lib/uniconv/u32-strconv-to-locale.c: New file.
68307
68308         * modules/uniconv/u16-strconv-to-locale: New file.
68309         * lib/uniconv/u16-strconv-to-locale.c: New file.
68310
68311         * modules/uniconv/u8-strconv-to-locale: New file.
68312         * lib/uniconv/u8-strconv-to-locale.c: New file.
68313
68314         * modules/uniconv/u32-strconv-from-locale: New file.
68315         * lib/uniconv/u32-strconv-from-locale.c: New file.
68316
68317         * modules/uniconv/u16-strconv-from-locale: New file.
68318         * lib/uniconv/u16-strconv-from-locale.c: New file.
68319
68320         * modules/uniconv/u8-strconv-from-locale: New file.
68321         * lib/uniconv/u8-strconv-from-locale.c: New file.
68322
68323         * modules/uniconv/u32-strconv-to-enc: New file.
68324         * lib/uniconv/u32-strconv-to-enc.c: New file.
68325         * modules/uniconv/u32-strconv-to-enc-tests: New file.
68326         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
68327
68328         * modules/uniconv/u16-strconv-to-enc: New file.
68329         * lib/uniconv/u16-strconv-to-enc.c: New file.
68330         * lib/uniconv/u-strconv-to-enc.h: New file.
68331         * modules/uniconv/u16-strconv-to-enc-tests: New file.
68332         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
68333
68334         * modules/uniconv/u8-strconv-to-enc: New file.
68335         * lib/uniconv/u8-strconv-to-enc.c: New file.
68336         * modules/uniconv/u8-strconv-to-enc-tests: New file.
68337         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
68338
68339         * modules/uniconv/u32-strconv-from-enc: New file.
68340         * lib/uniconv/u32-strconv-from-enc.c: New file.
68341         * modules/uniconv/u32-strconv-from-enc-tests: New file.
68342         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
68343
68344         * modules/uniconv/u16-strconv-from-enc: New file.
68345         * lib/uniconv/u16-strconv-from-enc.c: New file.
68346         * modules/uniconv/u16-strconv-from-enc-tests: New file.
68347         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
68348
68349         * modules/uniconv/u8-strconv-from-enc: New file.
68350         * lib/uniconv/u8-strconv-from-enc.c: New file.
68351         * lib/uniconv/u-strconv-from-enc.h: New file.
68352         * modules/uniconv/u8-strconv-from-enc-tests: New file.
68353         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
68354
68355         * modules/uniconv/u32-conv-from-enc: New file.
68356         * lib/uniconv/u32-conv-from-enc.c: New file.
68357         * modules/uniconv/u32-conv-from-enc-tests: New file.
68358         * tests/uniconv/test-u32-conv-from-enc.c: New file.
68359
68360         * modules/uniconv/u16-conv-from-enc: New file.
68361         * lib/uniconv/u16-conv-from-enc.c: New file.
68362         * lib/uniconv/u-conv-from-enc.h: New file.
68363         * modules/uniconv/u16-conv-from-enc-tests: New file.
68364         * tests/uniconv/test-u16-conv-from-enc.c: New file.
68365
68366         * modules/uniconv/u8-conv-from-enc: New file.
68367         * lib/uniconv/u8-conv-from-enc.c: New file.
68368         * modules/uniconv/u8-conv-from-enc-tests: New file.
68369         * tests/uniconv/test-u8-conv-from-enc.c: New file.
68370
68371         * modules/uniconv/base: New file.
68372         * lib/uniconv.h: New file.
68373
68374 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
68375
68376         * doc/gnulib-tool.texi (Initial import): Update to match current
68377         behavior with strdup module.
68378         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
68379         * lib/memmem.h: Remove; all uses removed.  This is now done
68380         by <string.h>.
68381         * lib/mempcpy.h: Likewise.
68382         * lib/memrchr.h: Likewise.
68383         * lib/stpcpy.h: Likewise.
68384         * lib/stpncpy.h: Likewise.
68385         * lib/strcase.h: Likewise.
68386         * lib/strchrnul.h: Likewise.
68387         * lib/strdup.h: Likewise.
68388         * lib/strndup.h: Likewise.
68389         * lib/strnlen.h: Likewise.
68390         * lib/strpbrk.h: Likewise.
68391         * lib/strsep.h: Likewise.
68392         * lib/strstr.h: Likewise.
68393         * lib/strtok_r.h: Likewise.
68394         * lib/string_.h: New file.
68395         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
68396         Rely on <string.h> instead.
68397         * lib/canon-host.c: Likewise.
68398         * lib/chdir-long.c: Likewise.
68399         * lib/concatpath.c: Likewise.
68400         * lib/exclude.c: Likewise.
68401         * lib/fchdir.c: Likewise.
68402         * lib/getaddrinfo.c: Likewise.
68403         * lib/getcwd.c: Likewise.
68404         * lib/getsubopt.c: Likewise.
68405         * lib/glob.c: Likewise.
68406         * lib/hard-locale.c: Likewise.
68407         * lib/iconvme.c: Likewise.
68408         * lib/javacomp.c: Likewise.
68409         * lib/mempcpy.c: Likewise.
68410         * lib/memrchr.c: Likewise.
68411         * lib/regex_internal.h: Likewise.
68412         * lib/stpncpy.c: Likewise.
68413         * lib/strcasecmp.c: Likewise.
68414         * lib/strchrnul.c: Likewise.
68415         * lib/strdup.c: Likewise.
68416         * lib/striconv.c: Likewise.
68417         * lib/striconveh.c: Likewise.
68418         * lib/striconveha.c: Likewise.
68419         * lib/strncasecmp.c: Likewise.
68420         * lib/strndup.c: Likewise.
68421         * lib/strnlen.c: Likewise.
68422         * lib/strsep.c: Likewise.
68423         * lib/strstr.c: Likewise.
68424         * lib/strtok_r.c: Likewise.
68425         * lib/userspec.c: Likewise.
68426         * lib/w32spawn.h: Likewise.
68427         * lib/xstrndup.c: Likewise.
68428         * lib/mountlist.c (strstr): Remove decl.
68429         * m4/string_h.m4: New file.
68430         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
68431         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
68432         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
68433         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
68434         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
68435         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
68436         Set REPLACE_STRCASECMP if necessary.
68437         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
68438         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
68439         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
68440         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
68441         HAVE_DECL_STRDUP if necessary.
68442         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
68443         since gl_FUNC_STRNDUP does that now.
68444         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
68445         Check for decl here...
68446         (gl_PREREQ_STRNLEN): ... not here.
68447         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
68448         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
68449         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
68450         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
68451         necessary.
68452         * modules/string: New file.
68453         * modules/memmem (Files): Remove special-purpose include file.
68454         (Depends-on): Add string.
68455         (Include): Include <string.h>, not the removed file.
68456         * modules/mempcpy: Likewise.
68457         * modules/memrchr: Likewise.
68458         * modules/stpcpy: Likewise.
68459         * modules/stpncpy: Likewise.
68460         * modules/strcase: Likewise.
68461         * modules/strchrnul: Likewise.
68462         * modules/strdup: Likewise.
68463         * modules/strndup: Likewise.
68464         * modules/strnlen: Likewise.
68465         * modules/strpbrk: Likewise.
68466         * modules/strsep: Likewise.
68467         * modules/strstr: Likewise.
68468         * modules/strtok_r: Likewise.
68469         * tests/test-dirname.c: Don't include "strdup.h", since
68470         <string.h> now suffices.
68471         * tests/test-memmem.c: Don't include "memmem.h", since
68472         <string.h> now suffices.
68473
68474 2007-01-25  Bruno Haible  <bruno@clisp.org>
68475
68476         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
68477         *resultp is 0.
68478
68479         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
68480         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
68481         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
68482         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
68483
68484         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
68485         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
68486         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
68487         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
68488         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
68489         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
68490
68491 2007-01-24  Bruno Haible  <bruno@clisp.org>
68492
68493         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
68494         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
68495         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
68496         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
68497         gl_FUNC_FTS_CORE.
68498         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
68499         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
68500         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68501         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
68502         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
68503         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
68504         gl_FUNC_FCHOWNAT.
68505         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
68506         gl_FUNC_STRFTIME.
68507         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
68508         Reported by Ralf Wildenhues.
68509
68510 2007-01-24  Bruno Haible  <bruno@clisp.org>
68511
68512         Drop AC_REQUIRE calls that are redundant with the module dependencies.
68513         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
68514         gl_GETADDRINFO.
68515         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
68516         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
68517         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
68518
68519 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
68520
68521         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
68522         Don't use 'exit'; just return from 'main'.
68523         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
68524
68525         * lib/fnmatch_.h: Readjust white space and comments to match
68526         glibc, to avoid spurious diffs.
68527
68528 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68529
68530         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
68531         2004-12-01 change by Jakub Jelinek, since this code won't compile
68532         if !LIBC.  Problem reported by Bob Proulx.
68533
68534 2007-01-23  Bruno Haible  <bruno@clisp.org>
68535
68536         * lib/striconveh.c: Include c-strcaseeq.h.
68537         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
68538         * modules/striconveh (Depends-on): Add c-strcaseeq.
68539
68540 2007-01-23  Bruno Haible  <bruno@clisp.org>
68541
68542         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
68543
68544         * modules/c-strcaseeq: New file.
68545         * lib/c-strcaseeq.h: New file.
68546
68547         * modules/streq: New file.
68548         * lib/streq.h: New file.
68549
68550 2007-01-23  Bruno Haible  <bruno@clisp.org>
68551
68552         * modules/striconveha-tests: New file.
68553         * tests/test-striconveha.c: New file.
68554
68555         * lib/striconveha.h: Include <stdbool.h>.
68556         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
68557         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
68558         (mem_iconveha_notranslit): Renamed from mem_iconveha.
68559         (mem_iconveha): New function.
68560         (str_iconveha_notranslit): Renamed from str_iconveha.
68561         (str_iconveha): New function.
68562         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
68563         c-strcase.
68564
68565 2007-01-23  Bruno Haible  <bruno@clisp.org>
68566
68567         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
68568         encodings without forgiving before trying any encoding with handler.
68569         (str_iconveha): Try all encodings without forgiving before trying any
68570         encoding with handler.
68571
68572 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68573
68574         Import the following changes from libc.
68575
68576         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
68577
68578         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
68579
68580         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68581
68582         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
68583         normal_bracket label.
68584
68585         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
68586
68587         [BZ #361]
68588         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
68589         to normal_bracket after fetching the next character.
68590
68591 2007-01-22  Bruno Haible  <bruno@clisp.org>
68592
68593         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
68594         argument.
68595         * lib/striconveh.c (iconv_carefully_1): New function.
68596         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
68597         argument.
68598         (str_cd_iconveh): Update.
68599         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
68600         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
68601         * tests/test-striconveh.c (MAGIC): New macro.
68602         (new_offsets): New function.
68603         (main): Test call with and without offsets.
68604
68605 2007-01-22  Bruno Haible  <bruno@clisp.org>
68606
68607         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
68608         * modules/sys_select (Makefile.am): Likewise.
68609         * modules/sys_socket (Makefile.am): Likewise.
68610         * modules/sys_time (Makefile.am): Likewise.
68611
68612 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
68613
68614         * modules/gettimeofday (License): Change from GPL to LGPL, since
68615         gettimeofday is a library function.
68616
68617 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68618
68619         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
68620
68621 2007-01-21  Bruno Haible  <bruno@clisp.org>
68622
68623         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
68624
68625 2007-01-21  Bruno Haible  <bruno@clisp.org>
68626
68627         * modules/striconveha: New file.
68628         * lib/striconveha.h: New file.
68629         * lib/striconveha.c: New file.
68630         * MODULES.html.sh (Internationalization functions): Add striconveha.
68631         * lib/striconv.c (str_iconv): Optimize the case of an empty input
68632         string.
68633         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
68634
68635 2007-01-21  Bruno Haible  <bruno@clisp.org>
68636
68637         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
68638         * lib/striconveh.c (str_iconveh): Likewise.
68639
68640 2007-01-21  Bruno Haible  <bruno@clisp.org>
68641
68642         * lib/striconveh.h (mem_iconveh): New declaration.
68643         * lib/striconveh.c (mem_iconveh): New function.
68644         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
68645
68646 2007-01-21  Bruno Haible  <bruno@clisp.org>
68647
68648         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
68649
68650         * lib/striconveh.h (mem_cd_iconveh): Change specification.
68651         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
68652         original result buffer.
68653         (str_cd_iconveh): Update.
68654         * tests/test-striconveh.c (main): Update.
68655
68656         * lib/striconv.h (mem_cd_iconv): Change specification.
68657         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
68658         result buffer.
68659         (str_cd_iconv): Update.
68660         * tests/test-striconv.c (main): Update.
68661
68662 2007-01-21  Bruno Haible  <bruno@clisp.org>
68663
68664         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
68665
68666 2007-01-20  Jim Meyering  <jim@meyering.net>
68667
68668         * lib/userspec.c (parse_with_separator): If a user or group string
68669         starts with "+", skip the corresponding name-to-ID look-up, since
68670         such a look-up must fail: user and group names may not include "+".
68671
68672 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
68673
68674         * lib/poll.c: Include sys/time.h and time.h unconditionally,
68675         since we now assume the sys_time module.
68676         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
68677         check for sys/time.h; no longer needed.
68678         * modules/poll (Depends-on): Depend on sys_time.
68679
68680 2007-01-18  Bruno Haible  <bruno@clisp.org>
68681
68682         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
68683         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68684
68685         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
68686         gettimeofday.
68687
68688         * tests/test-gettimeofday.c: Include <time.h>.
68689         (dummy): Remove variable.
68690
68691         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
68692         gl_HEADER_SYS_TIME_H.
68693         (gl_HEADER_SYS_TIME_H): New macro.
68694
68695         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
68696         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68697         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
68698         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
68699         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68700         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
68701         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
68702         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68703         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
68704         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
68705         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68706
68707         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
68708         last change; it caused a compilation error when cross-compiling to
68709         Cygwin.
68710
68711 2007-01-18  Jim Meyering  <jim@meyering.net>
68712
68713         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
68714         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
68715         than the race-prone "test -d sys || mkdir sys".
68716         (configure.ac): Use AC_PROG_MKDIR_P.
68717         * modules/sys_select: Likewise.
68718         * modules/sys_socket: Likewise.
68719         * modules/sys_time: Likewise.
68720
68721 2007-01-18  Eric Blake  <ebb9@byu.net>
68722
68723         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
68724         replace gettimeofday.
68725         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
68726         name, to avoid infinite recursion.
68727
68728 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
68729
68730         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
68731         module sys_time.
68732         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
68733         assume timespec.h defines struct timeval.
68734         * lib/settime.c: Likewise.
68735         * lib/utimens.c: Likewise.
68736         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
68737         since we now assume the gettimeofday module.
68738         * lib/tempname.c (__gen_tempname): Likewise.
68739         * lib/gettimeofday.h: Remove.
68740         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
68741         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
68742         Include <time.h>, for 'time()'.
68743         (localtime_buffer_addr): Also use this workaround if
68744         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
68745         to simplify the uses.  All uses changed.
68746         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
68747         that #undef is inside {}, and 'const' follows type name consistently.
68748         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
68749         (gettimeofday): Do not use the maximum possible value for
68750         tv->tv_usec, since that might break usages other than ls.c.
68751         Instead, we'll leave ls.c alone.  This undoes today's patch
68752         by Bruno.  Add a compile-time warning for 1s-clock resolution;
68753         we've never observed the problem but might as well keep the
68754         canary.
68755         * lib/nanosleep.c: Include timespec.h first, for interface check.
68756         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
68757         now assume the sys_time module.
68758         * lib/tempname.c: Likewise.
68759         * lib/timespec.h: Likewise.
68760         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
68761         needed.
68762         * lib/strftime.c: Likewise.
68763         * lib/timespec.h: Likewise.
68764         * lib/posixtm.c: Include posixtm.h first, for interface check.
68765         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
68766         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
68767         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
68768         * lib/sys_time_.h: New file.
68769         * lib/timespec.h (struct timespec): Use long int, not long.
68770         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68771         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
68772         Remove obsolescent call to AC_HEADER_TIME.
68773         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
68774         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68775         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68776         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
68777         Likewise.
68778         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
68779         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
68780         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
68781         into the sys_time module.  Check for gettimeofday just once.
68782         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
68783         for gettimeofday signature to just check the signature.  Merely
68784         compile it, since linking doesn't test signature.  Improve test for
68785         whether gettimeofday.o is actually needed.
68786         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
68787         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
68788         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
68789         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68790         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
68791         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
68792         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
68793         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
68794         than worrying about sys/time.h.
68795         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68796         Don't bother worrying about TIME_WITH_SYS_TIME.
68797         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
68798         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
68799         * m4/sys_time_h.m4: New file.
68800         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
68801         Don't include sys/time.h.  Return from main rather than exiting.
68802         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
68803         all uses changed.
68804         * modules/gethrxtime (Depends-on): Add sys_time.
68805         * modules/gettime (Depends-on): Likewise.
68806         * modules/gettimeofday (Depends-on): Likewise.
68807         * modules/nanosleep (Depends-on): Likewise.
68808         * modules/settime (Depends-on): Likewise.
68809         * modules/tempname (Depends-on): Likewise.
68810         * modules/utimens (Depends-on): Likewise.
68811         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
68812         (Include): Change back to <sys/time.h>.
68813         (Maintainer): Add self.
68814         * modules/sys_time: New file.
68815         * modules/tempname (Depends-on): Add gettimeofday.
68816         * tests/test-gettimeofday.c: Include <sys/time.h>
68817         rather than gettimeofday.h.
68818
68819 2007-01-17  Bruno Haible  <bruno@clisp.org>
68820
68821         * gnulib-tool (func_get_license): Revert last patch. Instead, let
68822         the license default to GPL.
68823         (func_create_testdir): Don't complain if a module is LGPL and its
68824         tests module depends on GPLed modules.
68825
68826 2007-01-17  Bruno Haible  <bruno@clisp.org>
68827
68828         * lib/gettimeofday.c (gettimeofday): Add code for the case
68829         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
68830         maximum possible value for tv->tv_usec, rather than the minimum one.
68831
68832 2005-10-08  Martin Lambers  <marlam@marlam.de>
68833 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
68834 2007-01-16  Bruno Haible  <bruno@clisp.org>
68835
68836         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
68837         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
68838         gl_FUNC_GETTIMEOFDAY.
68839         (Include): Add gettimeofday.h.
68840         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
68841         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
68842         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
68843         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
68844         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
68845         * lib/gettimeofday.h: New file.
68846         * lib/gettimeofday.c: Include <sys/timeb.h>.
68847         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
68848         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68849         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
68850         fall back on time().
68851
68852         * tests/test-gettimeofday.c: New file.
68853         * modules/gettimeofday-tests: New file.
68854
68855 2007-01-16  Eric Blake  <ebb9@byu.net>
68856
68857         * modules/fnmatch (Depends-on): Depend on wchar.
68858         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
68859         * m4/fnmatch.m4: Likewise.
68860         * modules/mbchar (Makefile.am): Assume <wchar.h>.
68861         * m4/mbchar.m4: Likewise.
68862         * modules/mbswidth (Depends-on): Depend on wchar.
68863         * lib/mbswidth.c: Assume <wchar.h>.
68864         * m4/mbswidth.m4: Likewise.
68865         * modules/quotearg (Depends-on): Depend on wchar.
68866         * lib/quotearg.c: Assume <wchar.h>.
68867         * m4/quotearg.m4: Likewise.
68868         * modules/regex (Depends-on): Depend on wchar.
68869         * lib/regex_internal.h: Assume <wchar.h>.
68870         * m4/regex.m4: Likewise.
68871         * modules/stdint (Depends-on): Depend on wchar.
68872         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
68873         * m4/stdint.m4: Likewise.
68874         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
68875         * modules/strftime (Depends-on): Depend on wchar.
68876         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
68877         * modules/strtol (Depends-on): Depend on wchar.
68878         * lib/strtol.c: Assume <wchar.h>.
68879         * modules/wcwidth (Depends-on): Depend on wchar.
68880         * lib/wcwidth.h: Assume <wchar.h>.
68881         * m4/wcwidth.m4: Likewise.
68882
68883 2007-01-16  Bruno Haible  <bruno@clisp.org>
68884
68885         * modules/csharpexec-script: New, created from...
68886         * modules/csharpexec: ... this.
68887
68888 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
68889
68890         * modules/javaexec-script: New, created from...
68891         * modules/javaexec: ... this.
68892
68893 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68894
68895         * modules/poll (Dependencies): Add sys_select.
68896
68897 2007-01-15  Jim Meyering  <jim@meyering.net>
68898
68899         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
68900         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
68901         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
68902         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
68903
68904 2007-01-15  Bruno Haible  <bruno@clisp.org>
68905
68906         * modules/striconveh: New file.
68907         * lib/striconveh.h: New file.
68908         * lib/striconveh.c: New file.
68909         * MODULES.html.sh (Internationalization functions): Add striconveh.
68910
68911         * modules/striconveh-tests: New file.
68912         * tests/test-striconveh.c: New file.
68913
68914 2007-01-15  Bruno Haible  <bruno@clisp.org>
68915
68916         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
68917         not from GNU libiconv or GNU libc.
68918
68919 2007-01-15  Bruno Haible  <bruno@clisp.org>
68920
68921         * doc/gnulib-intro.texi (Copyright): Explain the different license
68922         terms for module descriptions, autoconf macros, tests, documentation.
68923
68924 2007-01-14  Bruno Haible  <bruno@clisp.org>
68925
68926         * modules/striconv-tests: New file.
68927         * tests/test-striconv.c: New file.
68928
68929 2007-01-14  Bruno Haible  <bruno@clisp.org>
68930
68931         * modules/iconv-tests: New file.
68932         * tests/test-iconv.c: New file.
68933
68934 2007-01-14  Bruno Haible  <bruno@clisp.org>
68935
68936         * gnulib-tool (func_get_license): For test modules, use the license of
68937         the main module.
68938
68939 2007-01-14  Bruno Haible  <bruno@clisp.org>
68940
68941         * modules/iconv (Include): Clarify that <iconv.h> can only be included
68942         if iconv is found to exist.
68943
68944 2007-01-14  Bruno Haible  <bruno@clisp.org>
68945
68946         * modules/c-ctype-tests: New file.
68947         * tests/test-c-ctype.c: New file.
68948
68949 2007-01-14  Bruno Haible  <bruno@clisp.org>
68950
68951         * modules/binary-io-tests: New file.
68952         * tests/test-binary-io.sh: New file.
68953         * tests/test-binary-io.c: New file.
68954
68955 2007-01-14  Bruno Haible  <bruno@clisp.org>
68956
68957         * modules/array-oset-tests: New file.
68958         * tests/test-array_oset.c: New file.
68959
68960 2007-01-14  Bruno Haible  <bruno@clisp.org>
68961
68962         * modules/array-list-tests: New file.
68963         * tests/test-array_list.c: New file.
68964
68965 2007-01-14  Bruno Haible  <bruno@clisp.org>
68966
68967         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
68968         and make.
68969         Reported by Simon Josefsson in
68970         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
68971
68972 2007-01-14  Bruno Haible  <bruno@clisp.org>
68973
68974         * modules/allocsa-tests: New file.
68975         * tests/test-allocsa.c: New file.
68976
68977 2007-01-14  Bruno Haible  <bruno@clisp.org>
68978
68979         * modules/fchdir (Depends-on): Add absolute-header.
68980         * modules/unistd (Depends-on): Likewise.
68981
68982 2006-12-30  Bruno Haible  <bruno@clisp.org>
68983
68984         * modules/fchdir: New file.
68985         * modules/unistd (Files): Add lib/unistd_.h.
68986         (Makefile.am): Generate unistd.h from unistd_.h.
68987         * lib/fchdir.c: New file.
68988         * lib/dirent_.h: New file.
68989         * lib/unistd_.h: New file.
68990         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
68991         * m4/fchdir.m4: New file.
68992         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
68993         (gl_HEADER_UNISTD): Invoke it.
68994         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
68995         function.
68996         * lib/backupfile.c (opendir, closedir): Undefine.
68997         * lib/chown.c (open, close): Undefine.
68998         * lib/clean-temp.c (open, close): Undefine.
68999         * lib/copy-file.c (open, close): Undefine.
69000         * lib/execute.c (open, close): Undefine.
69001         * lib/fsusage.c (open, close): Undefine.
69002         * lib/gc-gnulib.c (open, close): Undefine.
69003         * lib/getcwd.c (opendir, closedir): Undefine.
69004         * lib/glob.c (opendir, closedir): Undefine.
69005         * lib/javacomp.c (open, close): Undefine.
69006         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
69007         * lib/openat-proc.c (open, close): Undefine.
69008         * lib/pagealign_alloc.c (open, close): Undefine.
69009         * lib/pipe.c (open, close): Undefine.
69010         * lib/progreloc.c (open, close): Undefine.
69011         * lib/savedir.c (opendir, closedir): Undefine.
69012         * lib/utime.c (open, close): Undefine.
69013         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
69014
69015 2007-01-10  Bruno Haible  <bruno@clisp.org>
69016
69017         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
69018
69019 2007-01-12  Eric Blake  <ebb9@byu.net>
69020
69021         Provide a robust <wchar.h>.  Further simplifications are now
69022         possible in other modules, but not included here.
69023         * modules/wchar: New module.
69024         * m4/wchar.m4: New file.
69025         * lib/wchar_.h: Likewise.
69026         * modules/mbchar (Depends-on): Depend on wchar, as the first use
69027         of the new module.
69028         * MODULES.html.sh (Extended multibyte and wide character utilities):
69029         New section.
69030
69031 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
69032
69033         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
69034         to a reasonable default for memory allocation.
69035         (xreadlink): Don't allocate a huge buffer, to work around a buggy
69036         file system that reports garbage st_size values for symlinks.
69037         Problem reported by Liyang Hu.
69038
69039 2007-01-11  Simon Josefsson  <simon@josefsson.org>
69040
69041         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
69042         Emacs .#* auto-save files).
69043
69044 2007-01-11  Bruno Haible  <bruno@clisp.org>
69045
69046         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
69047         directory.
69048
69049 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
69050
69051         Use @...@ consistently in lib/wctype_.h.
69052         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
69053         on it being set to 1 or 0.
69054         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
69055         go back to AC_SUBSTing it.
69056         * modules/wctype (Makefile.am): Undo previous change.
69057
69058 2007-01-10  Eric Blake  <ebb9@byu.net>
69059
69060         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
69061         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
69062         * modules/wctype (Makefile.am): Likewise.
69063         Reported by Chris McGuire.
69064
69065 2007-01-10  Jim Meyering  <jim@meyering.net>
69066
69067         fts.c: a small readability/maintainability improvement
69068         * lib/fts.c (fts_read): Make this code slightly more readable and
69069         maintainable by hoisting the "sp->fts_cur = p" assignments to
69070         immediately follow the statements that set P.  Derived from
69071         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
69072
69073 2007-01-10  Eric Blake  <ebb9@byu.net>
69074
69075         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
69076         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
69077         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69078         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
69079         Reported by Chris McGuire.
69080
69081 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69082
69083         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
69084         in sed script.
69085
69086 2007-01-09  Bruno Haible  <bruno@clisp.org>
69087
69088         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
69089         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
69090         variables.
69091         (func_module): Use them.
69092
69093 2007-01-09  Bruno Haible  <bruno@clisp.org>
69094
69095         * modules/unistr/base: New file.
69096         * lib/unistr.h: New file.
69097
69098         * modules/unistr/u8-to-u16: New file.
69099         * lib/unistr/u8-to-u16.c: New file.
69100
69101         * modules/unistr/u8-to-u32: New file.
69102         * lib/unistr/u8-to-u32.c: New file.
69103
69104         * modules/unistr/u16-to-u8: New file.
69105         * lib/unistr/u16-to-u8.c: New file.
69106
69107         * modules/unistr/u16-to-u32: New file.
69108         * lib/unistr/u16-to-u32.c: New file.
69109
69110         * modules/unistr/u32-to-u8: New file.
69111         * lib/unistr/u32-to-u8.c: New file.
69112
69113         * modules/unistr/u32-to-u16: New file.
69114         * lib/unistr/u32-to-u16.c: New file.
69115
69116         * modules/unistr/u8-check: New file.
69117         * modules/unistr/u16-check: New file.
69118         * modules/unistr/u32-check: New file.
69119         * lib/unistr/u8-check.c: New file.
69120         * lib/unistr/u16-check.c: New file.
69121         * lib/unistr/u32-check.c: New file.
69122
69123         * modules/unistr/u8-chr: New file.
69124         * modules/unistr/u16-chr: New file.
69125         * modules/unistr/u32-chr: New file.
69126         * lib/unistr/u8-chr.c: New file.
69127         * lib/unistr/u16-chr.c: New file.
69128         * lib/unistr/u32-chr.c: New file.
69129
69130         * modules/unistr/u8-cmp: New file.
69131         * modules/unistr/u16-cmp: New file.
69132         * modules/unistr/u32-cmp: New file.
69133         * lib/unistr/u8-cmp.c: New file.
69134         * lib/unistr/u16-cmp.c: New file.
69135         * lib/unistr/u32-cmp.c: New file.
69136
69137         * modules/unistr/u8-cpy: New file.
69138         * modules/unistr/u16-cpy: New file.
69139         * modules/unistr/u32-cpy: New file.
69140         * lib/unistr/u8-cpy.c: New file.
69141         * lib/unistr/u16-cpy.c: New file.
69142         * lib/unistr/u32-cpy.c: New file.
69143         * lib/unistr/u-cpy.h: New file.
69144
69145         * modules/unistr/u8-cpy-alloc: New file.
69146         * modules/unistr/u16-cpy-alloc: New file.
69147         * modules/unistr/u32-cpy-alloc: New file.
69148         * lib/unistr/u8-cpy-alloc.c: New file.
69149         * lib/unistr/u16-cpy-alloc.c: New file.
69150         * lib/unistr/u32-cpy-alloc.c: New file.
69151         * lib/unistr/u-cpy-alloc.h: New file.
69152
69153         * modules/unistr/u8-endswith: New file.
69154         * modules/unistr/u16-endswith: New file.
69155         * modules/unistr/u32-endswith: New file.
69156         * lib/unistr/u8-endswith.c: New file.
69157         * lib/unistr/u16-endswith.c: New file.
69158         * lib/unistr/u32-endswith.c: New file.
69159         * lib/unistr/u-endswith.h: New file.
69160
69161         * modules/unistr/u8-mblen: New file.
69162         * modules/unistr/u16-mblen: New file.
69163         * modules/unistr/u32-mblen: New file.
69164         * lib/unistr/u8-mblen.c: New file.
69165         * lib/unistr/u16-mblen.c: New file.
69166         * lib/unistr/u32-mblen.c: New file.
69167
69168         * modules/unistr/u8-mbtouc: New file.
69169         * modules/unistr/u16-mbtouc: New file.
69170         * modules/unistr/u32-mbtouc: New file.
69171         * lib/unistr/u8-mbtouc.c: New file.
69172         * lib/unistr/u16-mbtouc.c: New file.
69173         * lib/unistr/u32-mbtouc.c: New file.
69174
69175         * modules/unistr/u8-mbtouc-safe: New file.
69176         * modules/unistr/u16-mbtouc-safe: New file.
69177         * modules/unistr/u32-mbtouc-safe: New file.
69178         * lib/unistr/u8-mbtouc-safe.c: New file.
69179         * lib/unistr/u16-mbtouc-safe.c: New file.
69180         * lib/unistr/u32-mbtouc-safe.c: New file.
69181
69182         * modules/unistr/u8-move: New file.
69183         * modules/unistr/u16-move: New file.
69184         * modules/unistr/u32-move: New file.
69185         * lib/unistr/u8-move.c: New file.
69186         * lib/unistr/u16-move.c: New file.
69187         * lib/unistr/u32-move.c: New file.
69188         * lib/unistr/u-move.h: New file.
69189
69190         * modules/unistr/u8-next: New file.
69191         * modules/unistr/u16-next: New file.
69192         * modules/unistr/u32-next: New file.
69193         * lib/unistr/u8-next.c: New file.
69194         * lib/unistr/u16-next.c: New file.
69195         * lib/unistr/u32-next.c: New file.
69196
69197         * modules/unistr/u8-prev: New file.
69198         * modules/unistr/u16-prev: New file.
69199         * modules/unistr/u32-prev: New file.
69200         * lib/unistr/u8-prev.c: New file.
69201         * lib/unistr/u16-prev.c: New file.
69202         * lib/unistr/u32-prev.c: New file.
69203
69204         * modules/unistr/u8-set: New file.
69205         * modules/unistr/u16-set: New file.
69206         * modules/unistr/u32-set: New file.
69207         * lib/unistr/u8-set.c: New file.
69208         * lib/unistr/u16-set.c: New file.
69209         * lib/unistr/u32-set.c: New file.
69210         * lib/unistr/u-set.h: New file.
69211
69212         * modules/unistr/u8-startswith: New file.
69213         * modules/unistr/u16-startswith: New file.
69214         * modules/unistr/u32-startswith: New file.
69215         * lib/unistr/u8-startswith.c: New file.
69216         * lib/unistr/u16-startswith.c: New file.
69217         * lib/unistr/u32-startswith.c: New file.
69218         * lib/unistr/u-startswith.h: New file.
69219
69220         * modules/unistr/u8-stpcpy: New file.
69221         * modules/unistr/u16-stpcpy: New file.
69222         * modules/unistr/u32-stpcpy: New file.
69223         * lib/unistr/u8-stpcpy.c: New file.
69224         * lib/unistr/u16-stpcpy.c: New file.
69225         * lib/unistr/u32-stpcpy.c: New file.
69226         * lib/unistr/u-stpcpy.h: New file.
69227
69228         * modules/unistr/u8-stpncpy: New file.
69229         * modules/unistr/u16-stpncpy: New file.
69230         * modules/unistr/u32-stpncpy: New file.
69231         * lib/unistr/u8-stpncpy.c: New file.
69232         * lib/unistr/u16-stpncpy.c: New file.
69233         * lib/unistr/u32-stpncpy.c: New file.
69234         * lib/unistr/u-stpncpy.h: New file.
69235
69236         * modules/unistr/u8-strcat: New file.
69237         * modules/unistr/u16-strcat: New file.
69238         * modules/unistr/u32-strcat: New file.
69239         * lib/unistr/u8-strcat.c: New file.
69240         * lib/unistr/u16-strcat.c: New file.
69241         * lib/unistr/u32-strcat.c: New file.
69242         * lib/unistr/u-strcat.h: New file.
69243
69244         * modules/unistr/u8-strchr: New file.
69245         * modules/unistr/u16-strchr: New file.
69246         * modules/unistr/u32-strchr: New file.
69247         * lib/unistr/u8-strchr.c: New file.
69248         * lib/unistr/u16-strchr.c: New file.
69249         * lib/unistr/u32-strchr.c: New file.
69250
69251         * modules/unistr/u8-strcmp: New file.
69252         * modules/unistr/u16-strcmp: New file.
69253         * modules/unistr/u32-strcmp: New file.
69254         * lib/unistr/u8-strcmp.c: New file.
69255         * lib/unistr/u16-strcmp.c: New file.
69256         * lib/unistr/u32-strcmp.c: New file.
69257
69258         * modules/unistr/u8-strcpy: New file.
69259         * modules/unistr/u16-strcpy: New file.
69260         * modules/unistr/u32-strcpy: New file.
69261         * lib/unistr/u8-strcpy.c: New file.
69262         * lib/unistr/u16-strcpy.c: New file.
69263         * lib/unistr/u32-strcpy.c: New file.
69264         * lib/unistr/u-strcpy.h: New file.
69265
69266         * modules/unistr/u8-strcspn: New file.
69267         * modules/unistr/u16-strcspn: New file.
69268         * modules/unistr/u32-strcspn: New file.
69269         * lib/unistr/u8-strcspn.c: New file.
69270         * lib/unistr/u16-strcspn.c: New file.
69271         * lib/unistr/u32-strcspn.c: New file.
69272         * lib/unistr/u-strcspn.h: New file.
69273
69274         * modules/unistr/u8-strdup: New file.
69275         * modules/unistr/u16-strdup: New file.
69276         * modules/unistr/u32-strdup: New file.
69277         * lib/unistr/u8-strdup.c: New file.
69278         * lib/unistr/u16-strdup.c: New file.
69279         * lib/unistr/u32-strdup.c: New file.
69280         * lib/unistr/u-strdup.h: New file.
69281
69282         * modules/unistr/u8-strlen: New file.
69283         * modules/unistr/u16-strlen: New file.
69284         * modules/unistr/u32-strlen: New file.
69285         * lib/unistr/u8-strlen.c: New file.
69286         * lib/unistr/u16-strlen.c: New file.
69287         * lib/unistr/u32-strlen.c: New file.
69288         * lib/unistr/u-strlen.h: New file.
69289
69290         * modules/unistr/u8-strmblen: New file.
69291         * modules/unistr/u16-strmblen: New file.
69292         * modules/unistr/u32-strmblen: New file.
69293         * lib/unistr/u8-strmblen.c: New file.
69294         * lib/unistr/u16-strmblen.c: New file.
69295         * lib/unistr/u32-strmblen.c: New file.
69296
69297         * modules/unistr/u8-strmbtouc: New file.
69298         * modules/unistr/u16-strmbtouc: New file.
69299         * modules/unistr/u32-strmbtouc: New file.
69300         * lib/unistr/u8-strmbtouc.c: New file.
69301         * lib/unistr/u16-strmbtouc.c: New file.
69302         * lib/unistr/u32-strmbtouc.c: New file.
69303
69304         * modules/unistr/u8-strncat: New file.
69305         * modules/unistr/u16-strncat: New file.
69306         * modules/unistr/u32-strncat: New file.
69307         * lib/unistr/u8-strncat.c: New file.
69308         * lib/unistr/u16-strncat.c: New file.
69309         * lib/unistr/u32-strncat.c: New file.
69310         * lib/unistr/u-strncat.h: New file.
69311
69312         * modules/unistr/u8-strncmp: New file.
69313         * modules/unistr/u16-strncmp: New file.
69314         * modules/unistr/u32-strncmp: New file.
69315         * lib/unistr/u8-strncmp.c: New file.
69316         * lib/unistr/u16-strncmp.c: New file.
69317         * lib/unistr/u32-strncmp.c: New file.
69318
69319         * modules/unistr/u8-strncpy: New file.
69320         * modules/unistr/u16-strncpy: New file.
69321         * modules/unistr/u32-strncpy: New file.
69322         * lib/unistr/u8-strncpy.c: New file.
69323         * lib/unistr/u16-strncpy.c: New file.
69324         * lib/unistr/u32-strncpy.c: New file.
69325         * lib/unistr/u-strncpy.h: New file.
69326
69327         * modules/unistr/u8-strnlen: New file.
69328         * modules/unistr/u16-strnlen: New file.
69329         * modules/unistr/u32-strnlen: New file.
69330         * lib/unistr/u8-strnlen.c: New file.
69331         * lib/unistr/u16-strnlen.c: New file.
69332         * lib/unistr/u32-strnlen.c: New file.
69333         * lib/unistr/u-strnlen.h: New file.
69334
69335         * modules/unistr/u8-strpbrk: New file.
69336         * modules/unistr/u16-strpbrk: New file.
69337         * modules/unistr/u32-strpbrk: New file.
69338         * lib/unistr/u8-strpbrk.c: New file.
69339         * lib/unistr/u16-strpbrk.c: New file.
69340         * lib/unistr/u32-strpbrk.c: New file.
69341         * lib/unistr/u-strpbrk.h: New file.
69342
69343         * modules/unistr/u8-strrchr: New file.
69344         * modules/unistr/u16-strrchr: New file.
69345         * modules/unistr/u32-strrchr: New file.
69346         * lib/unistr/u8-strrchr.c: New file.
69347         * lib/unistr/u16-strrchr.c: New file.
69348         * lib/unistr/u32-strrchr.c: New file.
69349
69350         * modules/unistr/u8-strspn: New file.
69351         * modules/unistr/u16-strspn: New file.
69352         * modules/unistr/u32-strspn: New file.
69353         * lib/unistr/u8-strspn.c: New file.
69354         * lib/unistr/u16-strspn.c: New file.
69355         * lib/unistr/u32-strspn.c: New file.
69356         * lib/unistr/u-strspn.h: New file.
69357
69358         * modules/unistr/u8-strstr: New file.
69359         * modules/unistr/u16-strstr: New file.
69360         * modules/unistr/u32-strstr: New file.
69361         * lib/unistr/u8-strstr.c: New file.
69362         * lib/unistr/u16-strstr.c: New file.
69363         * lib/unistr/u32-strstr.c: New file.
69364         * lib/unistr/u-strstr.h: New file.
69365
69366         * modules/unistr/u8-strtok: New file.
69367         * modules/unistr/u16-strtok: New file.
69368         * modules/unistr/u32-strtok: New file.
69369         * lib/unistr/u8-strtok.c: New file.
69370         * lib/unistr/u16-strtok.c: New file.
69371         * lib/unistr/u32-strtok.c: New file.
69372         * lib/unistr/u-strtok.h: New file.
69373
69374         * modules/unistr/u8-uctomb: New file.
69375         * modules/unistr/u16-uctomb: New file.
69376         * modules/unistr/u32-uctomb: New file.
69377         * lib/unistr/u8-uctomb.c: New file.
69378         * lib/unistr/u16-uctomb.c: New file.
69379         * lib/unistr/u32-uctomb.c: New file.
69380
69381         * MODULES.html.sh (Unicode string functions): Add the new modules.
69382
69383 2007-01-08  Bruno Haible  <bruno@clisp.org>
69384
69385         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
69386         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
69387         subdirectories.
69388
69389 2007-01-08  Karl Berry  <karl@gnu.org>
69390
69391         * doc/error.texi: mention that main() fns must set program_name
69392         when progname is used.
69393
69394 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
69395
69396         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
69397         WCTYPE_H is empty, for the benefit of builds from non-distclean
69398         directories.  Problem reported by Eric Blake in
69399         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
69400
69401 2007-01-08  Bruno Haible  <bruno@clisp.org>
69402
69403         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
69404         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
69405         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
69406         PROVIDE_CANONICALIZE_FILENAME_MODE.
69407         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
69408
69409 2007-01-08  Bruno Haible  <bruno@clisp.org>
69410
69411         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
69412         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
69413         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
69414         * lib/fts.c: Likewise.
69415         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
69416
69417 2006-12-25  Bruno Haible  <bruno@clisp.org>
69418
69419         * modules/utf8-ucs4-safe: New file.
69420         * lib/utf8-ucs4-safe.h: New file.
69421         * lib/unistr/utf8-ucs4-safe.c: New file.
69422
69423         * modules/utf16-ucs4-safe: New file.
69424         * lib/utf16-ucs4-safe.h: New file.
69425         * lib/unistr/utf16-ucs4-safe.c: New file.
69426
69427         * MODULES.html.sh (Unicode string functions): Add the new modules.
69428
69429 2007-01-08  Bruno Haible  <bruno@clisp.org>
69430
69431         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
69432         (Depends-on): Add unitypes.
69433         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69434         (u8_mbtouc_aux): Move out to separate file.
69435         (u8_mbtouc): Use ucs4_t, uint8_t types.
69436         * lib/unistr/utf8-ucs4.c: New file.
69437
69438         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
69439         (Depends-on): Add unitypes.
69440         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69441         (u16_mbtouc_aux): Move out to separate file.
69442         (u16_mbtouc): Use ucs4_t, uint16_t types.
69443         * lib/unistr/utf16-ucs4.c: New file.
69444
69445         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
69446         (Depends-on): Add unitypes.
69447         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
69448         (u8_uctomb_aux): Move out to separate file.
69449         (u8_uctomb): Use ucs4_t, uint8_t types.
69450         * lib/unistr/ucs4-utf8.c: New file.
69451
69452         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
69453         (Depends-on): Add unitypes.
69454         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
69455         (u16_uctomb_aux): Move out to separate file.
69456         (u16_uctomb): Use ucs4_t, uint16_t types.
69457         * lib/unistr/ucs4-utf16.c: New file.
69458
69459 2006-12-25  Bruno Haible  <bruno@clisp.org>
69460
69461         * modules/unitypes: New file.
69462         * lib/unitypes.h: New file.
69463         * MODULES.html.sh (func_all_modules): New section "Unicode string
69464         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
69465         this section. Add unitypes.
69466
69467 2007-01-08  Bruno Haible  <bruno@clisp.org>
69468
69469         Avoid variable names that conflict with those from libtool.
69470         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
69471         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
69472         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
69473         library_names_spec to acl_library_names_spec, hardcode_* to
69474         acl_hardcode_*.
69475         Reported by Ralf Wildenhues.
69476
69477 2007-01-08  Bruno Haible  <bruno@clisp.org>
69478
69479         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
69480         definition.
69481         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
69482         definition.
69483         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
69484         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
69485         definition.
69486         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
69487         definition.
69488         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
69489         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
69490         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
69491         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
69492         definition.
69493         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
69494         definition.
69495         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
69496         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
69497         GC_USE_<algorithm>.
69498         * lib/gc-libgcrypt.c: Likewise.
69499         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
69500         * modules/gc-arctwo (configure.ac): Likewise.
69501         * modules/gc-des (configure.ac): Likewise.
69502         * modules/gc-hmac-md5 (configure.ac): Likewise.
69503         * modules/gc-hmac-sha1 (configure.ac): Likewise.
69504         * modules/gc-md2 (configure.ac): Likewise.
69505         * modules/gc-md4 (configure.ac): Likewise.
69506         * modules/gc-md5 (configure.ac): Likewise.
69507         * modules/gc-random (configure.ac): Likewise.
69508         * modules/gc-rijndael (configure.ac): Likewise.
69509         * modules/gc-sha1 (configure.ac): Likewise.
69510
69511 2007-01-08  Bruno Haible  <bruno@clisp.org>
69512
69513         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
69514         macro definition.
69515         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
69516         definition.
69517         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
69518         definition.
69519         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
69520         * modules/fcntl-safer (configure.ac): Likewise.
69521         * modules/fopen-safer (configure.ac): Likewise.
69522         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
69523         GNULIB_FWRITEERROR macro definition.
69524
69525 2007-01-08  Bruno Haible  <bruno@clisp.org>
69526
69527         * m4/gnulib-common.m4: New file.
69528         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
69529         (func_get_filelist): Add m4/gnulib-common.m4.
69530
69531 2007-01-08  Bruno Haible  <bruno@clisp.org>
69532
69533         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
69534         command.
69535
69536 2007-01-08  Jim Meyering  <jim@meyering.net>
69537
69538         Use a more robust test for a "can't happen" condition.
69539         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
69540         narrowed the st_size value.  Presuming the "can't happen" condition
69541         is true, that narrowing could conceivably convert an invalid st_size
69542         value into a valid one.  Instead, use a change based on Matthew
69543         Woehlke's original patch.
69544
69545         Slight readability improvement: use an assert-like macro
69546         in place of literal "abort ()" uses.
69547         * lib/fts.c (fts_assert): Define.
69548         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
69549         Use this macro instead of a bare 'abort'.
69550
69551 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
69552
69553         Don't worry about using IRIX 5.3's wctype.h broken definitions;
69554         simply work around them.
69555         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
69556         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
69557         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
69558         declaring.
69559         Don't bother to define as macros, since the standard doesn't require it.
69560         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
69561         longer worry about IRIX 5.3.
69562         (HAVE_WCTYPE_CTMP_BUG): Remove.
69563
69564 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69565
69566         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
69567         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
69568         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
69569         Problems reported by Georg Schwarz for IRIX 5.3.
69570
69571         * gnulib-tool (autoconf_minversion): Take the maximum version number
69572         found, not the minimum.  Problem reported by James Youngman.
69573
69574 2007-01-03  Karl Berry  <karl@gnu.org>
69575
69576         * doc/error.texi: new file, explaining interaction with progname.
69577         * doc/gnulib.texi: include it.  Update copyright.
69578
69579 2007-01-03  Simon Josefsson  <simon@josefsson.org>
69580
69581         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
69582         AC_CANONICAL_HOST, to improve autobuild outputs.
69583
69584 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
69585             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69586
69587         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
69588         sockets, server sockets, and other file descriptors.  Count errors
69589         to compute the return value.  Reorder the code a bit to be easier
69590         to follow.  Don't set event bits that were not requested (except
69591         POLLERR and POLLHUP).
69592
69593 2007-01-01  Bruno Haible  <bruno@clisp.org>
69594
69595         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
69596
69597 2007-01-03  Jim Meyering  <jim@meyering.net>
69598
69599         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
69600
69601 2007-01-02  Bruno Haible  <bruno@clisp.org>
69602
69603         * modules/settime (Include): Require timespec.h.
69604         * modules/nanosleep (Include): Likewise.
69605
69606 2007-01-01  Bruno Haible  <bruno@clisp.org>
69607
69608         * gnulib-tool (func_emit_copyright_notice): Bump year.
69609         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
69610
69611 2007-01-01  Bruno Haible  <bruno@clisp.org>
69612
69613         Improve support for OpenBSD.
69614         * build-aux/config.rpath (libname_spec): Export.
69615         (library_names_spec): New variable. Export.
69616         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
69617         library_names_spec from the config.rpath output. Locate shared library
69618         through the name pattern in library_names_spec.
69619
69620 2007-01-01  Eric Blake  <ebb9@byu.net>
69621
69622         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
69623
69624 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
69625
69626         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
69627         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
69628         assume the C locale, and avoid an "eval" that could cause trouble.
69629         Problem with SORT reported by Bob Proulx.
69630
69631         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
69632         Define.  Trivial patch from Henning Nielsen Lund, originally
69633         sent to bug-grep@gnu.org today.
69634
69635 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
69636
69637         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
69638         struct stat.  Problem reported by Henning Nielsen Lund.
69639         * lib/acl.c: Include acl.h first, to check interface.  Don't
69640         bother to include sys/types.h and sys/stat.h again.
69641
69642 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69643
69644         Import the following change from libc; problem reported by
69645         Sven Verdoolaege.
69646
69647         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
69648
69649         [BZ #1373]
69650         * lib/argp.h: Remove __NTH for __argp_usage inline function.
69651
69652 2006-12-28  Jim Meyering  <jim@meyering.net>
69653
69654         * build-aux/announce-gen: Do not assume that the package
69655         builds any of tar.gz, tar.bz2, and .xdelta files.
69656         Suggestion from Simon Josefsson.
69657
69658 2006-12-28  Simon Josefsson  <simon@josefsson.org>
69659
69660         * modules/announce-gen: New file.
69661
69662 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
69663
69664         * lib/mbchar.h: Just include <wctype.h>; the wctype module
69665         handles its gotchas now.
69666         * lib/mbswidth.c: Likewise.
69667         * lib/wcwidth.h: Likewise.
69668         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
69669         and iswcntrl; the wctype module does this stuff now.
69670         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
69671         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69672         * modules/mbchar (Depends-on): Add wctype.
69673         * modules/mbswidth (Depends-on): Likewise.
69674         * modules/wcwidth (Depends-on): Likewise.
69675
69676 2006-12-27  Eric Blake  <ebb9@byu.net>
69677
69678         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
69679         module uses more than what <wctype.h> is required to provide.
69680
69681 2006-12-26  Eric Blake  <ebb9@byu.net>
69682
69683         * gnulib-tool (sed_extract_prog): Avoid space-tab.
69684
69685 2006-12-26  Eric Blake  <ebb9@byu.net>
69686
69687         * modules/absolute-header: New module.
69688         * modules/fcntl (Depends-on): Depend on it.
69689         * modules/inttypes (Depends-on): Likewise.
69690         * modules/stdint (Depends-on): Likewise.
69691         * modules/sys_stat (Depends-on): Likewise.
69692         * modules/wctype (Depends-on): Likewise.
69693         * MODULES.html.sh (Support for building libraries and
69694         executables): Document it.
69695
69696 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
69697
69698         * gnulib-tool (SED): Remove, undoing previous change.
69699         The problem was that it broke coreutils on Solaris, because
69700         "sed --posix" leaked into a makefile.
69701         (sed): New alias, if 'alias' and GNU sed.
69702
69703 2006-12-24  Jim Meyering  <jim@meyering.net>
69704
69705         Work around an fchownat bug in glibc-2.4:
69706         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
69707         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
69708         in spite of the -P option.
69709         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
69710         New macros.
69711         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
69712         * modules/openat (Files): Add lib/fchownat.c.
69713         * lib/openat.c (fchownat): Don't define here.  Move to...
69714         * lib/fchownat.c: ...this new file.
69715
69716 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69717
69718         Fix bug reported by Bruno Haible in
69719         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
69720         where quotearg.c didn't compile on Mac OS X 10.2 because it
69721         lacks <wchar.h> and wint_t.
69722         * lib/wctype_.h (__wctype_wint_t): New type.
69723         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
69724         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
69725         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
69726         Arg is now of type __wctype_wint_t, not wint_t.
69727         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
69728         substitute HAVE_WINT_T.
69729         * modules/wctype (Files): Add m4/wint_t.m4.
69730         (wctype.h): Substitute HAVE_WINT_T.
69731
69732 2006-12-23  Bruno Haible  <bruno@clisp.org>
69733
69734         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
69735
69736 2006-12-23  Bruno Haible  <bruno@clisp.org>
69737
69738         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
69739         S_ISLNK.
69740         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
69741         mingw.
69742
69743 2006-12-22  Bruno Haible  <bruno@clisp.org>
69744
69745         * lib/copy-file.c: Include acl.h.
69746         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
69747         Close the file descriptors only after being done with copy_acl.
69748         * modules/copy-file (Depends-on): Add acl.
69749
69750 2006-12-22  Bruno Haible  <bruno@clisp.org>
69751
69752         * gnulib-tool (SED): New variable.
69753         Use $SED instead of sed everywhere.
69754
69755 2006-12-22  Bruno Haible  <bruno@clisp.org>
69756
69757         * modules/no-c++: New file.
69758         * m4/no-c++.m4: New file.
69759         * MODULES.html.sh (Support for building libraries and executables):
69760         Add no-c++.
69761
69762 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
69763
69764         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
69765         Include <limits.h>, and use its INT_MAX to rewrite the
69766         j loop so that it does not overflow 'int'.  Problem reported by
69767         Ralf Wildenhues in
69768         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
69769         Play it safe by shifting left by 1 rather than multiplying by 2,
69770         as GCC is less likely to optimize this away when the value
69771         is signed (when it assumes overflow leads to undefined behavior).
69772         Also, don't assume time_t uses two's complement.
69773
69774 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
69775
69776         * MODULES.html.sh: New module wctype.
69777         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
69778         * lib/fnmatch.c: Don't bother to include <wchar.h> before
69779         <wctype.h>, since the new wctype module should fix this.
69780         * lib/quotearg.c: Include <wctype.h> unconditionally, since
69781         the wctype module should arrange for it.
69782         * lib/regex_internal.h: Likewise.
69783         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
69784         since the wctype module should handle this now.
69785         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
69786         * modules/fnmatch (Depends-on): Add wctype.
69787         * modules/quotearg (Depends-on): Likewise.
69788         * modules/regex (Depends-on): Likewise.
69789
69790 2006-12-19  Bruno Haible  <bruno@clisp.org>
69791
69792         * lib/strdup.h [C++]: Wrap definitions in extern "C".
69793         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
69794
69795 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69796
69797         * modules/savewd (Depends-on): Fix dependency on fcntl.
69798
69799 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69800
69801         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
69802         conforms to C99, rather than relying on the user's environment
69803         setting of STDINT_H.
69804
69805 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69806         and Eric Blake  <ebb9@byu.net>
69807
69808         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
69809         This is more consistent with the other defines here.
69810         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
69811         Port to z/OS.  Problem reported by Paul Gilmartin.
69812         Change local vars to use gl_ prefix rather than ac_.
69813         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
69814         with other defines.
69815         * modules/double-slash-root: New module.
69816         * modules/dirname (Files): Remove m4/double-slash-root.m4.
69817         (Depends-on): Add double-slash-root.
69818         * MODULES.html.sh (File system functions): Mention new module.
69819
69820 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
69821
69822         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
69823         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
69824         This is for the benefit of gzip, which doesn't do i18n.
69825
69826 2006-12-12  Jim Meyering  <jim@meyering.net>
69827
69828         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
69829         Reported by Andreas Schwab <schwab@suse.de>.
69830
69831 2006-12-12  Bruno Haible  <bruno@clisp.org>
69832
69833         Merge these changes.
69834         2006-09-05  Bruno Haible  <bruno@clisp.org>
69835         * lib/iconvme.c (iconv_string): No need to save and restore errno when
69836         iconv_alloc succeeded.
69837         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
69838         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
69839         test for " && dest " at the end - dest is always != NULL there. Call
69840         iconv with 4xNULL arguments initially, to reset the state. Call iconv
69841         with 2xNULL arguments, also to flush the state storage. Handle the
69842         IRIX iconv behaviour. Realloc the final result, to throw away unused
69843         memory.
69844
69845 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
69846
69847         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
69848         and fchmodat unconditionally, since glibc 2.4 has them.
69849         Problem reported by Arkadiusz Miskiewicz.
69850
69851 2006-12-10  Bruno Haible  <bruno@clisp.org>
69852
69853         * gnulib-tool (func_import): Show the include files only for those
69854         modules that are copied and specified.
69855         Reported by Karl Berry.
69856
69857 2006-12-08  Jim Meyering  <jim@meyering.net>
69858
69859         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
69860         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
69861
69862         * build-aux/announce-gen: Add two new options, both optional:
69863         --bootstrap-tools=TOOL_LIST
69864               a comma-separated list of tools, e.g.,
69865               autoconf,automake,bison,gnulib
69866         --gnulib-snapshot-date=DATE
69867               if gnulib is in the bootstrap tool list,
69868               then report this as the snapshot date.
69869               If not specified, use the current date/time.
69870               If you specify a date here, be sure it's UTC.
69871
69872 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69873
69874         * tests/test-argp-2.sh: Fix test to match actual output.
69875         (func_compare): Fix sed script to be portable.
69876
69877 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
69878
69879         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
69880         workaround for this case.  It is not autoconfigured now; offhand
69881         it's hard to see how to autoconfigure it.
69882
69883 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
69884
69885         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
69886         a directory that is about to be chowned.  Such a directory's
69887         initial file permissions should permit the owner only and this
69888         should not be changed until after the chown, since the group and
69889         other bits would be incorrect if they granted permission before
69890         the chown.
69891
69892         Fix porting problem for iswctype reported by Georg Schwarz in:
69893         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
69894         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
69895         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
69896         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
69897         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
69898
69899 2006-12-03  Jim Meyering  <jim@meyering.net>
69900
69901         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
69902         p->fts_statp may not yet be defined.
69903         (fts_read): Instead, set it in the caller, once p->fts_statp is
69904         sure to be defined, and corresponds to a top-level directory.
69905         This bug made du -x fail.  Here's the coreutils test case:
69906         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
69907         Reported by Mike Frysinger.
69908
69909 2006-12-01  Jim Meyering  <jim@meyering.net>
69910
69911         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
69912         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
69913         Reported by Simon Josefsson.
69914
69915 2006-11-30  Jim Meyering  <jim@meyering.net>
69916
69917         * m4/warning.m4: Use the all-permissive copyright notice
69918         recommended by RMS (rather than LGPL).
69919         * m4/vararrays.m4: Likewise.
69920         * m4/flexmember.m4: Likewise.
69921
69922 2006-11-29  Bruno Haible  <bruno@clisp.org>
69923
69924         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69925         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
69926         using +=.
69927         Reported by Simon Josefsson <simon@josefsson.org>.
69928
69929 2006-11-28  James Youngman <jay@gnu.org>
69930
69931         * README: Advise users that they might find the bug-gnulib@gnu.org
69932         and autotools-announce@gnu.org mailing lists useful.
69933
69934 2006-11-28  Bruno Haible  <bruno@clisp.org>
69935
69936         * m4/ptrdiff_max.m4: Remove file.
69937
69938 2006-11-21  Bruno Haible  <bruno@clisp.org>
69939
69940         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
69941         _AC_COMPUTE_INT.
69942         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69943         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
69944         _AC_COMPUTE_INT.
69945         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69946         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
69947         _AC_COMPUTE_INT.
69948         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69949
69950 2006-11-28  Jim Meyering  <jim@meyering.net>
69951
69952         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
69953         warning from "gcc -Wshadow" about shadowing the builtin.
69954
69955 2006-11-27  Bruno Haible  <bruno@clisp.org>
69956
69957         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
69958         _AC_COMPUTE_INT.
69959         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69960
69961 2006-11-27  Bruno Haible  <bruno@clisp.org>
69962             Paul Eggert  <eggert@cs.ucla.edu>
69963
69964         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
69965
69966 2006-11-26  Bruno Haible  <bruno@clisp.org>
69967
69968         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69969         noinst_LTLIBRARIES.
69970
69971 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
69972             Bruno Haible  <bruno@clisp.org>
69973
69974         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
69975         if compiling with "gcc -ansi".
69976
69977 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
69978
69979         Fix some incompatibilities with gcc -ansi -pedantic.
69980         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
69981         if compiling pedantically with GCC, unless it's C99 or later.
69982         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
69983         it mishandles gcc -ansi -pedantic as well.
69984         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
69985         if gcc -pedantic.
69986         * lib/regexec.c (check_node_accept_bytes): Don't use auto
69987         initializers for struct if -pedantic, unless it's C99 or later.
69988
69989 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
69990
69991         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
69992         Don't close an fd more than once. Identical atimes indicate
69993         success, not failure.
69994
69995 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
69996
69997         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
69998
69999 2006-11-23  Jim Meyering  <jim@meyering.net>
70000
70001         * build-aux/announce-gen: New file.  From coreutils.
70002
70003 2006-11-22  Jim Meyering  <jim@meyering.net>
70004
70005         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
70006         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
70007         (fts_read): Use a temporary to narrow the overused st_size member
70008         before using it in a switch statement.  Reported by Matthew Woehlke.
70009
70010         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
70011         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
70012
70013 2006-11-20  Bruno Haible  <bruno@clisp.org>
70014
70015         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
70016         changequote instead of pairs of brackets.
70017         Reported by Andreas Schwab <schwab@suse.de>.
70018
70019 2006-11-21  Jim Meyering  <jim@meyering.net>
70020
70021         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
70022         so as to remain compatible with older compilers.
70023         Patch from Michael Deutschmann.
70024
70025 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70026
70027         * MODULES.html.sh (File system functions): Add openat.
70028
70029         * lib/openat.h (rpl_fstatat): New macro, if
70030         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
70031         (fstatat): Define to rpl_fstatat under the same conditions,
70032         unless COMPILING_FSTATAT.
70033         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
70034         seems to have the bug.
70035         * lib/fstatat.c: New file.
70036         * modules/openat (Files): Add it.
70037
70038 2006-11-20  Bruno Haible  <bruno@clisp.org>
70039
70040         * Makefile: New file.
70041
70042 2006-11-20  Jim Meyering  <jim@meyering.net>
70043
70044         The beginnings of syntax-related checks for gnulib.
70045         * lib/Makefile: New file.
70046         * lib/t-idcache: New script.  Ensure that the two halves of
70047         idcache.c stay in sync.
70048
70049         * lib/idcache.c: Adjust comments in user- and group- portions to
70050         be more accurate, and to be consistent with one another.
70051
70052 2006-11-20  Jim Meyering  <jim@meyering.net>
70053
70054         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
70055         continue using the flexible array member (thus, this module performs
70056         half as many malloc calls), with the addition that...
70057         (getgroup, getuser): Consistently record a non-match via an empty
70058         "name" string, and map an empty string match to a NULL return value.
70059         * modules/idcache (Depends-on): Re-add flexmember.
70060
70061         * lib/idcache.c (getuser): Remove all uses of the register keyword.
70062         (getuidbyname, getgroup, getgidbyname): Likewise.
70063
70064         Use cleaner syntax: NULL rather than 0.
70065         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
70066
70067 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70068
70069         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
70070         It mishandled the case where the group was missing.
70071         Problem reported by Greg Schafer.
70072         * modules/idcache: Likewise.
70073
70074 2006-11-18  Jim Meyering  <jim@meyering.net>
70075
70076         * check-module (%exempt_header): Add exception for some
70077         conditionally-included headers.
70078
70079         * modules/i-ring (Depends-on): Add verify.
70080         (License): Change to LGPL.
70081
70082 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70083
70084         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
70085         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
70086         and inttostr.h.  Use snprintf rather than uinttostr, so that
70087         LGPLed code doesn't depend on GPLed.
70088
70089 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
70090
70091         * modules/inline (License): Change from GPL to LGPL.
70092
70093 2006-11-17  Jim Meyering  <jim@meyering.net>
70094
70095         * modules/d-type (License): Switch to LGPL.
70096
70097 2006-11-15  Bruno Haible  <bruno@clisp.org>
70098
70099         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
70100
70101 2006-11-15  Eric Blake  <ebb9@byu.net>
70102
70103         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
70104         the module dependency.
70105
70106 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70107             Bruno Haible  <bruno@clisp.org>
70108
70109         * gnulib-tool (func_create_testdir): Add license consistency check.
70110
70111 2006-11-15  Eric Blake  <ebb9@byu.net>
70112
70113         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
70114         random "(cached)" in configure output.
70115
70116 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70117
70118         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
70119         test for conforming inttypes.h is both announced and cached.
70120
70121         * MODULES.html.sh (seen_modules, seen_files): New variables.
70122         (func_module): Rewrite to use a few less gnulib-tool and sed
70123         invocations.  Avoid a couple of quadratic algorithms for ...
70124         (missed_modules, missed_files): ... these, with ...
70125         (func_append, func_tmpdir): ... these new functions, from
70126         gnulib-tool.  Analogously, install traps for cleanup.
70127
70128         * tests/test-gc.c (main): Remove unused variables.
70129         * tests/test-read-file.c: Include stdlib.h, for 'free'.
70130
70131 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
70132
70133         * modules/inttostr (License): Change to LGPL.
70134
70135 2006-11-14  Eric Blake  <ebb9@byu.net>
70136
70137         * modules/tempname (License): Change to LGPL.
70138
70139 2006-11-14  Eric Blake  <ebb9@byu.net>
70140
70141         * doc/functions.texi (Function Portability): *printf functions on
70142         Cygwin now understand all POSIX size specifiers.
70143
70144 2006-11-14  Bruno Haible  <bruno@clisp.org>
70145
70146         * modules/c-ctype (License): Change to LGPL.
70147
70148 2006-11-12  Bruno Haible  <bruno@clisp.org>
70149
70150         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
70151         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
70152         for GNOME libraries, for which the include files are installed in
70153         subdirectories of $prefix/include.
70154
70155 2006-11-12  Bruno Haible  <bruno@clisp.org>
70156
70157         * m4/lib-link.m4: Require at least autoconf-2.54.
70158         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
70159         name to underscores for the --with option.
70160
70161 2006-11-13  Bruno Haible  <bruno@clisp.org>
70162
70163         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
70164         the tests directory.
70165         Reported by Ralf Wildenhues.
70166
70167 2006-11-13  Bruno Haible  <bruno@clisp.org>
70168
70169         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
70170         (func_emit_initmacro_end): Undo the override here.
70171         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
70172         Works around the famous automake error in coreutils.
70173
70174 2006-11-13  Eric Blake  <ebb9@byu.net>
70175
70176         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
70177         element, not its node.
70178
70179 2006-11-12  Bruno Haible  <bruno@clisp.org>
70180
70181         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
70182         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
70183
70184 2006-11-12  Bruno Haible  <bruno@clisp.org>
70185
70186         * gnulib-tool: New option --local-symlink.
70187         (func_usage): Document it.
70188         (lsymbolic): New variable.
70189         (func_import, func_create_testdir): If --symlink was not specified,
70190         test whether --local-symlink was specified and the file comes from
70191         the local_gnulib_dir.
70192
70193 2006-11-12  Bruno Haible  <bruno@clisp.org>
70194
70195         * gnulib-tool (func_ln): New function.
70196         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
70197
70198 2006-11-12  Bruno Haible  <bruno@clisp.org>
70199
70200         Finish support for source files in subdirectories.
70201         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
70202         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
70203         AUTOMAKE_OPTIONS.
70204         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
70205
70206 2006-11-12  Bruno Haible  <bruno@clisp.org>
70207
70208         * gnulib-tool (func_get_automake_snippet): Synthesize also an
70209         EXTRA_lib_SOURCES augmentation.
70210         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
70211
70212 2006-11-12  Jim Meyering  <jim@meyering.net>
70213
70214         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
70215         file descriptors.  This also averts a failure on systems with
70216         native openat support when a traversed directory lacks "x" access.
70217         * lib/fts_.h: Include "i-ring.h"
70218         (struct FTS) [fts_fd_ring]: New member.
70219         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
70220         (FCHDIR): Add parentheses.
70221         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
70222         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
70223         When descending, rather than simply closing the previous
70224         fts_cwd_fd value, push that file descriptor onto the ring.
70225         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
70226         (fts_open): Initialize the new fd_ring member.
70227         (fts_close): Clear the ring.
70228         (fts_safe_changedir): When possible, use our new fd_ring to skip
70229         the diropen and fstat and dev/ino comparison that would normally
70230         accompany a virtual `chdir ("..")'.
70231
70232         * modules/fts (Depends-on): Add i-ring.
70233         * modules/i-ring: New module.
70234         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
70235         * m4/i-ring.m4: New file.
70236
70237 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70238
70239         * gnulib-tool (func_create_testdir): Fix replacement of
70240         `build-aux' in configure.ac.  Run autotools in gltests
70241         subdirectory.
70242         (func_create_testdir, func_create_megatestdir, test): There is
70243         no need for '--force' in most autotool invocations in a new
70244         tree.  Actually fail the whole test if any of the tools, or the
70245         configure or make stages fail.
70246
70247         Sync from Automake.
70248         * build-aux/gnupload: Revert last change.  Add pointer to upload
70249         instructions of the GNU Maintenance Instructions.
70250         Suggestion by Karl Berry.
70251
70252 2006-11-10  Jim Meyering  <jim@meyering.net>
70253
70254         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
70255
70256 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70257
70258         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
70259         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
70260         (bind_textdomain_codeset) [! ENABLE_NLS]:
70261         Evaluate all the arguments.  That way, callers get compatible behavior
70262         if the arguments have side effects.  Also, it avoids some GCC
70263         diagnostics in some cases; Joel E. Denny reported problems when Bison
70264         was configured with --enable-gcc-warnigs.
70265
70266 2006-11-10  Jim Meyering  <jim@meyering.net>
70267
70268         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
70269         relevant options in CFLAGS (like -O, -fno-inline) are taken into
70270         account.
70271
70272 2006-11-10  Jim Meyering  <jim@meyering.net>
70273
70274         * modules/inline: New file/module.
70275         * modules/xalloc (Files): Remove m4/inline.m4.
70276         (Depends-on): Add inline, instead.
70277         * modules/oset: Likewise.
70278         * modules/list: Likewise.
70279
70280 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70281
70282         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
70283         Problem reported by Matthew Woehlke.
70284
70285 2006-11-09  Bruno Haible  <bruno@clisp.org>
70286
70287         * lib/tempname.c (gen_tempname): Remove variant that invokes
70288         __gen_tempname.
70289         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
70290         __gen_tempname.
70291
70292 2006-11-08  Bruno Haible  <bruno@clisp.org>
70293
70294         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
70295         to 'yes' instead of 'cross-compiling'.
70296
70297 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
70298
70299         * lib/quotearg.h (quotearg_free): New decl.
70300         * lib/quotearg.c (quotearg_free): New function.
70301         (slot0, nslots, slotvec0, slotvec):
70302         Now file-scope so that quotearg_free can get at them.
70303
70304 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70305
70306         Sync from Automake.
70307         * build-aux/gnupload: Add missing 'gnu' to example URL.
70308         Report by Karl Berry.
70309
70310 2006-11-08  Bruno Haible  <bruno@clisp.org>
70311
70312         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
70313         Suggested by Paul Eggert.
70314
70315 2006-11-08  Jim Meyering  <jim@meyering.net>
70316
70317         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
70318         It's already included if !_LIBC.
70319         (fts_safe_changedir): Add a comment.
70320
70321 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70322
70323         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
70324         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
70325         Matthew Woehlke.
70326
70327         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
70328         definitions up, to avoid colliding with change below.
70329         (static_inline) [HAVE_INLINE]: New macro.
70330         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
70331         Provide extern decls when !HAVE_INLINE.  Do not define unless
70332         static_inline is defined, either by us or by xmalloc.c.  Use
70333         static_inline rather than static inline.
70334         (XCALLOC): Optimize sizeof(T) = 1 case.
70335         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
70336
70337 2006-11-07  Bruno Haible  <bruno@clisp.org>
70338
70339         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
70340         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
70341         AC_C_INLINE.
70342         * modules/xalloc (Files): Add m4/inline.m4.
70343
70344 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70345
70346         * README: Fix typo.
70347         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
70348         (Miscellanous Notes): ...from this.
70349
70350 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70351
70352         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
70353         Mention that offsetof should be used instead of sizeof.
70354         From Bruno Haible.
70355
70356 2006-11-07  Bruno Haible  <bruno@clisp.org>
70357
70358         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
70359
70360 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70361
70362         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70363         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
70364         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70365         (gl_tree_add_before, gl_tree_add_after):
70366         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
70367         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
70368         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
70369         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
70370         (gl_linked_add_after, gl_linked_add_at): Likewise.
70371         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
70372         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70373         (gl_tree_add_before, gl_tree_add_after): Likewise.
70374         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
70375         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
70376         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
70377
70378 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70379
70380         * lib/gl_oset.h: Use C comment style, not C++ comment style.
70381
70382 2006-11-06  Bruno Haible  <bruno@clisp.org>
70383
70384         * m4/inline.m4: New file.
70385         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
70386         * modules/list (Files): Add m4/inline.m4.
70387         * modules/oset (Files): Likewise.
70388
70389 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70390
70391         * lib/idcache.c: Include <stddef.h>, for offsetof.
70392         (struct userid.name): Change from char * to a flexible array member.
70393         All uses changed.
70394         * modules/idcache (Depends-on): Add flexmember.
70395
70396         * MODULES.html.sh (Core language properties): New module flexmember.
70397         * modules/flexmember, m4/flexmember.m4: New files.
70398
70399         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
70400         inline functions that are identical with the old xnmalloc_inline,
70401         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
70402         that we can avoid some unnecessary integer multiplications and
70403         divisions in the common case where the element size is known at
70404         compile time.
70405         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
70406         needed.
70407         (xnboundedmalloc): Remove.
70408         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
70409         arguments, for consistency with rest of this header.
70410         (xcharalloc): Rewrite using XNMALLOC.
70411         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
70412         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
70413         versions have been moved to lib/xalloc.h and renamed to be the
70414         non-*_inline versions.
70415         (xmalloc, xrealloc): Implement without reference to the xnmalloc
70416         and xnrealloc functions, since those functions are now inline and
70417         now call us.
70418         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
70419         renaming described above.
70420         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
70421         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
70422         captures the dependency in AC_C_INLINE.
70423
70424         New module canonicalize-lgpl, proposed by Charles Wilson in
70425         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
70426         with a few small changes afterwards.
70427         * MODULES.html.sh (File system functions): New module
70428         canonicalize-lgpl.
70429         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
70430         and canonicalize_file_name.
70431         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
70432         * modules/canonicalize-lgpl: New files.
70433
70434 2006-11-05  Bruno Haible  <bruno@clisp.org>
70435
70436         * gnulib-tool (func_import, func_create_testdir): Create directories
70437         also for files in subdirectories of lib/.
70438
70439 2006-11-05  Bruno Haible  <bruno@clisp.org>
70440
70441         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
70442         ANSI C compliant.
70443
70444 2006-11-03  Bruno Haible  <bruno@clisp.org>
70445
70446         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70447         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
70448         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
70449         (xnboundedmalloc): New inline function.
70450         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
70451         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
70452         xmalloc.
70453         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
70454         xmalloc.
70455         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
70456         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
70457         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
70458         xmalloc.
70459         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70460         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
70461         xmalloc.
70462         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
70463         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70464         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
70465         xmalloc.
70466         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70467         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
70468         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70469         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
70470         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
70471         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
70472         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
70473
70474 2006-11-03  Bruno Haible  <bruno@clisp.org>
70475
70476         * lib/c-ctype.h [C++]: Define functions without name mangling.
70477         * lib/fwriteerror.h [C++]: Likewise.
70478         * lib/gcd.h [C++]: Likewise.
70479         * lib/linebreak.h [C++]: Likewise.
70480
70481 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
70482
70483         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
70484         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
70485         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
70486         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
70487         Check for functions and headers just once.
70488         Check for declaration of canonicalize_file_name.
70489         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
70490
70491 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70492
70493         * gnulib-tool (func_import): Fix typo in actioncmd.
70494
70495 2006-11-02  Bruno Haible  <bruno@clisp.org>
70496
70497         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
70498         newline sequence in the Makefile.am snippet as a space, like "make"
70499         does.
70500         Reported by Roger Persson <perrog@gmail.com>.
70501
70502 2006-11-01  Bruno Haible  <bruno@clisp.org>
70503
70504         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
70505         already declared in <string.h>.
70506         * lib/strcase.h (strncasecmp): Don't declare it if yes.
70507
70508 2006-11-01  Bruno Haible  <bruno@clisp.org>
70509
70510         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
70511         * lib/strcase.h: Include <string.h>.
70512         (strcasecmp): Define to rpl_strcasecmp here.
70513
70514 2006-11-01  Bruno Haible  <bruno@clisp.org>
70515
70516         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
70517
70518 2006-11-01  Eric Blake  <ebb9@byu.net>
70519
70520         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
70521
70522         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
70523
70524 2006-10-29  Bruno Haible  <bruno@clisp.org>
70525
70526         Make it compile in C++ mode.
70527         * lib/full-write.c (full_rw): Add a cast.
70528
70529 2006-11-01  Bruno Haible  <bruno@clisp.org>
70530
70531         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
70532         be POSIX compliant.
70533         Reported by Roger Persson <perrog@gmail.com>.
70534
70535 2006-11-01  Eric Blake  <ebb9@byu.net>
70536
70537         * lib/getopt_.h: Fix comments.
70538
70539 2006-10-31  Eric Blake  <ebb9@byu.net>
70540
70541         * modules/tmpdir (Depends-on): Add sys_stat.
70542         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
70543         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
70544         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
70545         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
70546         tempname.
70547
70548 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
70549
70550         Avoid some C++ diagnostics reported by Bruno Haible.
70551         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
70552         xmalloc.
70553         (quotearg_alloc): Use xcharalloc rather than xmalloc.
70554         (struct slotvec): Move to top level.
70555         (quotearg_n_options): Rewrite to avoid xmalloc.
70556         * lib/xalloc.h (xcharalloc): New function.
70557         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
70558         [defined __cplusplus]: Add function template that provides result
70559         type propagation.  This part of the change is from Bruno Haible.
70560
70561 2006-10-29  Bruno Haible  <bruno@clisp.org>
70562
70563         Make it compile in C++ mode.
70564         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
70565         * lib/strnlen1.c (strnlen1): Cast memchr result.
70566         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
70567         * lib/clean-temp.c (string_equals, string_hash): Add casts.
70568         (create_temp_dir): Rename local variable 'template'.
70569         (compile_csharp_using_sscli): Add cast.
70570         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
70571         * lib/findprog.c (find_in_path): Likewise.
70572         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
70573         * lib/wait-process.c (register_slave_subprocess): Likewise.
70574
70575 2006-10-22  Bruno Haible  <bruno@clisp.org>
70576
70577         * modules/tsearch: New file.
70578         * lib/tsearch.h: New file.
70579         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
70580         * m4/tsearch.m4: New file.
70581         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
70582
70583 2006-10-29  Eric Blake  <ebb9@byu.net>
70584
70585         * lib/arcfour.c: Assume config.h.
70586         * lib/arctwo.c: Likewise.
70587         * lib/base64.c: Likewise.
70588         * lib/check-version.c: Likewise.
70589         * lib/crc.c: Likewise.
70590         * lib/des.c: Likewise.
70591         * lib/gc-gnulib.c: Likewise.
70592         * lib/gc-libgcrypt.c: Likewise.
70593         * lib/gc-pbkdf2-sha1.c: Likewise.
70594         * lib/getaddrinfo.c: Likewise.
70595         * lib/getdelim.c: Likewise.
70596         * lib/getline.c: Likewise.
70597         * lib/hmac-md5.c: Likewise.
70598         * lib/hmac-sha1.c: Likewise.
70599         * lib/iconvme.c: Likewise.
70600         * lib/md2.c: Likewise.
70601         * lib/md4.c: Likewise.
70602         * lib/memxor.c: Likewise.
70603         * lib/read-file.c: Likewise.
70604         * lib/readline.c: Likewise.
70605         * lib/rijndael-alg-fst.c: Likewise.
70606         * lib/rijndael-api-fst.c: Likewise.
70607         * lib/xgetdomainname.c: Likewise.
70608
70609 2006-10-28  Eric Blake  <ebb9@byu.net>
70610
70611         * lib/xstrndup.c: Assume config.h.
70612
70613 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
70614
70615         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
70616         stat-macros.h is now for our own macros, whereas stat_h is for
70617         macros in the <sys/stat.h> name space.
70618         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
70619         (STAT_MACROS_H): Remove.
70620         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
70621         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
70622         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
70623         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
70624         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
70625         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
70626         Move these macros to ...
70627         * lib/stat_.h: here.  Don't include stat-macros.h.
70628         * lib/canonicalize.c: Don't include stat-macros.h.
70629         * lib/chown.c: Likewise.
70630         * lib/euidaccess.c: Likewise.
70631         * lib/file-type.c: Likewise.
70632         * lib/filemode.c: Likewise.
70633         * lib/glob.c: Likewise.
70634         * lib/isapipe.c: Likewise.
70635         * lib/lchown.c: Likewise.
70636         * lib/lstat.c: Likewise.
70637         * lib/mkdir-p.c: Likewise.
70638         * lib/rmdir.c: Likewise.
70639         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
70640         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
70641         unless mkdir isn't declared, to speed up 'configure'.
70642         Always create sys/stat.h, since it's unlikely any real sys/stat.h
70643         would define all the S_* symbols.
70644         * modules/canonicalize (Depends-on):
70645         Depend on sys_stat, not stat-macros.
70646         * modules/chown: Likewise.
70647         * modules/euidaccess: Likewise.
70648         * modules/filemode: Likewise.
70649         * modules/file-type: Likewise.
70650         * modules/glob: Likewise.
70651         * modules/isapipe: Likewise.
70652         * modules/lchown: Likewise.
70653         * modules/lstat: Likewise.
70654         * modules/mkancesdirs: Likewise.
70655         * modules/rmdir: Likewise.
70656         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
70657         * modules/modechange: Likewise.
70658         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
70659         (configure.ac): Remove gl_STAT_MACROS.
70660         * modules/sys_stat (Depends-on): Remove stat-macros.
70661
70662 2006-10-27  Bruno Haible  <bruno@clisp.org>
70663
70664         * m4/signed.m4: Remove file.
70665         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
70666         invocation.
70667         * modules/vasnprintf (Files): Remove m4/signed.m4.
70668
70669 2006-10-27  Bruno Haible  <bruno@clisp.org>
70670
70671         Update to GNU gettext 0.16.
70672         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
70673         m4/inttypes-h.m4, m4/signed.m4.
70674         * m4/gettext.m4: Update to GNU gettext 0.16.
70675         * m4/intl.m4: New file, from GNU gettext.
70676         * m4/intldir.m4: New file, from GNU gettext.
70677         * config/srclist.txt: Update
70678
70679 2006-10-27  Eric Blake  <ebb9@byu.net>
70680
70681         * MODULES.html.sh: Document tempname.
70682         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
70683         dependencies.
70684         (Files): Move lib/tempname.c...
70685         * modules/tempname: ...to this new module.
70686         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
70687         (gl_PREREQ_TEMPNAME): Move...
70688         * m4/tempname.m4: ...to this new file.
70689         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
70690         * modules/sys_stat (Depends-on): Add stat-macros.
70691         * lib/stat_.h (includes): Pick up stat macros.
70692         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
70693         if stat macros are broken.
70694         * lib/tempname.c (includes): No need to include "stat-macros.h".
70695         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
70696         (direxists, __path_search) [!_LIBC]: Don't compile these in
70697         gnulib; the tmpdir module covers that.
70698         * lib/tempname.h: New file.
70699
70700 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
70701
70702         * COPYING: Explain how gnulib-tool converts licence headers.
70703         Almost all wording by Eric Blake.
70704
70705 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
70706
70707         * lib/mbchar.h (is_basic_table): Make read-only.
70708         * lib/mbchar.c (is_basic_table): Likewise.
70709         Reported by John Darrington.
70710
70711 2006-10-25  Bruno Haible  <bruno@clisp.org>
70712
70713         * lib/progname.h (set_program_name): Undefine before defining.
70714
70715 2006-10-25  Bruno Haible  <bruno@clisp.org>
70716
70717         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
70718         false for non-gcc C++ compilers.
70719         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
70720
70721 2006-10-24  Bruno Haible  <bruno@clisp.org>
70722
70723         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
70724         iconv implementations like Irix iconv.
70725
70726 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70727
70728         * modules/vararrays: New file.
70729         * m4/vararrays.m4: New file, taken from diffutils.
70730         * MODULES.html.sh: New module vararrays.
70731
70732 2006-10-24  Karl Berry  <karl@gnu.org>
70733
70734         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
70735         Don't call GNU Unix.
70736
70737 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70738
70739         * users.txt: Add Libtool.
70740
70741         Sync from Libtool:
70742
70743         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70744
70745         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
70746         to gnulib's policy of including config.h unconditionally.
70747
70748 2006-10-24  Bruno Haible  <bruno@clisp.org>
70749
70750         * modules/wcwidth (Files): Add m4/wint_t.m4.
70751         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
70752         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
70753
70754 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70755
70756         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
70757         to pacify GCC with some -W flags enabled.  Problem reported by
70758         Bruno Haible.
70759
70760 2006-10-24  Jim Meyering  <jim@meyering.net>
70761
70762         * MODULES.html.sh: Remove uinttostr.  It's not a module.
70763         Reported by Karl Berry.
70764
70765 2006-10-23  Bruno Haible  <bruno@clisp.org>
70766
70767         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
70768
70769 2006-10-24  Bruno Haible  <bruno@clisp.org>
70770
70771         * lib/gl_list.h: Use C comment style, not C++ comment style.
70772
70773 2006-10-23  Eric Blake  <ebb9@byu.net>
70774
70775         * lib/getaddrinfo.c (includes): Add missing include.
70776
70777 2006-10-23  Bruno Haible  <bruno@clisp.org>
70778             Paul Eggert  <eggert@cs.ucla.edu>
70779
70780         Ability to rename obstack_free.
70781         * lib/obstack.h (__obstack_free): New macro. Declare instead of
70782         obstack_free.
70783         (obstack_free): Invoke the __obstack_free macro.
70784         * lib/obstack.c (obstack_free): Use __obstack_free macro.
70785
70786 2006-10-23  Bruno Haible  <bruno@clisp.org>
70787             Paul Eggert  <eggert@cs.ucla.edu>
70788
70789         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
70790         __argc, __argv from the declaration. (They are defined as macros on
70791         mingw.)
70792
70793 2006-10-22  Bruno Haible  <bruno@clisp.org>
70794
70795         * doc/gnulib-intro.texi: New file.
70796         * doc/gnulib.texi: Include it.
70797
70798 2006-10-21  Bruno Haible  <bruno@clisp.org>
70799
70800         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
70801         "Introduction", "Miscellanous Notes", "Particular Modules".
70802
70803 2006-10-21  Bruno Haible  <bruno@clisp.org>
70804
70805         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70806         Change mostlyclean-local rule to avoid sh syntax error from bash
70807         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
70808
70809 2006-10-23  Jim Meyering  <jim@meyering.net>
70810
70811         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
70812         in place of snprintf.
70813
70814         * modules/inttostr (Files): Add lib/uinttostr.c.
70815         * lib/uinttostr.c (inttostr): New file/function.
70816         * lib/inttostr.h (uinttostr): Declare.
70817         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
70818         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
70819         Add uinttostr.
70820         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
70821
70822 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70823
70824         * lib/canonicalize.c (ELOOP): Define if not already defined.
70825         Problem reported by Bruno Haible in
70826         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
70827
70828 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70829
70830         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
70831         Problem reported by Perry Smith and Ville Laurikari.
70832
70833         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
70834         uses.
70835
70836 2006-10-19  Bruno Haible  <bruno@clisp.org>
70837
70838         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
70839         for mingw.
70840
70841 2006-10-19  Bruno Haible  <bruno@clisp.org>
70842
70843         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
70844         Needed for mingw.
70845
70846 2006-10-19  Bruno Haible  <bruno@clisp.org>
70847
70848         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
70849
70850 2006-10-19  Bruno Haible  <bruno@clisp.org>
70851
70852         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
70853         it.
70854
70855 2006-10-19  Bruno Haible  <bruno@clisp.org>
70856
70857         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
70858         invocation.
70859
70860 2006-10-19  Bruno Haible  <bruno@clisp.org>
70861
70862         * gnulib-tool (func_create_testdir): Don't include ftruncate and
70863         mountlist by default.
70864
70865 2006-10-16  Bruno Haible  <bruno@clisp.org>
70866
70867         * lib/c-strstr.c: Include c-strstr.h.
70868
70869 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70870
70871         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
70872         in a slash.
70873
70874 2006-10-18  Bruno Haible  <bruno@clisp.org>
70875
70876         * lib/lock.h [C++]: Wrap definitions in extern "C".
70877
70878 2006-10-18  Bruno Haible  <bruno@clisp.org>
70879
70880         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
70881         gl_LIBOBJS list.
70882
70883 2006-10-18  Bruno Haible  <bruno@clisp.org>
70884
70885         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
70886
70887 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
70888
70889         * lib/xstrtol.h: Include gettext.h.
70890         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
70891         Problem reported by Eric Blake.
70892         * modules/xstrtol (Depends-on): Add gettext-h.
70893
70894 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
70895
70896         * lib/strftime.c (advance): New macro.
70897         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
70898         incomplete type, so you can't add 0 to it.  Problem and patch
70899         reported by Eelco Dolstra for dietlibc.
70900
70901 2006-10-18  Jim Meyering  <jim@meyering.net>
70902
70903         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
70904         type for a local, and rename it: s/up/user_proc/.
70905
70906 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
70907
70908         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
70909         READ_UTMP_USER_PROCESS.
70910         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
70911
70912 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
70913
70914         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
70915         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
70916
70917 2006-10-17  Eric Blake  <ebb9@byu.net>
70918
70919         * lib/sigprocmask.c (sigprocmask): Fix typo.
70920
70921         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
70922
70923         * modules/clean-temp (Makefile.am): Don't add to make output...
70924         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
70925         config.h.
70926
70927 2006-10-17  Bruno Haible  <bruno@clisp.org>
70928
70929         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
70930         differently if DEFAULT_TEXT_DOMAIN is set.
70931
70932 2006-10-16  Bruno Haible  <bruno@clisp.org>
70933
70934         * lib/clean-temp.c: Include fwriteerror.h.
70935
70936 2006-10-16  Bruno Haible  <bruno@clisp.org>
70937
70938         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
70939
70940 2006-10-16  Bruno Haible  <bruno@clisp.org>
70941
70942         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
70943         * lib/sigprocmask.h: Include <sys/types.h>.
70944         (sigset_t): Use the system's definition if present.
70945
70946 2006-10-17  Eric Blake  <ebb9@byu.net>
70947
70948         * lib/xvasprintf.c (includes): Assume config.h.
70949         * lib/xasprintf.c (includes): Likewise.
70950
70951 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
70952
70953         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
70954         at least as wide as intmax_t.
70955
70956 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
70957
70958         (Imported from Automake.)
70959         * build-aux/gnupload: Update to version 1.1 of directive file.
70960
70961 2006-10-16  Eric Blake  <ebb9@byu.net>
70962
70963         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
70964         match Automake 1.10a.
70965
70966 2006-10-14  Bruno Haible  <bruno@clisp.org>
70967
70968         * modules/sigprocmask: New file.
70969         * lib/sigprocmask.h: New file.
70970         * lib/sigprocmask.c: New file.
70971         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
70972         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
70973         request sigprocmask.o.
70974         (gl_PREREQ_SIGPROCMASK): New macro.
70975         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
70976         (Depends-on): Add sigprocmask.
70977         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
70978         gt_SIGNALBLOCKING. Test for 'raise' only once.
70979         * lib/fatal-signal.c: Include sigprocmask.h.
70980         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
70981         unblock_fatal_signals): Define always.
70982         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70983         sigprocmask.
70984
70985 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
70986
70987         Sync from Automake.
70988         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
70989         which incorrectly sets the mode of an existing destination
70990         directory.  In some cases the unpatched install-sh could do the
70991         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
70992         system.  We hope this is rare in practice, but it's clearly worth
70993         fixing.  Problem reported by Alex Unleashed in
70994         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
70995         Also, don't bother to check for -m bugs unless we're using -m;
70996         suggested by Stepan Kasal.
70997
70998 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70999
71000         Sync from Automake.
71001         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
71002         `-c' flag, so they appear at the same position as in %FASTDEP%
71003         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
71004         which ignores unknown options only after the first non-option.
71005         Bug report against M4 by Nelson H. F. Beebe.
71006
71007 2006-10-13  Jim Meyering  <jim@meyering.net>
71008
71009         Fix a bug in yesterday's change.
71010         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
71011         p->fts_statp->st_dev would be used uninitialized.
71012         Ensures that we always call fts_stat on the very first entry.
71013         Miklos Szeredi reported that find -xdev stopped working.
71014
71015 2006-10-12  Bruno Haible  <bruno@clisp.org>
71016
71017         * gnulib-tool (func_get_automake_snippet): Append an automatically
71018         computed EXTRA_DIST augmentation.
71019         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
71020         * modules/alloca-opt (Makefile.am): Likewise.
71021         * modules/allocsa (Makefile.am): Likewise.
71022         * modules/arcfour (Makefile.am): Likewise.
71023         * modules/arctwo (Makefile.am): Likewise.
71024         * modules/argmatch (Makefile.am): Likewise.
71025         * modules/argz (Makefile.am): Likewise.
71026         * modules/atexit (Makefile.am): Likewise.
71027         * modules/backupfile (Makefile.am): Likewise.
71028         * modules/byteswap (Makefile.am): Likewise.
71029         * modules/c-strtod (Makefile.am): Likewise.
71030         * modules/c-strtold (Makefile.am): Likewise.
71031         * modules/calloc (Makefile.am): Likewise.
71032         * modules/canon-host (Makefile.am): Likewise.
71033         * modules/canonicalize (Makefile.am): Likewise.
71034         * modules/chdir-long (Makefile.am): Likewise.
71035         * modules/chdir-safer (Makefile.am): Likewise.
71036         * modules/check-version (Makefile.am): Likewise.
71037         * modules/chown (Makefile.am): Likewise.
71038         * modules/cloexec (Makefile.am): Likewise.
71039         * modules/close-stream (Makefile.am): Likewise.
71040         * modules/closeout (Makefile.am): Likewise.
71041         * modules/crc (Makefile.am): Likewise.
71042         * modules/csharpexec (Makefile.am): Likewise.
71043         * modules/cycle-check (Makefile.am): Likewise.
71044         * modules/des (Makefile.am): Likewise.
71045         * modules/dev-ino (Makefile.am): Likewise.
71046         * modules/dirfd (Makefile.am): Likewise.
71047         * modules/dirname (Makefile.am): Likewise.
71048         * modules/dup2 (Makefile.am): Likewise.
71049         * modules/eealloc (Makefile.am): Likewise.
71050         * modules/error (Makefile.am): Likewise.
71051         * modules/euidaccess (Makefile.am): Likewise.
71052         * modules/exclude (Makefile.am): Likewise.
71053         * modules/exitfail (Makefile.am): Likewise.
71054         * modules/fcntl-safer (Makefile.am): Likewise.
71055         * modules/fcntl (Makefile.am): Likewise.
71056         * modules/file-type (Makefile.am): Likewise.
71057         * modules/fileblocks (Makefile.am): Likewise.
71058         * modules/filemode (Makefile.am): Likewise.
71059         * modules/filenamecat (Makefile.am): Likewise.
71060         * modules/fnmatch (Makefile.am): Likewise.
71061         * modules/fopen-safer (Makefile.am): Likewise.
71062         * modules/fpending (Makefile.am): Likewise.
71063         * modules/fprintftime (Makefile.am): Likewise.
71064         * modules/free (Makefile.am): Likewise.
71065         * modules/fsusage (Makefile.am): Likewise.
71066         * modules/ftruncate (Makefile.am): Likewise.
71067         * modules/fts (Makefile.am): Likewise.
71068         * modules/gc-arcfour (Makefile.am): Likewise.
71069         * modules/gc-des (Makefile.am): Likewise.
71070         * modules/gc-hmac-md5 (Makefile.am): Likewise.
71071         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
71072         * modules/gc-md4 (Makefile.am): Likewise.
71073         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71074         * modules/gc-sha1 (Makefile.am): Likewise.
71075         * modules/gc (Makefile.am): Likewise.
71076         * modules/getaddrinfo (Makefile.am): Likewise.
71077         * modules/getcwd (Makefile.am): Likewise.
71078         * modules/getdelim (Makefile.am): Likewise.
71079         * modules/getdomainname (Makefile.am): Likewise.
71080         * modules/getgroups (Makefile.am): Likewise.
71081         * modules/gethostname (Makefile.am): Likewise.
71082         * modules/gethrxtime (Makefile.am): Likewise.
71083         * modules/getline (Makefile.am): Likewise.
71084         * modules/getloadavg (Makefile.am): Likewise.
71085         * modules/getlogin_r (Makefile.am): Likewise.
71086         * modules/getndelim2 (Makefile.am): Likewise.
71087         * modules/getopt (Makefile.am): Likewise.
71088         * modules/getpagesize (Makefile.am): Likewise.
71089         * modules/getpass-gnu (Makefile.am): Likewise.
71090         * modules/getpass (Makefile.am): Likewise.
71091         * modules/getsubopt (Makefile.am): Likewise.
71092         * modules/gettime (Makefile.am): Likewise.
71093         * modules/gettimeofday (Makefile.am): Likewise.
71094         * modules/getugroups (Makefile.am): Likewise.
71095         * modules/getusershell (Makefile.am): Likewise.
71096         * modules/glob (Makefile.am): Likewise.
71097         * modules/group-member (Makefile.am): Likewise.
71098         * modules/hard-locale (Makefile.am): Likewise.
71099         * modules/hash (Makefile.am): Likewise.
71100         * modules/hmac-md5 (Makefile.am): Likewise.
71101         * modules/hmac-sha1 (Makefile.am): Likewise.
71102         * modules/human (Makefile.am): Likewise.
71103         * modules/idcache (Makefile.am): Likewise.
71104         * modules/imaxabs (Makefile.am): Likewise.
71105         * modules/imaxdiv (Makefile.am): Likewise.
71106         * modules/inet_ntop (Makefile.am): Likewise.
71107         * modules/inet_pton (Makefile.am): Likewise.
71108         * modules/intprops (Makefile.am): Likewise.
71109         * modules/inttostr (Makefile.am): Likewise.
71110         * modules/inttypes (Makefile.am): Likewise.
71111         * modules/isapipe (Makefile.am): Likewise.
71112         * modules/javaversion (Makefile.am): Likewise.
71113         * modules/lchmod (Makefile.am): Likewise.
71114         * modules/lchown (Makefile.am): Likewise.
71115         * modules/localcharset (Makefile.am): Likewise.
71116         * modules/long-options (Makefile.am): Likewise.
71117         * modules/lstat (Makefile.am): Likewise.
71118         * modules/malloc (Makefile.am): Likewise.
71119         * modules/mathl (Makefile.am): Likewise.
71120         * modules/mbchar (Makefile.am): Likewise.
71121         * modules/md2 (Makefile.am): Likewise.
71122         * modules/md4 (Makefile.am): Likewise.
71123         * modules/md5 (Makefile.am): Likewise.
71124         * modules/memcasecmp (Makefile.am): Likewise.
71125         * modules/memchr (Makefile.am): Likewise.
71126         * modules/memcmp (Makefile.am): Likewise.
71127         * modules/memcoll (Makefile.am): Likewise.
71128         * modules/memcpy (Makefile.am): Likewise.
71129         * modules/memmem (Makefile.am): Likewise.
71130         * modules/memmove (Makefile.am): Likewise.
71131         * modules/mempcpy (Makefile.am): Likewise.
71132         * modules/memrchr (Makefile.am): Likewise.
71133         * modules/memset (Makefile.am): Likewise.
71134         * modules/memxor (Makefile.am): Likewise.
71135         * modules/mkancesdirs (Makefile.am): Likewise.
71136         * modules/mkdir-p (Makefile.am): Likewise.
71137         * modules/mkdir (Makefile.am): Likewise.
71138         * modules/mkdtemp (Makefile.am): Likewise.
71139         * modules/mkstemp (Makefile.am): Likewise.
71140         * modules/mktime (Makefile.am): Likewise.
71141         * modules/modechange (Makefile.am): Likewise.
71142         * modules/mountlist (Makefile.am): Likewise.
71143         * modules/nanosleep (Makefile.am): Likewise.
71144         * modules/obstack (Makefile.am): Likewise.
71145         * modules/openat (Makefile.am): Likewise.
71146         * modules/pagealign_alloc (Makefile.am): Likewise.
71147         * modules/pathmax (Makefile.am): Likewise.
71148         * modules/physmem (Makefile.am): Likewise.
71149         * modules/poll (Makefile.am): Likewise.
71150         * modules/posixtm (Makefile.am): Likewise.
71151         * modules/posixver (Makefile.am): Likewise.
71152         * modules/putenv (Makefile.am): Likewise.
71153         * modules/quote (Makefile.am): Likewise.
71154         * modules/quotearg (Makefile.am): Likewise.
71155         * modules/raise (Makefile.am): Likewise.
71156         * modules/read-file (Makefile.am): Likewise.
71157         * modules/readline (Makefile.am): Likewise.
71158         * modules/readlink (Makefile.am): Likewise.
71159         * modules/readtokens (Makefile.am): Likewise.
71160         * modules/readutmp (Makefile.am): Likewise.
71161         * modules/realloc (Makefile.am): Likewise.
71162         * modules/regex (Makefile.am): Likewise.
71163         * modules/rename-dest-slash (Makefile.am): Likewise.
71164         * modules/rename (Makefile.am): Likewise.
71165         * modules/rijndael (Makefile.am): Likewise.
71166         * modules/rmdir (Makefile.am): Likewise.
71167         * modules/rpmatch (Makefile.am): Likewise.
71168         * modules/safe-read (Makefile.am): Likewise.
71169         * modules/safe-write (Makefile.am): Likewise.
71170         * modules/same-inode (Makefile.am): Likewise.
71171         * modules/same (Makefile.am): Likewise.
71172         * modules/save-cwd (Makefile.am): Likewise.
71173         * modules/savedir (Makefile.am): Likewise.
71174         * modules/setenv (Makefile.am): Likewise.
71175         * modules/settime (Makefile.am): Likewise.
71176         * modules/sha1 (Makefile.am): Likewise.
71177         * modules/sig2str (Makefile.am): Likewise.
71178         * modules/snprintf (Makefile.am): Likewise.
71179         * modules/stat-macros (Makefile.am): Likewise.
71180         * modules/stat-time (Makefile.am): Likewise.
71181         * modules/stdbool (Makefile.am): Likewise.
71182         * modules/stdint (Makefile.am): Likewise.
71183         * modules/stdlib-safer (Makefile.am): Likewise.
71184         * modules/stpcpy (Makefile.am): Likewise.
71185         * modules/stpncpy (Makefile.am): Likewise.
71186         * modules/strcase (Makefile.am): Likewise.
71187         * modules/strcasestr (Makefile.am): Likewise.
71188         * modules/strchrnul (Makefile.am): Likewise.
71189         * modules/strcspn (Makefile.am): Likewise.
71190         * modules/strdup (Makefile.am): Likewise.
71191         * modules/strerror (Makefile.am): Likewise.
71192         * modules/strftime (Makefile.am): Likewise.
71193         * modules/strndup (Makefile.am): Likewise.
71194         * modules/strnlen (Makefile.am): Likewise.
71195         * modules/strpbrk (Makefile.am): Likewise.
71196         * modules/strsep (Makefile.am): Likewise.
71197         * modules/strstr (Makefile.am): Likewise.
71198         * modules/strtod (Makefile.am): Likewise.
71199         * modules/strtoimax (Makefile.am): Likewise.
71200         * modules/strtok_r (Makefile.am): Likewise.
71201         * modules/strtol (Makefile.am): Likewise.
71202         * modules/strtoll (Makefile.am): Likewise.
71203         * modules/strtoul (Makefile.am): Likewise.
71204         * modules/strtoull (Makefile.am): Likewise.
71205         * modules/strtoumax (Makefile.am): Likewise.
71206         * modules/strverscmp (Makefile.am): Likewise.
71207         * modules/sys_socket (Makefile.am): Likewise.
71208         * modules/sys_stat (Makefile.am): Likewise.
71209         * modules/sysexits (Makefile.am): Likewise.
71210         * modules/time_r (Makefile.am): Likewise.
71211         * modules/timegm (Makefile.am): Likewise.
71212         * modules/timespec (Makefile.am): Likewise.
71213         * modules/tmpfile-safer (Makefile.am): Likewise.
71214         * modules/trim (Makefile.am): Likewise.
71215         * modules/unistd-safer (Makefile.am): Likewise.
71216         * modules/unlinkdir (Makefile.am): Likewise.
71217         * modules/unlocked-io (Makefile.am): Likewise.
71218         * modules/userspec (Makefile.am): Likewise.
71219         * modules/utime (Makefile.am): Likewise.
71220         * modules/utimecmp (Makefile.am): Likewise.
71221         * modules/utimens (Makefile.am): Likewise.
71222         * modules/vasnprintf (Makefile.am): Likewise.
71223         * modules/vasprintf (Makefile.am): Likewise.
71224         * modules/vsnprintf (Makefile.am): Likewise.
71225         * modules/xalloc (Makefile.am): Likewise.
71226         * modules/xgetcwd (Makefile.am): Likewise.
71227         * modules/xnanosleep (Makefile.am): Likewise.
71228         * modules/xreadlink (Makefile.am): Likewise.
71229         * modules/xstrtod (Makefile.am): Likewise.
71230         * modules/xstrtol (Makefile.am): Likewise.
71231         * modules/xstrtold (Makefile.am): Likewise.
71232         * modules/yesno (Makefile.am): Likewise.
71233         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
71234
71235 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71236
71237         * modules/error (Makefile.am): Distribute files through
71238         EXTRA_DIST, not lib_SOURCES.
71239
71240 2006-10-12  Eric Blake  <ebb9@byu.net>
71241
71242         * modules/error (Makefile.am): Distribute files in /lib.
71243         * modules/obstack (Makefile.am): Likewise.
71244
71245 2006-10-12  Bruno Haible  <bruno@clisp.org>
71246
71247         * modules/acl (Makefile.am): Distribute all files in lib/ through
71248         EXTRA_DIST.
71249         * modules/arcfour (Makefile.am): Likewise.
71250         * modules/arctwo (Makefile.am): Likewise.
71251         * modules/argmatch (Makefile.am): Likewise.
71252         * modules/argz (Makefile.am): Likewise.
71253         * modules/atexit (Makefile.am): Likewise.
71254         * modules/backupfile (Makefile.am): Likewise.
71255         * modules/c-strtod (Makefile.am): Likewise.
71256         * modules/c-strtold (Makefile.am): Likewise.
71257         * modules/calloc (Makefile.am): Likewise.
71258         * modules/canon-host (Makefile.am): Likewise.
71259         * modules/canonicalize (Makefile.am): Likewise.
71260         * modules/chdir-long (Makefile.am): Likewise.
71261         * modules/chdir-safer (Makefile.am): Likewise.
71262         * modules/check-version (Makefile.am): Likewise.
71263         * modules/chown (Makefile.am): Likewise.
71264         * modules/cloexec (Makefile.am): Likewise.
71265         * modules/close-stream (Makefile.am): Likewise.
71266         * modules/closeout (Makefile.am): Likewise.
71267         * modules/crc (Makefile.am): Likewise.
71268         * modules/cycle-check (Makefile.am): Likewise.
71269         * modules/des (Makefile.am): Likewise.
71270         * modules/dirfd (Makefile.am): Likewise.
71271         * modules/dirname (Makefile.am): Likewise.
71272         * modules/dup2 (Makefile.am): Likewise.
71273         * modules/euidaccess (Makefile.am): Likewise.
71274         * modules/exclude (Makefile.am): Likewise.
71275         * modules/exitfail (Makefile.am): Likewise.
71276         * modules/fcntl-safer (Makefile.am): Likewise.
71277         * modules/file-type (Makefile.am): Likewise.
71278         * modules/fileblocks (Makefile.am): Likewise.
71279         * modules/filemode (Makefile.am): Likewise.
71280         * modules/filenamecat (Makefile.am): Likewise.
71281         * modules/fnmatch (Makefile.am): Likewise.
71282         * modules/fopen-safer (Makefile.am): Likewise.
71283         * modules/fpending (Makefile.am): Likewise.
71284         * modules/fprintftime (Makefile.am): Likewise.
71285         * modules/free (Makefile.am): Likewise.
71286         * modules/fsusage (Makefile.am): Likewise.
71287         * modules/ftruncate (Makefile.am): Likewise.
71288         * modules/fts (Makefile.am): Likewise.
71289         * modules/gc (Makefile.am): Likewise.
71290         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71291         * modules/getaddrinfo (Makefile.am): Likewise.
71292         * modules/getcwd (Makefile.am): Likewise.
71293         * modules/getdelim (Makefile.am): Likewise.
71294         * modules/getdomainname (Makefile.am): Likewise.
71295         * modules/getgroups (Makefile.am): Likewise.
71296         * modules/gethostname (Makefile.am): Likewise.
71297         * modules/gethrxtime (Makefile.am): Likewise.
71298         * modules/getline (Makefile.am): Likewise.
71299         * modules/getloadavg (Makefile.am): Likewise.
71300         * modules/getlogin_r (Makefile.am): Likewise.
71301         * modules/getopt (Makefile.am): Likewise.
71302         * modules/getpass (Makefile.am): Likewise.
71303         * modules/getpass-gnu (Makefile.am): Likewise.
71304         * modules/getsubopt (Makefile.am): Likewise.
71305         * modules/gettime (Makefile.am): Likewise.
71306         * modules/gettimeofday (Makefile.am): Likewise.
71307         * modules/getugroups (Makefile.am): Likewise.
71308         * modules/getusershell (Makefile.am): Likewise.
71309         * modules/glob (Makefile.am): Likewise.
71310         * modules/group-member (Makefile.am): Likewise.
71311         * modules/hard-locale (Makefile.am): Likewise.
71312         * modules/hash (Makefile.am): Likewise.
71313         * modules/hmac-md5 (Makefile.am): Likewise.
71314         * modules/hmac-sha1 (Makefile.am): Likewise.
71315         * modules/human (Makefile.am): Likewise.
71316         * modules/idcache (Makefile.am): Likewise.
71317         * modules/imaxabs (Makefile.am): Likewise.
71318         * modules/imaxdiv (Makefile.am): Likewise.
71319         * modules/inet_ntop (Makefile.am): Likewise.
71320         * modules/inet_pton (Makefile.am): Likewise.
71321         * modules/inttostr (Makefile.am): Likewise.
71322         * modules/isapipe (Makefile.am): Likewise.
71323         * modules/lchown (Makefile.am): Likewise.
71324         * modules/long-options (Makefile.am): Likewise.
71325         * modules/lstat (Makefile.am): Likewise.
71326         * modules/malloc (Makefile.am): Likewise.
71327         * modules/mathl (Makefile.am): Likewise.
71328         * modules/mbchar (Makefile.am): Likewise.
71329         * modules/md2 (Makefile.am): Likewise.
71330         * modules/md4 (Makefile.am): Likewise.
71331         * modules/md5 (Makefile.am): Likewise.
71332         * modules/memcasecmp (Makefile.am): Likewise.
71333         * modules/memchr (Makefile.am): Likewise.
71334         * modules/memcmp (Makefile.am): Likewise.
71335         * modules/memcoll (Makefile.am): Likewise.
71336         * modules/memcpy (Makefile.am): Likewise.
71337         * modules/memmem (Makefile.am): Likewise.
71338         * modules/memmove (Makefile.am): Likewise.
71339         * modules/mempcpy (Makefile.am): Likewise.
71340         * modules/memrchr (Makefile.am): Likewise.
71341         * modules/memset (Makefile.am): Likewise.
71342         * modules/memxor (Makefile.am): Likewise.
71343         * modules/mkancesdirs (Makefile.am): Likewise.
71344         * modules/mkdir (Makefile.am): Likewise.
71345         * modules/mkdir-p (Makefile.am): Likewise.
71346         * modules/mkdtemp (Makefile.am): Likewise.
71347         * modules/mkstemp (Makefile.am): Likewise.
71348         * modules/mktime (Makefile.am): Likewise.
71349         * modules/modechange (Makefile.am): Likewise.
71350         * modules/mountlist (Makefile.am): Likewise.
71351         * modules/nanosleep (Makefile.am): Likewise.
71352         * modules/openat (Makefile.am): Likewise.
71353         * modules/pagealign_alloc (Makefile.am): Likewise.
71354         * modules/physmem (Makefile.am): Likewise.
71355         * modules/poll (Makefile.am): Likewise.
71356         * modules/posixtm (Makefile.am): Likewise.
71357         * modules/posixver (Makefile.am): Likewise.
71358         * modules/putenv (Makefile.am): Likewise.
71359         * modules/quote (Makefile.am): Likewise.
71360         * modules/quotearg (Makefile.am): Likewise.
71361         * modules/raise (Makefile.am): Likewise.
71362         * modules/read-file (Makefile.am): Likewise.
71363         * modules/readline (Makefile.am): Likewise.
71364         * modules/readlink (Makefile.am): Likewise.
71365         * modules/readtokens (Makefile.am): Likewise.
71366         * modules/readutmp (Makefile.am): Likewise.
71367         * modules/realloc (Makefile.am): Likewise.
71368         * modules/regex (Makefile.am): Likewise.
71369         * modules/rename (Makefile.am): Likewise.
71370         * modules/rename-dest-slash (Makefile.am): Likewise.
71371         * modules/rijndael (Makefile.am): Likewise.
71372         * modules/rmdir (Makefile.am): Likewise.
71373         * modules/rpmatch (Makefile.am): Likewise.
71374         * modules/safe-read (Makefile.am): Likewise.
71375         * modules/safe-write (Makefile.am): Likewise.
71376         * modules/same (Makefile.am): Likewise.
71377         * modules/save-cwd (Makefile.am): Likewise.
71378         * modules/savedir (Makefile.am): Likewise.
71379         * modules/setenv (Makefile.am): Likewise.
71380         * modules/settime (Makefile.am): Likewise.
71381         * modules/sha1 (Makefile.am): Likewise.
71382         * modules/sig2str (Makefile.am): Likewise.
71383         * modules/snprintf (Makefile.am): Likewise.
71384         * modules/stdlib-safer (Makefile.am): Likewise.
71385         * modules/stpcpy (Makefile.am): Likewise.
71386         * modules/stpncpy (Makefile.am): Likewise.
71387         * modules/strcase (Makefile.am): Likewise.
71388         * modules/strcasestr (Makefile.am): Likewise.
71389         * modules/strchrnul (Makefile.am): Likewise.
71390         * modules/strcspn (Makefile.am): Likewise.
71391         * modules/strdup (Makefile.am): Likewise.
71392         * modules/strerror (Makefile.am): Likewise.
71393         * modules/strftime (Makefile.am): Likewise.
71394         * modules/strndup (Makefile.am): Likewise.
71395         * modules/strnlen (Makefile.am): Likewise.
71396         * modules/strpbrk (Makefile.am): Likewise.
71397         * modules/strsep (Makefile.am): Likewise.
71398         * modules/strstr (Makefile.am): Likewise.
71399         * modules/strtod (Makefile.am): Likewise.
71400         * modules/strtoimax (Makefile.am): Likewise.
71401         * modules/strtok_r (Makefile.am): Likewise.
71402         * modules/strtol (Makefile.am): Likewise.
71403         * modules/strtoll (Makefile.am): Likewise.
71404         * modules/strtoul (Makefile.am): Likewise.
71405         * modules/strtoull (Makefile.am): Likewise.
71406         * modules/strtoumax (Makefile.am): Likewise.
71407         * modules/strverscmp (Makefile.am): Likewise.
71408         * modules/time_r (Makefile.am): Likewise.
71409         * modules/timegm (Makefile.am): Likewise.
71410         * modules/tmpfile-safer (Makefile.am): Likewise.
71411         * modules/unistd-safer (Makefile.am): Likewise.
71412         * modules/unlinkdir (Makefile.am): Likewise.
71413         * modules/userspec (Makefile.am): Likewise.
71414         * modules/utime (Makefile.am): Likewise.
71415         * modules/utimecmp (Makefile.am): Likewise.
71416         * modules/utimens (Makefile.am): Likewise.
71417         * modules/vasnprintf (Makefile.am): Likewise.
71418         * modules/vasprintf (Makefile.am): Likewise.
71419         * modules/vsnprintf (Makefile.am): Likewise.
71420         * modules/xalloc (Makefile.am): Likewise.
71421         * modules/xgetcwd (Makefile.am): Likewise.
71422         * modules/xnanosleep (Makefile.am): Likewise.
71423         * modules/xreadlink (Makefile.am): Likewise.
71424         * modules/xstrtod (Makefile.am): Likewise.
71425         * modules/xstrtol (Makefile.am): Likewise.
71426         * modules/xstrtold (Makefile.am): Likewise.
71427         * modules/yesno (Makefile.am): Likewise.
71428
71429 2006-10-12  Jim Meyering  <jim@meyering.net>
71430
71431         * m4/getloadavg.m4: Revert the change below.
71432
71433         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
71434         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
71435         fail with a symlink, which is what coreutils' ./bootstrap now
71436         creates by default.
71437
71438 2006-10-12  Bruno Haible  <bruno@clisp.org>
71439
71440         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
71441         mingw.
71442         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
71443         MSVC and mingw explicitly.
71444
71445 2006-10-11  Simon Josefsson  <jas@extundo.com>
71446             Bruno Haible  <bruno@clisp.org>
71447
71448         Add support for multiple gnulib-tool invocations in the scope of a
71449         single configure.ac file.
71450         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
71451         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
71452         with the same contents as the _LIBADD variable.
71453         (func_emit_initmacro_start, func_emit_initmacro_end,
71454         func_emit_initmacro_done): New functions.
71455         (func_import, func_create_testdir): Invoke them. Allow the identifiers
71456         gl_LIBOBJS and gl_LTLIBOBJS.
71457
71458 2006-10-11  Bruno Haible  <bruno@clisp.org>
71459
71460         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
71461         (func_create_testdir): Don't create po/Makefile.am, don't invoke
71462         autoreconf. Instead, invoke autopoint explicitly but move back the
71463         *.m4 files from gnulib.
71464
71465 2006-10-11  Bruno Haible  <bruno@clisp.org>
71466
71467         * gnulib-tool (func_usage): Make module names after --create-testdir
71468         optional.
71469         (func_create_testdir): If no module was specified, use nearly all
71470         modules.
71471
71472 2006-10-12  Jim Meyering  <jim@meyering.net>
71473
71474         Big performance improvement for fts-based tools that use FTS_NOSTAT.
71475         Avoid spurious inode-mismatch problems on non-POSIX file systems.
71476         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
71477         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
71478         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
71479         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
71480         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
71481         (fts_set_stat_required): New function.
71482         (fts_open): Defer the calls to fts_stat, if possible or requested.
71483         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
71484         into fts_stat itself.
71485         (fts_read): Perform any required (deferred) fts_stat call.
71486         (fts_build): Likewise, for the directory we're about to open and read.
71487         In the readdir loop, carefully decide whether each entry will require
71488         an eventual call to fts_stat, using dirent.d_type info if available.
71489         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
71490         a command line argument into this function.  Update all callers.
71491         Map a return value of FTS_DOT to FTS_D for a command line argument.
71492         * modules/fts (Depends-on): Add d-type.  Alphabetize.
71493         Thanks to Miklos Szeredi for his tenacity and for the initial
71494         bug report about "find" failing on a FUSE-based file system.
71495
71496         * lib/fts.c (fts_open): Use consistent indentation.
71497
71498 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71499
71500         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
71501         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
71502         reported by Jim Meyering.  All uses of cache variables renamed
71503         to match Autoconf's.
71504         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
71505         the other one.
71506
71507         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
71508         Fix misspelling in diagnostic.
71509
71510 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71511
71512         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
71513         defined.  Problem reported by Matthew Woehlke.
71514
71515         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
71516         Add support for Tandem NonStop R series.
71517         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
71518         Use new macro.
71519
71520         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
71521         (has_trailing_slash): Omit size arg; all callers changed.
71522         Omit 'inline', since it doesn't help performance and we'd
71523         need to configure it.
71524         Don't count //, ///, etc. as having a trailing slash.
71525         As a side effect, this removes a C99ism reported by Matthew Woehlke.
71526         (rpl_rename_dest_slash): On failure, use rename's errno rather
71527         than (in some cases) an incorrect or junk errno.
71528         Simplify code by removing need to compute length; this does
71529         cause it to make two passes instead of one over the file name,
71530         but it's worth it.
71531
71532         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
71533         change, since Autoconf's version may no longer be appropriate now
71534         that we are using CVS Autoconf's version.  Add support for Tandem.
71535
71536 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71537             Bruno Haible  <bruno@clisp.org>
71538
71539         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
71540         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
71541         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
71542         gl_AC_TYPE_LONG_LONG.
71543
71544         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
71545         instead of HAVE_LONG_LONG.
71546         * lib/printf-args.c (printf_fetchargs): Likewise.
71547         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
71548         * lib/vasnprintf.c (VASNPRINTF): Likewise.
71549         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
71550         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
71551         gl_AC_TYPE_LONG_LONG.
71552
71553 2006-10-11  Bruno Haible  <bruno@clisp.org>
71554
71555         * m4/longlong.m4: Add comments.
71556         * m4/ulonglong.m4: Likewise.
71557
71558 2006-10-10  Bruno Haible  <bruno@clisp.org>
71559
71560         Make it possible to #define stpcpy, strdup to aliases.
71561         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
71562         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
71563
71564 2006-10-10  Bruno Haible  <bruno@clisp.org>
71565
71566         Make it possible to #define gcd to an alias.
71567         * lib/gcd.c: Include config.h.
71568
71569 2006-10-10  Bruno Haible  <bruno@clisp.org>
71570
71571         Make it possible to #define c_isascii to an alias.
71572         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
71573         defined. Undefine the macros before defining them, to avoid gcc
71574         warnings.
71575         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
71576         define NO_C_CTYPE_MACROS early.
71577
71578 2006-10-10  Bruno Haible  <bruno@clisp.org>
71579
71580         Make it possible to #define set_program_name to an alias.
71581         * lib/progname.c: Don't undefine set_program_name; instead, undefine
71582         ENABLE_RELOCATABLE early.
71583
71584 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71585
71586         Port to Tandem NSK OSS, which has 64-bit signed int but at most
71587         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
71588         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
71589         More generally, don't assume that 64-bit signed int is available
71590         if unsigned int is, and vice versa.
71591         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
71592         unsigned symbols, not on their signed counterparts.
71593         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
71594         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
71595         (UINT64_C, UINTMAX_C):
71596         Likewise.
71597         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
71598         unsigned counterparts.
71599         (Have_long_long, Unsigned): New macros.
71600         (Int): Renamed from INT.
71601         (strtoimax): Use the new macros.
71602         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
71603         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
71604         * modules/inttypes (inttypes.h): Substitute
71605         HAVE_UNSIGNED_LONG_LONG_INT.
71606         * modules/stdint (stdint.h): Likewise.
71607         (Files): Add m4/ulonglong.m4.
71608
71609 2006-10-10  Bruno Haible  <bruno@clisp.org>
71610
71611         Fix a gcc -Wshadow warning.
71612         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
71613         to 'bucket'.
71614         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
71615         gl_linked_indexof_from_to): Likewise.
71616         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
71617         Likewise.
71618         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
71619         Likewise.
71620         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
71621         Reported by Eric Blake.
71622
71623 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
71624
71625         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
71626         for NetBSD.  Problem reported by Bruno Haible.
71627
71628 2006-10-09  Jim Meyering  <jim@meyering.net>
71629
71630         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
71631         Patch from Bruno Haible.
71632
71633 2006-10-09  Jim Meyering  <jim@meyering.net>
71634
71635         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
71636         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
71637         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
71638
71639 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71640
71641         Don't include <config.h> twice; this doesn't work in some cases,
71642         e.g., when config.h has "#define intmax_t long long int" and
71643         we include <config.h>, <inttypes.h>, <config.h> in that order.
71644         Problem reported by Matthew Woehlke in:
71645         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
71646         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
71647         * lib/fts-cycle.c: Don't include config.h.
71648         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
71649         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
71650         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
71651         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
71652         inttypes.h.
71653         * lib/xstrtoumax.c: Likewise.
71654         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
71655         __strtol and the like, so that this module is more like its siblings.
71656         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
71657         Remove; no longer needed now that we assume gnulib inttypes.h.
71658
71659 2006-10-08  Bruno Haible  <bruno@clisp.org>
71660
71661         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
71662         option.
71663
71664 2006-10-07  Jim Meyering  <jim@meyering.net>
71665
71666         * modules/inttypes (inttypes.h): Revert what seems to have been
71667         an inadvertent part of today's change: use "|", not "/" in the
71668         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
71669
71670 2006-10-07  Bruno Haible  <bruno@clisp.org>
71671
71672         * modules/sublist: New file.
71673
71674 2006-10-07  Bruno Haible  <bruno@clisp.org>
71675
71676         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
71677         * modules/argz (argz.h): Likewise.
71678         * modules/arpa_inet (arpa/inet.h): Likewise.
71679         * modules/byteswap (byteswap.h): Likewise.
71680         * modules/configmake (configmake.h): Likewise.
71681         * modules/fcntl (fcntl.h): Likewise.
71682         * modules/fnmatch (fnmatch.h): Likewise.
71683         * modules/getopt (getopt.h): Likewise.
71684         * modules/glob (glob.h): Likewise.
71685         * modules/inttypes (inttypes.h): Likewise.
71686         * modules/netinet_in (netinet/in.h): Likewise.
71687         * modules/poll (poll.h): Likewise.
71688         * modules/stdbool (stdbool.h): Likewise.
71689         * modules/stdint (stdint.h): Likewise.
71690         * modules/sys_select (sys/select.h): Likewise.
71691         * modules/sys_socket (sys/socket.h): Likewise.
71692         * modules/sys_stat (sys/stat.h): Likewise.
71693         * modules/sysexits (sysexits.h): Likewise.
71694         * modules/unistd (unistd.h): Likewise.
71695         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71696         Add a "DO NOT EDIT" comment to the generated file.
71697         (func_import): Likewise for gnulib-comp.m4.
71698
71699 2006-10-07  Bruno Haible  <bruno@clisp.org>
71700
71701         * lib/gl_sublist.h: New file.
71702         * lib/gl_sublist.c: New file.
71703
71704 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71705
71706         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
71707         name (relative to the original working directory) and the file
71708         name component (relative to the temporary working directory).  All
71709         callers changed.
71710         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
71711         * lib/mkdir-p.c (make_dir_parents): Likewise.
71712         * lib/mkdir-p.h (make_dir_parents): Likewise.
71713
71714 2006-10-06  Eric Blake  <ebb9@byu.net>
71715
71716         Define several macros for use by the clean-temp module.
71717         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
71718         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
71719         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
71720
71721         * lib/clean-temp.h (close_stream_temp): New declaration.
71722         * lib/clean-temp.c (includes): Pull in headers according to what
71723         other modules are in use.
71724         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
71725
71726 2006-10-06  Bruno Haible  <bruno@clisp.org>
71727
71728         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
71729         instead of fopen, fwriteerror.
71730
71731 2006-10-06  Bruno Haible  <bruno@clisp.org>
71732
71733         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
71734         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
71735         int.
71736         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
71737         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
71738         Return an error indicator.
71739         Suggested by Eric Blake.
71740
71741 2006-10-06  Bruno Haible  <bruno@clisp.org>
71742
71743         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
71744         Reported by Eric Blake.
71745
71746 2006-10-06  Bruno Haible  <bruno@clisp.org>
71747
71748         * modules/closeout (Description): Mention stderr too.
71749
71750 2006-10-06  Bruno Haible  <bruno@clisp.org>
71751         and Paul Eggert  <eggert@cs.ucla.edu>
71752
71753         * lib/closeout.c (close_stdout): Also close stderr.
71754         * lib/closeout.h: Update comment.
71755
71756 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
71757
71758         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
71759         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
71760         * lib/dirchownmod.c: Include lchown.h.
71761         * lib/lchown.c: Don't include files that lchown.h now includes.
71762         Don't declare chown, since lchown.h now does that.
71763         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
71764         (lchown): Define to rpl_chown if lchown is declared but
71765         does not exist.  Declare using a prototype if lchown is not
71766         declared.  Add a copyright notice.
71767         * lib/mkstemp.h: Include <unistd.h>.
71768         * lib/openat.c: Include lchown.h.
71769
71770         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
71771         we now test for that separately.
71772         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
71773         rather than O_NOFOLLOW, when testing whether it's possible to
71774         avoid a race condition reliably.
71775         * lib/savewd.c (savewd_chdir): Likewise.
71776
71777         Remove macros that are no longer needed now that stdint.h is
71778         reliable.
71779         * lib/fsusage.c (UINTMAX_MAX): Remove.
71780         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
71781         * lib/utimecmp.c (SIZE_MAX): Remove.
71782
71783         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
71784
71785         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
71786         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
71787         O_NOATIME works.
71788
71789 2006-10-05  Bruno Haible  <bruno@clisp.org>
71790
71791         * lib/gl_list.h (gl_sortedlist_search_from_to,
71792         gl_sortedlist_indexof_from_to): New declarations.
71793         (gl_list_implementation): New fields sortedlist_search_from_to,
71794         sortedlist_indexof_from_to.
71795         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
71796         inline functions.
71797         * lib/gl_list.c (gl_sortedlist_search_from_to,
71798         gl_sortedlist_indexof_from_to): New functions.
71799         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
71800         function.
71801         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
71802         (gl_array_sortedlist_search_from_to): New function.
71803         (gl_array_list_implementation): Update.
71804         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
71805         function.
71806         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
71807         (gl_carray_sortedlist_search_from_to): New function.
71808         (gl_carray_list_implementation): Update.
71809         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
71810         gl_linked_sortedlist_indexof_from_to): New functions.
71811         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71812         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71813         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
71814         gl_tree_sortedlist_indexof_from_to): New functions.
71815         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71816         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71817         Update.
71818         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71819         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
71820         Update.
71821
71822 2006-10-05  Bruno Haible  <bruno@clisp.org>
71823
71824         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
71825         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
71826         (struct gl_list_implementation): Add fields search_from_to,
71827         indexof_from_to. Remove fields search, indexof.
71828         (gl_list_search): Use the search_from_to method.
71829         (gl_list_search_from, gl_list_search_from_to): New functions.
71830         (gl_list_indexof): Use the indexof_from_to method.
71831         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71832         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
71833         (gl_list_search_from, gl_list_search_from_to): New functions.
71834         (gl_list_indexof): Use the indexof_from_to method.
71835         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71836         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
71837         gl_array_indexof. Add start_index, end_index arguments.
71838         (gl_array_search_from_to): Renamed from gl_array_search. Add
71839         start_index, end_index arguments.
71840         (gl_array_remove, gl_array_list_implementation): Update.
71841         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
71842         gl_carray_indexof. Add start_index, end_index arguments.
71843         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
71844         start_index, end_index arguments.
71845         (gl_carray_remove, gl_carray_list_implementation): Update.
71846         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
71847         gl_linked_search. Add start_index, end_index arguments.
71848         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
71849         start_index, end_index arguments.
71850         (gl_linked_remove): Update.
71851         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71852         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71853         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
71854         field to 'size_t'.
71855         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
71856         gl_tree_search. Add start_index, end_index arguments.
71857         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71858         start_index, end_index arguments.
71859         (gl_tree_remove): Update.
71860         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71861         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71862         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
71863         function.
71864         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
71865         gl_tree_search. Add start_index, end_index arguments.
71866         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71867         start_index, end_index arguments.
71868         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71869         Update.
71870         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
71871
71872 2006-10-05  Bruno Haible  <bruno@clisp.org>
71873
71874         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
71875
71876         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
71877         fwriteerror_temp): New declarations.
71878         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
71879         (descriptors): New variable.
71880         (cleanup): First, close the descriptors.
71881         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
71882         fclose_temp, fwriteerror_temp): New functions.
71883
71884 2006-10-04  Jim Meyering  <jim@meyering.net>
71885
71886         * lib/fts.c (fts_open): Tiny comment change.
71887
71888 2006-10-04  Bruno Haible  <bruno@clisp.org>
71889
71890         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
71891         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
71892         gl_LOCK_BODY.
71893         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
71894         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
71895         gl_LOCK_EARLY_BODY.
71896         (gl_LOCK): Require gl_LOCK_BODY.
71897
71898 2006-10-04  Bruno Haible  <bruno@clisp.org>
71899
71900         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
71901         (gl_oset_search_atleast): New declaration.
71902         (struct gl_oset_implementation): Add field 'search_atleast'.
71903         (gl_oset_search_atleast): New inline function.
71904         * lib/gl_oset.c (gl_oset_search_atleast): New function.
71905         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
71906         (gl_array_oset_implementation): Update.
71907         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
71908         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
71909         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
71910
71911 2006-10-04  Bruno Haible  <bruno@clisp.org>
71912
71913         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
71914
71915 2006-10-03  Bruno Haible  <bruno@clisp.org>
71916
71917         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
71918         from gl_avltreehash_list_implementation.
71919
71920 2006-10-03  Bruno Haible  <bruno@clisp.org>
71921
71922         * lib/gl_oset.c (gl_oset_add): Fix return type.
71923
71924 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
71925
71926         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
71927
71928 2006-10-02  Eric Blake  <ebb9@byu.net>
71929
71930         * modules/strnlen (Depends-on): Add extensions.
71931
71932 2006-10-02  Eric Blake  <ebb9@byu.net>
71933
71934         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
71935         definition in 2.60+.
71936
71937 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
71938
71939         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
71940         checks.
71941
71942 2006-10-02  Bruno Haible  <bruno@clisp.org>
71943
71944         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
71945         to the AUTOMAKE_OPTIONS.
71946         Reported by Jim Meyering.
71947
71948 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
71949
71950         Work around bug in Solaris 10 /proc file system:
71951         /proc/self/fd/NNN/.. isn't the parent directory of
71952         the directory whose file descriptor is NNN.  This needs to
71953         be worked around at run time, not compile time, since a
71954         program might be built on Solaris 8, where things work, and
71955         run on Solaris 10.
71956         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
71957         to use the following interface instead:
71958         (OPENAT_BUFFER_SIZE): New macro.
71959         (openat_proc_name): New function.
71960         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
71961         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
71962         Likewise.
71963         * lib/openat-proc.c: New file.
71964         * modules/openat (Files): Add lib/openat-proc.c.
71965         (Depends-on): Add same-inode, stdbool.
71966         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
71967
71968 2006-09-29  Bruno Haible  <bruno@clisp.org>
71969
71970         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
71971         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
71972         argument. Set stdout_closed before testing for ferror, not after.
71973         (fwriteerror, fwriteerror_no_ebadf): New functions.
71974
71975 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71976
71977         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
71978
71979 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
71980
71981         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
71982         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
71983
71984 2006-09-28  Jim Meyering  <jim@meyering.net>
71985
71986         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
71987         Include <unistd.h>.
71988
71989 2006-09-28  Bruno Haible  <bruno@clisp.org>
71990
71991         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
71992         * modules/linkedhash-list (Depends-on): Likewise.
71993         * modules/rbtreehash-list (Depends-on): Likewise.
71994
71995 2006-09-28  Bruno Haible  <bruno@clisp.org>
71996
71997         * lib/strndup.h: Simplify the redefinition of strndup.
71998         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
71999         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
72000
72001 2006-09-28  Bruno Haible  <bruno@clisp.org>
72002
72003         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
72004         * lib/gl_linkedhash_list.c: Likewise.
72005         * lib/gl_rbtreehash_list.c: Likewise.
72006
72007 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
72008
72009         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
72010         getaddrinfo.
72011
72012         * lib/__fpending.h: Don't include <stdio_ext.h> unless
72013         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
72014         it causes <stdio_ext.h> to cause a compile-time error.
72015         Problem reported by Nelson H. F. Beebe.
72016         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
72017         of HAVE_DECL___PENDING.
72018
72019         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
72020         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
72021         declaration.
72022
72023 2006-09-27  Jim Meyering  <jim@meyering.net>
72024
72025         This file could end up with a definition for a function
72026         named __strndup, rather than rpl_strndup on a system with
72027         incomplete weak_alias support.
72028         * lib/strndup.c (strndup): Rename from __strndup.
72029         Remove #defines that used to map __strndup to strndup.
72030         Don't use K&R prototypes.
72031         Remove LIBC-related code, since this file is not sync'd with glibc.
72032         * lib/strndup.h: Revamp, accordingly.
72033         * m4/strndup.m4: Modernize.
72034
72035 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
72036
72037         * modules/savewd (Depends-on): Add 'raise'.
72038         * lib/savewd.c: Include <signal.h>, for 'raise'.
72039
72040 2006-09-26  Jim Meyering  <jim@meyering.net>
72041
72042         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
72043         when we detect Darwin 8.7.0's acl_get_file bug.
72044         Rearrange to perform the new (below) run-test while $LIBS
72045         contains any acl-related library.  Set USE_ACL at the end.
72046         (gl_ACL_GET_FILE): New function.
72047
72048 2006-09-26  Eric Blake  <ebb9@byu.net>
72049
72050         * lib/verror.c: Include <config.h> unconditionally.
72051
72052 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
72053
72054         * modules/clock-time (Maintainer): Add self.
72055         * modules/getlogin_r (Depends-on): Add extensions.
72056
72057 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72058
72059         * modules/clock-time: New module.
72060         * modules/nanosleep (Depends-on): Add clock-time.
72061         * modules/gethrxtime (Depends-on): Likewise.
72062         * modules/gettime (Depends-on): Likewise.
72063         * modules/settime (Depends-on): Likewise.
72064
72065         * modules/fts-lgpl: Depend on openat.
72066         * modules/mkancesdirs: Depend on savewd.
72067         * modules/mkdir-p: Likewise.
72068
72069 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72070
72071         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
72072
72073         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
72074         `gl_have_arbitrary_file_name_length_limit' to
72075         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
72076         actually works between configure runs.
72077
72078 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72079             Bruno Haible  <bruno@clisp.org>
72080
72081         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
72082
72083 2006-09-25  Jim Meyering  <jim@meyering.net>
72084
72085         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
72086         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
72087
72088 2006-09-25  Eric Blake  <ebb9@byu.net>
72089
72090         * gnulib-tool (func_import, func_create_testdir): Fix typos in
72091         exec's in 2006-09-18 patch when shuffling fds.
72092
72093 2006-09-25  Bruno Haible  <bruno@clisp.org>
72094
72095         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
72096         Reported by Jim Meyering.
72097
72098 2006-09-24  Jim Meyering  <jim@meyering.net>
72099
72100         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
72101         compare a pointer against a literal "0".  That caused failures with
72102         at least HP-UX's hpcc.
72103
72104 2006-09-22  Simon Josefsson  <jas@extundo.com>
72105
72106         * modules/gc-sha1:
72107         * modules/gc-md4:
72108         * modules/gc-hmac-sha1:
72109         * modules/gc-hmac-md5:
72110         * modules/gc-des:
72111         * modules/gc-arcfour: Distribute more files.
72112
72113 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72114
72115         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
72116         (gl_linked_iterator_from_to): Initialize struct completely.
72117         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
72118         (gl_tree_iterator_from_to): Likewise
72119         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
72120         * lib/gl_array_list.c [lint] (gl_array_iterator)
72121         (gl_array_iterator_from_to): Likewise.
72122         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
72123         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
72124         (gl_carray_iterator_from_to): Likewise.
72125
72126         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
72127         * lib/md4.c (md4_process_block): Remove unused variable.
72128         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
72129         parentheses for clarity.
72130
72131 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72132
72133         * modules/bison-i18n (Depends-on): Add gettext.
72134
72135 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72136
72137         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
72138         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
72139         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
72140         also add missing comma that caused broken test.
72141         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
72142         stdlib.h, for `abort'.
72143         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
72144         variables.
72145         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
72146         include unistd.h if present, for `rmdir'.
72147         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
72148         variables.
72149         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
72150         in the process include standard headers for prototypes.
72151         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
72152         gets declared on GNU/Linux.
72153         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
72154         unistd.h, for `rmdir'.
72155         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
72156
72157         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
72158         always true.
72159         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
72160
72161         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
72162
72163 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72164
72165         * gnulib-tool (func_version): Create output all at once.  This
72166         may help avoid triggering unnecessary SIGPIPEs, and at any
72167         rate it doesn't hurt.
72168
72169 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72170             Bruno Haible  <bruno@clisp.org>
72171
72172         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
72173         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72174         * m4/signed.m4 (bh_C_SIGNED): Likewise.
72175
72176         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
72177         (gl_FUNC_VASPRINTF): Invoke it.
72178
72179 2006-09-22  Bruno Haible  <bruno@clisp.org>
72180
72181         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
72182         getloadavg.c as first argument.
72183
72184 2006-09-22  Bruno Haible  <bruno@clisp.org>
72185
72186         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
72187         at the beginning of the gl_INIT macro.
72188         * modules/getloadavg (configure.ac): Pass $gl_source_base to
72189         gl_GETLOADAVG.
72190
72191 2006-09-22  Bruno Haible  <bruno@clisp.org>
72192
72193         * gnulib-tool (func_create_megatestdir): Don't include the config-h
72194         module.
72195         Suggested by Ralf Wildenhues.
72196
72197 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72198
72199         Import this patch from libc:
72200
72201         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
72202
72203         * lib/regex_internal.c (re_string_reconstruct): Handle
72204         offset < pstr->valid_raw_len && pstr->offsets_needed case.
72205         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
72206         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
72207         re_string_context_at.
72208
72209         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
72210         now requires it.
72211         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
72212         gl_REGEX now does it for us.
72213         (gl_REGEX): Add test taken from
72214         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
72215
72216         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
72217         Check that large offsets work.  Modernize Autoconf usages.
72218         Prefer "yes" to mean a good thing rather than a bad.
72219         Don't put "#define mkstemp" in config.h, as this might interfere
72220         with standard system headers that "#define mkstemp mkstemp64".
72221
72222         * modules/mkstemp (Depends-on): Add extensions, so that
72223         mkstemp is visible on some platforms.
72224         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
72225         (Include): Change to "mkstemp.h" from <stdlib.h>.
72226         (Files): Add mkstemp.h.
72227
72228         * lib/mkstemp.h: New file, since some standard headers
72229         #define mkstemp.
72230         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
72231         Include "mkstemp.h".
72232         Make the _LIBC code resemble glibc original more,
72233         e.g., use K&R style.
72234         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
72235         (mkstemp): Remove, since mkstemp.h does this for us.
72236         * lib/stdlib--.h: Include mkstemp.h.
72237
72238         Import this patch from libc:
72239
72240         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72241
72242         * lib/tempname.c (__gen_tempname): Change attempts_min
72243         into a macro.  Use preprocessor to decide how to initialize
72244         attempts [Coverity CID 67].
72245
72246 2006-09-20  Bruno Haible  <bruno@clisp.org>
72247
72248         * lib/mkdtemp.c: Import from libc.
72249         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72250                 * sysdeps/posix/tempname.c (__gen_tempname): Change
72251                 attempts_min into a macro.  Use preprocessor to decide how to
72252                 initialize attempts [Coverity CID 67].
72253         2001-11-27  Paul Eggert  <eggert@twinsun.com>
72254                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
72255                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
72256
72257 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72258
72259         * gnulib-tool (func_exit): New function, to allow to pass the
72260         exit status portably through the trap.  Use everywhere.
72261         (--help, --version): Signal a write error.
72262         (trap): catch SIGPIPE, for write errors.
72263         Exit at the end of the trap, with the correct exit status.
72264
72265 2006-09-19  Karl Berry  <karl@gnu.org>
72266
72267         * doc/gnulib.texi: note about the license texinfo files.
72268
72269 2006-09-19  Eric Blake  <ebb9@byu.net>
72270
72271         * gnulib-tool: Avoid space-tab.
72272
72273 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72274
72275         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
72276         that prevented coreutils 6.1 from building.  Problem reported
72277         by Petter Reinholdtsen.
72278
72279 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72280
72281         * gnulib-tool (avoidlist): Fix typo that broke options like
72282         --avoid=lock that are used by coreutils bootstrap.
72283
72284 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
72285
72286         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
72287         more systematically.
72288
72289 2006-09-18  Jim Meyering  <jim@meyering.net>
72290
72291         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
72292
72293 2006-09-18  Bruno Haible  <bruno@clisp.org>
72294
72295         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
72296
72297 2006-09-18  Bruno Haible  <bruno@clisp.org>
72298
72299         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
72300         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
72301         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
72302         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
72303         * m4/gettext.m4: Require autoconf >= 2.52.
72304         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
72305         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
72306         of gl_cv_header_inttypes_h.
72307
72308 2006-09-18  Bruno Haible  <bruno@clisp.org>
72309
72310         * lib/javaversion.c: Include configmake.h.
72311
72312 2006-09-18  Bruno Haible  <bruno@clisp.org>
72313
72314         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
72315         avoid that the while loops be executed in a subshell.
72316
72317 2006-09-18  Bruno Haible  <bruno@clisp.org>
72318
72319         * MODULES.html.sh (func_module): Break long lines.
72320         Suggested by Bruce Korb <bkorb@gnu.org>.
72321
72322 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72323
72324         Speed up by a factor of 1.12.
72325         * gnulib-tool (nl): New variable.
72326         (func_import): Rewrite include directive extraction to only read each
72327         directive once.
72328
72329 2006-09-17  Bruno Haible  <bruno@clisp.org>
72330
72331         * modules/javaversion (Makefile.am): Remove DEFS setting.
72332         (Depends-on): Add configmake, for PKGDATADIR definition.
72333
72334 2006-09-17  Bruno Haible  <bruno@clisp.org>
72335
72336         * gnulib-tool (func_create_testdir): Rewrite all files at once.
72337
72338 2006-09-17  Bruno Haible  <bruno@clisp.org>
72339
72340         * gnulib-tool (func_append): New function, stolen from libtool.m4.
72341         (func_modules_transitive_closure, func_modules_add_dummy,
72342         func_modules_to_filelist, func_import, func_create_testdir,
72343         func_create_megatestdir, ...): Use it wherever possible.
72344         Suggested by Ralf Wildenhues.
72345
72346 2006-09-16  Karl Berry  <karl@gnu.org>
72347
72348         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
72349         to avoid sectioning errors.
72350         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
72351         [ifinfo]: blank line after @center-ed titles.
72352         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
72353         Spell FSF address consistently with others.
72354         (These changes approved by rms.)
72355
72356 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72357
72358         Speed up by a factor of 1.61.
72359         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
72360         already checked module names again.
72361
72362 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72363
72364         Speed up by a factor of 1.13.
72365         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
72366         for new_files, and the input to func_add_or_update.
72367
72368 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72369
72370         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
72371         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
72372
72373 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72374
72375         * modules/mkancesdirs (Depends-on): Add fcntl.
72376         * modules/savewd: New file.
72377         * MODULES.html.sh (File system functions): Add savewd.
72378
72379         * modules/configmake (Makefile.am): Add support for the
72380         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
72381
72382 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72383
72384         * m4/savewd.m4: New file.
72385
72386 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72387
72388         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
72389         (dirchownmod): New arg FD.  All callers changed.
72390         Use FD rather than opening the directory ourself, as opening is
72391         now the caller's responsibility.
72392         * lib/dirchownmod.h: Likewise.
72393         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
72394         hosts that require <sys/types.h> before <sys/stat.h>.  Include
72395         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
72396         (test_dir): Remove.
72397         (mkancesdirs): Return length of prefix of FILE that has already
72398         been made, or -2 if there is a child doing the work.  Redo
72399         algorithm so that it is O(N) rather than O(N**2).  Optimize away
72400         ".", and treat ".." specially since it might stray back into
72401         already-created areas.  Use a subprocess if necessary.  New arg
72402         WD; all users changed.  MAKE_DIR function should now return 1
72403         if it creates a directory that is not readable.  Return -2 if
72404         a child process is spun off.
72405         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
72406         Adjust signature to match code.
72407         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
72408         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
72409         all users changed.
72410         * lib/savewd.c, lib/savewd.h: New files.
72411
72412 2006-09-15  Jim Meyering  <jim@meyering.net>
72413
72414         * modules/rename-dest-slash: New module.
72415         * MODULES.html.sh (posix_compat): Add it here.
72416
72417         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
72418
72419 2006-09-15  Jim Meyering  <jim@meyering.net>
72420
72421         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
72422         file.
72423
72424         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
72425
72426 2006-09-15  Jim Meyering  <jim@meyering.net>
72427
72428         * lib/rename-dest-slash.c (has_trailing_slash): Use
72429         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
72430         (rpl_rename_dest_slash): Perform the cheaper trailing slash
72431         test before testing whether SRC is a directory.
72432         Suggestions from Bruno Haible.
72433
72434         Avoid a warning about an unused variable.
72435         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
72436         into the #ifdef block where it's used.
72437
72438         * lib/rename-dest-slash.c: New file.
72439
72440 2006-09-14  Bruno Haible  <bruno@clisp.org>
72441
72442         * lib/allocsa.c: Include <config.h> unconditionally.
72443         * lib/asnprintf.c: Likewise.
72444         * lib/asprintf.c: Likewise.
72445         * lib/c-strcasecmp.c: Likewise.
72446         * lib/c-strcasestr.c: Likewise.
72447         * lib/c-strncasecmp.c: Likewise.
72448         * lib/c-strstr.c: Likewise.
72449         * lib/classpath.c: Likewise.
72450         * lib/clean-temp.c: Likewise.
72451         * lib/concatpath.c: Likewise.
72452         * lib/copy-file.c: Likewise.
72453         * lib/csharpcomp.c: Likewise.
72454         * lib/csharpexec.c: Likewise.
72455         * lib/execute.c: Likewise.
72456         * lib/fatal-signal.c: Likewise.
72457         * lib/findprog.c: Likewise.
72458         * lib/fwriteerror.c: Likewise.
72459         * lib/gl_array_list.c: Likewise.
72460         * lib/gl_array_oset.c: Likewise.
72461         * lib/gl_avltree_list.c: Likewise.
72462         * lib/gl_avltree_oset.c: Likewise.
72463         * lib/gl_avltreehash_list.c: Likewise.
72464         * lib/gl_carray_list.c: Likewise.
72465         * lib/gl_linked_list.c: Likewise.
72466         * lib/gl_linkedhash_list.c: Likewise.
72467         * lib/gl_list.c: Likewise.
72468         * lib/gl_oset.c: Likewise.
72469         * lib/gl_rbtree_list.c: Likewise.
72470         * lib/gl_rbtree_oset.c: Likewise.
72471         * lib/gl_rbtreehash_list.c: Likewise.
72472         * lib/imaxabs.c: Likewise.
72473         * lib/imaxdiv.c: Likewise.
72474         * lib/javacomp.c: Likewise.
72475         * lib/javaexec.c: Likewise.
72476         * lib/javaversion.c: Likewise.
72477         * lib/linebreak.c: Likewise.
72478         * lib/localcharset.c: Likewise.
72479         * lib/lock.c: Likewise.
72480         * lib/mbchar.c: Likewise.
72481         * lib/mbswidth.c: Likewise.
72482         * lib/mkdtemp.c: Likewise.
72483         * lib/pipe.c: Likewise.
72484         * lib/printf-args.c: Likewise.
72485         * lib/printf-parse.c: Likewise.
72486         * lib/progname.c: Likewise.
72487         * lib/progreloc.c: Likewise.
72488         * lib/readlink.c: Likewise.
72489         * lib/sh-quote.c: Likewise.
72490         * lib/stpcpy.c: Likewise.
72491         * lib/stpncpy.c: Likewise.
72492         * lib/strcasecmp.c: Likewise.
72493         * lib/strcasestr.c: Likewise.
72494         * lib/strcspn.c: Likewise.
72495         * lib/striconv.c: Likewise.
72496         * lib/strncasecmp.c: Likewise.
72497         * lib/strnlen1.c: Likewise.
72498         * lib/strstr.c: Likewise.
72499         * lib/strtok_r.c: Likewise.
72500         * lib/tls.c: Likewise.
72501         * lib/tmpdir.c: Likewise.
72502         * lib/unicodeio.c: Likewise.
72503         * lib/unsetenv.c: Likewise.
72504         * lib/vasnprintf.c: Likewise.
72505         * lib/vasprintf.c: Likewise.
72506         * lib/wait-process.c: Likewise.
72507         * lib/xallocsa.c: Likewise.
72508         * lib/xsetenv.c: Likewise.
72509         * lib/xstriconv.c: Likewise.
72510
72511 2006-09-13  Simon Josefsson  <jas@extundo.com>
72512
72513         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
72514         that internally, suggested by Ralf Wildenhues
72515         <Ralf.Wildenhues@gmx.de>.
72516
72517 2006-09-13  Simon Josefsson  <jas@extundo.com>
72518
72519         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
72520         @LIBOBJS@.
72521         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72522
72523 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72524
72525         * lib/_fpending.c: Include <config.h> unconditionally, since we no
72526         longer worry about uses that don't define HAVE_CONFIG_H.
72527         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
72528         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
72529         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
72530         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
72531         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
72532         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
72533         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
72534         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
72535         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
72536         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
72537         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
72538         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
72539         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
72540         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
72541         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
72542         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
72543         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
72544         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
72545         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
72546         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
72547         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
72548         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
72549         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
72550         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
72551         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
72552         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
72553         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
72554         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
72555         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
72556         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
72557         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
72558         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
72559         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
72560         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
72561         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
72562         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
72563         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
72564         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
72565         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
72566         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
72567         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
72568         Likewise.
72569
72570 2006-09-13  Eric Blake  <ebb9@byu.net>
72571
72572         * lib/getopt.c: Fix typo in last commit.
72573
72574 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
72575
72576         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
72577         dgettext.
72578
72579 2006-09-12  Jim Meyering  <jim@meyering.net>
72580
72581         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
72582         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
72583         Reported by Nelson H. F. Beebe.
72584
72585 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72586
72587         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
72588         program_invocation_name and program_invocation_short_name are
72589         initialized.
72590         * lib/argp-namefrob.h: Move declarations of program_invocation_name
72591         and program_invocation_short_name to argp.h, so they are visible
72592         to user programs.
72593         * lib/argp.h: Likewise
72594
72595 2006-09-10  Bruno Haible  <bruno@clisp.org>
72596
72597         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72598         m4/inttypes_h.m4, m4/uintmax_t.m4.
72599
72600 2006-09-10  Bruno Haible  <bruno@clisp.org>
72601
72602         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
72603         gl_AC_TYPE_UINTMAX_T.
72604
72605 2006-09-10  Bruno Haible  <bruno@clisp.org>
72606
72607         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
72608
72609 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72610
72611         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
72612         convention.  Text proposed by Bruno Haible.
72613         (struct argp_option): Document the use of N_() wrappers.
72614
72615         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
72616         '\v', and translate the two parts separately, instead of feeding
72617         the whole string to gettext.  This allows to exclude
72618         '\v' from the strings visible to the translator by writing doc
72619         strings as N_("..") "\v" N_("..").
72620
72621 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
72622
72623         * config/srclist.txt: Undo latest change; the bug was fixed.
72624
72625 2006-09-09  Bruno Haible  <bruno@clisp.org>
72626
72627         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
72628         assignments if building a library without libtool.
72629         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
72630         in func_emit_lib_Makefile_am.
72631         (func_import): When building a static library libfoo.a, arrange to
72632         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
72633         (func_create_testdir): Likewise.
72634         * modules/gc (configure.ac, Makefile.am): If building statically,
72635         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
72636         * modules/iconvme (configure.ac, Makefile.am): Likewise.
72637         * modules/striconv (configure.ac, Makefile.am): Likewise.
72638         Based on a suggestion by Ralf Wildenhues.
72639
72640 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72641
72642         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72643         Check for unistd.h too, since Autoconf doesn't assume POSIX.
72644         Also:
72645
72646         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72647         Add year_2050_test to catch glibc bug 2821
72648         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72649
72650         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72651         Prefer #ifdef to #if.
72652
72653         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
72654         Return from 'main' instead of calling 'exit'.
72655
72656 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72657
72658         * lib/mktime.c (guess_time_tm): Fix bug where mktime
72659         returned the maximum time_t value rather than (time_t) -1.
72660         Problem originally reported by William Bardwell
72661         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72662
72663         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72664         Moved to here ...
72665         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72666         ... from here.
72667
72668 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72669
72670         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
72671         2821 is fixed.
72672
72673 2006-09-08  Jim Meyering  <jim@meyering.net>
72674
72675         Don't make generated files read-only.  That would bother too many
72676         people.  However, do retain the ability to work when targets are
72677         read-only: remove the destination and temporary files before writing
72678         them (when generated via sed or echo), or by using the -f option for
72679         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
72680         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72681         * modules/byteswap, modules/configmake, modules/fcntl:
72682         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72683         * modules/localcharset, modules/netinet_in, modules/poll:
72684         * modules/stdbool, modules/stdint, modules/sys_select:
72685         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72686
72687 2006-09-08  Jim Meyering  <jim@meyering.net>
72688
72689         Avoid new build failure on FreeBSD 6.0.
72690         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
72691         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
72692         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
72693
72694 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72695
72696         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
72697
72698 2006-09-07  Jim Meyering  <jim@meyering.net>
72699
72700         Fix global typo in last change: use chmod u-w, not chmod u-x.
72701         Spotted by Paul Eggert and Bruce Korb.
72702         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72703         * modules/byteswap, modules/configmake, modules/fcntl:
72704         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72705         * modules/localcharset, modules/netinet_in, modules/poll:
72706         * modules/stdbool, modules/stdint, modules/sys_select:
72707         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72708
72709 2006-09-06  Jim Meyering  <jim@meyering.net>
72710
72711         Make generated files be read-only.
72712         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
72713         Ensure that each generated file is now read-only.
72714         * modules/argz: Likewise.
72715         * modules/arpa_inet: Likewise.
72716         * modules/byteswap: Likewise.
72717         * modules/configmake: Likewise.
72718         * modules/fcntl: Likewise.
72719         * modules/fnmatch: Likewise.
72720         * modules/getopt: Likewise.
72721         * modules/glob: Likewise.
72722         * modules/inttypes: Likewise.
72723         * modules/netinet_in: Likewise.
72724         * modules/poll: Likewise.
72725         * modules/stdbool: Likewise.
72726         * modules/stdint: Likewise.
72727         * modules/sys_select: Likewise.
72728         * modules/sys_socket: Likewise.
72729         * modules/sys_stat: Likewise.
72730         * modules/sysexits: Likewise.
72731         * modules/localcharset: Same as above, but continue using temporary
72732         file named "t-$@" (why different?) rather than the "$@-t" used
72733         everywhere else.
72734
72735         * modules/sysexits (Makefile.am): Replace literal occurrences
72736         of "sysexit.h" more readable, and more consistent, "$@".
72737
72738 2006-09-06  Bruno Haible  <bruno@clisp.org>
72739
72740         * modules/striconv: New file.
72741         * modules/xstriconv: New file.
72742         * MODULES.html.sh (Internationalization functions): Add striconv,
72743         xstriconv.
72744
72745 2006-09-06  Bruno Haible  <bruno@clisp.org>
72746
72747         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
72748         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
72749         not using libtool correctly.
72750
72751 2006-09-06  Bruno Haible  <bruno@clisp.org>
72752
72753         * lib/striconv.h: New file.
72754         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
72755         iconvstring.c.
72756         * lib/xstriconv.h: New file.
72757         * lib/xstriconv.c: New file.
72758
72759 2006-09-06  Bruno Haible  <bruno@clisp.org>
72760
72761         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72762         lib_..._LDFLAGS.
72763
72764 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72765
72766         * lib/argz_.h: Sync from Libtool.
72767
72768         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
72769                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72770
72771         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
72772
72773 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72774
72775         * modules/trim: New file.
72776
72777 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72778
72779         * lib/trim.h: New file.
72780         * lib/trim.c: New file.
72781
72782 2006-09-05  Bruno Haible  <bruno@clisp.org>
72783
72784         * MODULES.html.sh (String handling): Add trim.
72785
72786 2006-09-04  Karl Berry  <karl@gnu.org>
72787
72788         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
72789         until next release.
72790
72791 2006-09-03  Bruno Haible  <bruno@clisp.org>
72792
72793         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
72794         correctly.
72795
72796 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72797
72798         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
72799         not gl_GETLOADAVG.  Omit unneeded semicolons.
72800         Problems reported by Ralf Wildenhues in
72801         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72802         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
72803         at the end, which is the usual gnulib style.
72804
72805         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
72806         of doing all the work ourselves.
72807         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
72808         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
72809
72810 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72811
72812         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
72813         Problem reported by Ralf Wildenhues in
72814         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72815
72816         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
72817         HAVE_STRUCT_STATFS_F_FSTYPENAME.
72818
72819 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72820
72821         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
72822         yesterday's patch by changing test -n to test -z.
72823
72824 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72825
72826         * modules/getloadavg (Files): Add m4/getloadavg.m4.
72827         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
72828         the former is now obsolescent.
72829
72830         * modules/chdir-long (Depends-on): Add fcntl.
72831
72832 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72833
72834         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
72835         obsolescent, and programs should use gnulib instead.
72836         * m4/getloadavg.m4: New file, with contents taken from Autoconf
72837         but with prefixes changed.
72838
72839 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72840
72841         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
72842         or stdbool.h, because they might not exist while configuring.
72843
72844         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
72845         Don't include unistd.h or limits.h; not needed, since chdir-long.h
72846         does that for us.
72847         (O_DIRECTORY): Remove.
72848
72849 2006-08-31  Eric Blake  <ebb9@byu.net>
72850
72851         * gnulib-tool: Don't let emacs change spaces to TAB.
72852
72853 2006-08-31  Bruno Haible  <bruno@clisp.org>
72854
72855         * gnulib-tool: When calling func_import more than once, do it in a
72856         subshell.
72857         Reported by Eric Blake <ebb9@byu.net>.
72858
72859 2006-08-31  Bruno Haible  <bruno@clisp.org>
72860
72861         * gnulib-tool (nl): Remove variable.
72862         (sed_transform_lib_file): Use more robust test for config-h module.
72863         (func_import): Fix typo in 2006-08-25 patch.
72864
72865 2006-08-31  Bruno Haible  <bruno@clisp.org>
72866
72867         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
72868         specified, augment Makefile.am variables instead of assigning them.
72869
72870 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72871
72872         Work around a bug in both the Linux and SunOS 64-bit kernels:
72873         nanosleep mishandles sleeps for longer than 2**31 seconds.
72874         Problem reported by Frank v Waveren in
72875         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72876         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
72877         Check for nanosleep bug.
72878         (LIB_NANOSLEEP): Append clock_gettime library if needed.
72879
72880 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72881
72882         Work around a bug in both the Linux and SunOS 64-bit kernels:
72883         nanosleep mishandles sleeps for longer than 2**31 seconds.
72884         Problem reported by Frank v Waveren in
72885         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72886         * lib/nanosleep.c (BILLION): New constant.
72887         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
72888         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
72889         implementation.
72890
72891 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72892
72893         * modules/nanosleep (Depends-on): Add gettime.
72894
72895 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72896         and Simon Josefsson  <jas@extundo.com>
72897         and Oskar Liljeblad  <oskar@osk.mine.nu>
72898
72899         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
72900         * gnulib-tool (func_import): New license type 'unmodifiable license
72901         text'.
72902         * modules/fdl: Use it.  Longer description.
72903         * module/gpl, module/lgpl: New files.
72904
72905 2006-08-30  Jim Meyering  <jim@meyering.net>
72906
72907         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
72908         shadowing the parameter.
72909
72910 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72911
72912         Sync from Libtool:
72913
72914         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72915
72916         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
72917         sharing with gnulib.  Report by Eric Blake.
72918
72919 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72920
72921         * modules/isapipe: New file.
72922         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
72923
72924 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72925
72926         * modules/configmake (Makefile.am): Add a comment, and omit
72927         the CONFIGMAKE_ prefix from generated macro names.  Suggested
72928         by Bruno Haible.
72929
72930 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72931
72932         * m4/isapipe.m4: New file.
72933
72934 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72935
72936         * lib/isapipe.c, lib/isapipe.h: New files.
72937
72938 2006-08-29  Jim Meyering  <jim@meyering.net>
72939
72940         * modules/configmake (Makefile.am): Make configmake.h depend on
72941         Makefile.  Otherwise, a stale configmake.h could hang around.
72942
72943 2006-08-29  Eric Blake  <ebb9@byu.net>
72944
72945         * lib/error.c (error_at_line, print_errno_message): Match libc, after
72946         resolution of upstream bug 3044.
72947
72948 2006-08-29  Bruno Haible  <bruno@clisp.org>
72949
72950         * modules/localcharset (Depends-on): Add configmake.
72951         (Makefile.am): Remove setting of LIBDIR through DEFS.
72952
72953 2006-08-29  Bruno Haible  <bruno@clisp.org>
72954
72955         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
72956         defined.
72957
72958 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72959
72960         * modules/fcntl: New file.
72961         * modules/chdir-safer (Depends-on): Add fcntl.
72962         * modules/fts: Likewise.
72963         * modules/mkdir-p: Likewise.
72964
72965         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
72966         This undoes the most recent change, since we're now addressing the
72967         problem in a different way.
72968
72969         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
72970         into output, since the output might be called Makefile.am even
72971         if $makefile_name is something different.
72972         (func_import): Use $makefile_am rather than
72973         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
72974         empty.
72975
72976         * modules/inttypes (Files): Add m4/inttypes-h.m4.
72977
72978 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72979
72980         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
72981         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
72982         recent change to stdint.m4, since we're now addressing the problem in a
72983         different way.
72984
72985 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72986
72987         * m4/fcntl_h.m4: New file.
72988
72989 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72990
72991         * lib/fcntl_.h: New file.
72992         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
72993         the fcntl module.
72994         * lib/dirchownmod.c: Likewise.
72995         * lib/fts.c: Likewise.
72996
72997         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
72998         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
72999         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
73000         just before including <inttypes.h>, to avoid circular inclusion.
73001
73002 2006-08-28  Jim Meyering  <jim@meyering.net>
73003
73004         * doc/visibility.texi: Actually read and correct the grammar of the
73005         sentence affected by yesterday's change.
73006
73007 2006-08-28  Eric Blake  <ebb9@byu.net>
73008
73009         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
73010         needs wrapper.
73011
73012 2006-08-28  Eric Blake  <ebb9@byu.net>
73013
73014         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
73015
73016 2006-08-28  Eric Blake  <ebb9@byu.net>
73017
73018         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
73019
73020 2006-08-28  Bruno Haible  <bruno@clisp.org>
73021
73022         * modules/c-strstr: New file, from GNU gettext.
73023         * MODULES.html.sh (String handling): Add c-strstr.
73024
73025 2006-08-28  Bruno Haible  <bruno@clisp.org>
73026
73027         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
73028         macros.
73029         Reported by Eric Blake.
73030
73031 2006-08-28  Bruno Haible  <bruno@clisp.org>
73032
73033         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
73034         (VASNPRINTF): Return a string of length > INT_MAX without failing.
73035         * lib/vasprintf.c: Include errno.h, limits.h.
73036         (EOVERFLOW): New fallback definition.
73037         (vasprintf): Test here whether the string length is > INT_MAX.
73038         * lib/vsnprintf.c: Include errno.h, limits.h.
73039         (EOVERFLOW): New fallback definition.
73040         (vsnprintf): Fix bug when generated string was too long for the buffer.
73041         Test here whether the string length is > INT_MAX.
73042
73043 2006-08-28  Bruno Haible  <bruno@clisp.org>
73044
73045         * lib/inttypes_.h (SCNX*): Remove definitions.
73046         Reported by Eric Blake.
73047
73048 2006-08-28  Bruno Haible  <bruno@clisp.org>
73049
73050         * lib/c-strstr.h: New file, from GNU gettext.
73051         * lib/c-strstr.c: New file, from GNU gettext.
73052
73053 2006-08-28  Bruno Haible  <bruno@clisp.org>
73054
73055         * gnulib-tool: Reorder some statements.
73056
73057 2006-08-28  Bruno Haible  <bruno@clisp.org>
73058
73059         * gnulib-tool: New option --makefile-name.
73060         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
73061         $makefile_name.
73062         (func_import): Write $makefile_name to the cache file, and read it from
73063         there unless explicitly specified. Use $makefile_name as file name
73064         instead of Makefile.am. Adjust the recommendations accordingly.
73065
73066 2006-08-28  Bruno Haible  <bruno@clisp.org>
73067
73068         * gnulib-tool (func_verify_module): Check against misapplying patch.
73069
73070 2006-08-28  Bruno Haible  <bruno@clisp.org>
73071
73072         * gnulib-tool (func_relativize, func_relconcat): New functions.
73073         Give an error if --local-dir is given with --update.
73074         Remove trailing slashes from $local_gnulib_dir.
73075         (func_import): Store the relativized $local_gnulib_dir in
73076         gnulib-cache.m4, and read it from there if not specified explicitly.
73077
73078 2006-08-28  Bruno Haible  <bruno@clisp.org>
73079
73080         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
73081         is the current directory. Respect also $local_gnulib_dir.
73082
73083 2006-08-28  Bruno Haible  <bruno@clisp.org>
73084             Simon Josefsson  <jas@extundo.com>
73085
73086         BeOS portability.
73087         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
73088
73089 2006-08-27  Jim Meyering  <jim@meyering.net>
73090
73091         * doc/visibility.texi: Remove duplicate word: "pointer".
73092
73093 2006-08-26  Bruno Haible  <bruno@clisp.org>
73094
73095         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
73096         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
73097         (Makefile.am): Create inttypes.h from inttypes_.h.
73098         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
73099
73100         * modules/imaxabs: New file.
73101
73102         * modules/imaxdiv: New file.
73103
73104 2006-08-26  Bruno Haible  <bruno@clisp.org>
73105
73106         * m4/inttypes.m4: New file.
73107         * m4/_inttypes_h.m4: Remove file.
73108         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
73109         PRI_MACROS_BROKEN.
73110         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
73111
73112         * m4/imaxabs.m4: New file.
73113
73114         * m4/imaxdiv.m4: New file.
73115
73116 2006-08-26  Bruno Haible  <bruno@clisp.org>
73117
73118         * lib/inttypes_.h: New file.
73119         * lib/inttypes.h: Remove file.
73120         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
73121
73122         * lib/imaxabs.c: New file.
73123
73124         * lib/imaxdiv.c: New file.
73125
73126 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73127
73128         New config-h module, so that "make" output needn't be cluttered
73129         by -DHAVE_CONFIG_H.
73130         * MODULES.html.sh (Support for building libraries and executables):
73131         Add config-h.
73132         * modules/config-h: New file.
73133         * gnulib-tool (nl, sed_transform_lib_file): New vars.
73134         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
73135         the config-h module is used.
73136
73137         New configmake module, so that "make" output needn't be cluttered
73138         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
73139         * MODULES.html.sh (Support for building libraries and executables):
73140         Add configmake.
73141         * modules/configmake: New file.
73142
73143 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73144
73145         * m4/config-h.m4: New file.
73146
73147 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73148
73149         * config/srclist.txt: Add elisp-comp.
73150
73151 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73152
73153         * MODULES.html.sh (Support for building libraries and executables):
73154         Add elisp-comp.
73155         * build-aux/elisp-comp: New file.
73156         * modules/elisp-comp: New file.
73157
73158 2006-08-24  Bruno Haible  <bruno@clisp.org>
73159
73160         * gnulib-tool (func_create_testdir): Use non-default values of
73161         sourcebase and m4base.
73162
73163 2006-08-24  Bruno Haible  <bruno@clisp.org>
73164
73165         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
73166         HTML structure.
73167
73168 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73169
73170         * modules/openat (Depends-on): Add lchown.
73171
73172 2006-08-23  Bruno Haible  <bruno@clisp.org>
73173
73174         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
73175         of gl_LOCK_EARLY instead of gl_LOCK.
73176
73177 2006-08-23  Bruno Haible  <bruno@clisp.org>
73178
73179         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
73180         on OSF/1 to no.
73181         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
73182
73183 2006-08-23  Bruno Haible  <bruno@clisp.org>
73184
73185         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
73186         as unusable.
73187
73188         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
73189         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
73190         (gl_LOCK): New macro.
73191
73192 2006-08-22  Simon Josefsson  <jas@extundo.com>
73193
73194         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
73195         to md5 module.
73196
73197 2006-08-22  Simon Josefsson  <jas@extundo.com>
73198
73199         * MODULES.html.sh: Add "Support for maintaining and release
73200         projects".
73201
73202         * build-aux/gnupload: New file, from coreutils.
73203
73204 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73205
73206         Avoid the need for AC_LIBSOURCES in m4 macros.
73207         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
73208         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
73209         * modules/check-version (EXTRA_DIST): Add check-version.h.
73210         * modules/crc (EXTRA_DIST): Add crc.h.
73211         * modules/des (EXTRA_DIST): Add des.h.
73212         * modules/gc (EXTRA_DIST): Add gc.h.
73213         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
73214         * modules/getline (EXTRA_DIST): Add getline.h.
73215         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
73216         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
73217         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
73218         * modules/md2 (EXTRA_DIST): Add md2.h.
73219         * modules/md4 (EXTRA_DIST): Add md4.h.
73220         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
73221         * modules/read-file (EXTRA_DIST): Add read-file.h.
73222         * modules/readline (EXTRA_DIST): Add readline.h.
73223         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
73224         rijndael-api-fst.h.
73225
73226 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73227
73228         * m4/rijndael.m4 (gl_ARCFOUR):
73229         * m4/arctwo.m4 (gl_ARCTWO):
73230         * m4/check-version.m4 (gl_CHECK_VERSION):
73231         * m4/crc.m4 (gl_CRC):
73232         * m4/des.m4 (gl_DES):
73233         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
73234         * m4/gc.m4 (gl_GC):
73235         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
73236         * m4/getline.m4 (gl_FUNC_GETLINE):
73237         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
73238         * m4/hmac-md5.m4 (gl_HMAC_MD5):
73239         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
73240         * m4/md2.m4 (gl_MD2):
73241         * m4/md4.m4 (gl_MD4):
73242         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
73243         * m4/read-file.m4 (gl_FUNC_READ_FILE):
73244         * m4/readline.m4 (gl_FUNC_READLINE):
73245         * m4/rijndael.m4 (gl_RIJNDAEL):
73246         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73247         to get the necessary .h files and whatnot.
73248
73249 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73250
73251         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
73252         gnulib rather than the other way around.
73253         * config/srclistvars.sh (COREUTILS): Remove.
73254
73255 2006-08-22  Jim Meyering  <jim@meyering.net>
73256
73257         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
73258
73259         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
73260
73261 2006-08-22  Eric Blake  <ebb9@byu.net>
73262
73263         * modules/regexprops-generic: New file.
73264         * MODULES.html.sh (Support for building documentation): List it.
73265
73266 2006-08-22  Eric Blake  <ebb9@byu.net>
73267
73268         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
73269         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
73270         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
73271         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
73272
73273 2006-08-22  Bruno Haible  <bruno@clisp.org>
73274
73275         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
73276         and lib_LTLIBRARIES like the other lib_* variables.
73277
73278 2006-08-22  Bruno Haible  <bruno@clisp.org>
73279
73280         * build-aux/x-to-1.in: New file, from GNU gettext.
73281
73282 2006-08-22  Bruno Haible  <bruno@clisp.org>
73283
73284         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
73285         <utmpx.h> exists.
73286
73287 2006-08-22  Bruno Haible  <bruno@clisp.org>
73288
73289         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
73290         <utmpx.h> exists.
73291
73292 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73293
73294         BeOS portability.
73295         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
73296         exist.
73297         Problem reported by Bruno Haible.
73298
73299 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73300
73301         Avoid the need for AC_LIBSOURCES in m4 macros.
73302         * modules/acl (EXTRA_DIST): Add acl.h.
73303         * modules/argmatch (Files): Add m4/argmatch.m4.
73304         (configure.ac): Add gl_ARGMATCH.
73305         (EXTRA_DIST): Renamed from lib_SOURCES, for
73306         consistency with the other modules.  Remove argmatch.c.
73307         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
73308         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
73309         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
73310         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
73311         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
73312         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
73313         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
73314         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
73315         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
73316         * modules/closeout (EXTRA_DIST): Add closeout.h.
73317         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
73318         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
73319         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
73320         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
73321         dirname.h; remove basename.c and stripslash.c.
73322         * modules/exclude (EXTRA_DIST): Add exclude.h.
73323         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
73324         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
73325         * modules/file-type (EXTRA_DIST): Add file-type.h.
73326         * modules/filemode (EXTRA_DIST): Add filemode.h.
73327         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
73328         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73329         * modules/fpending (EXTRA_DIST): Add __fpending.h.
73330         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
73331         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
73332         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
73333         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
73334         * modules/getdate (EXTRA_DIST): Add getdate.c.
73335         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
73336         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
73337         * modules/getpass (EXTRA_DIST): Add getpass.h.
73338         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
73339         * modules/group-member (EXTRA_DIST): Add group-member.h.
73340         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
73341         * modules/hash (EXTRA_DIST): Add hash.h.
73342         * modules/human (EXTRA_DIST): Add human.h.
73343         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
73344         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
73345         * modules/lchown (EXTRA_DIST): Add lchown.h.
73346         * modules/long-options (EXTRA_DIST): Add long-options.h.
73347         * modules/lstat (EXTRA_DIST): Add lstat.h.
73348         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
73349         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
73350         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
73351         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
73352         * modules/memxor (EXTRA_DIST): Add memxor.h.
73353         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
73354         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
73355         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
73356         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
73357         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
73358         * modules/physmem (EXTRA_DIST): Add physmem.h.
73359         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
73360         * modules/posixver (EXTRA_DIST): Add posixver.h.
73361         * modules/quote (EXTRA_DIST): Add quote.h.
73362         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
73363         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
73364         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
73365         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
73366         regex_internal.h regexec.c.
73367         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
73368         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
73369         * modules/same (EXTRA_DIST): Add same.h.
73370         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
73371         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
73372         * modules/savedir (EXTRA_DIST): Add savedir.h.
73373         * modules/sha1 (EXTRA_DIST): Add sha1.h.
73374         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
73375         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
73376         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
73377         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
73378         * modules/strdup (EXTRA_DIST): Add strdup.h.
73379         * modules/strftime (EXTRA_DIST): Add strftime.h.
73380         * modules/strndup (EXTRA_DIST): Add strndup.h.
73381         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
73382         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
73383         * modules/time_r (EXTRA_DIST): Add time_r.h.
73384         * modules/timespec (EXTRA_DIST): Add timespec.h.
73385         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73386         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
73387         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
73388         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
73389         * modules/userspec (EXTRA_DIST): Add userspec.h.
73390         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
73391         * modules/utimens (EXTRA_DIST): Add utimens.h.
73392         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
73393         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
73394         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
73395         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
73396         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
73397         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
73398         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
73399         * modules/yesno (EXTRA_DIST): Add yesno.h.
73400
73401 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73402
73403         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
73404
73405         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
73406         * m4/dev-ino.m4, same-inode.m4: Remove.
73407
73408         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
73409         * m4/acl.m4 (AC_FUNC_ACL):
73410         * m4/backupfile.m4 (gl_BACKUPFILE):
73411         * m4/c-strtod.m4 (gl_C99_STRTOLD):
73412         * m4/canon-host.m4 (gl_CANON_HOST):
73413         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73414         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
73415         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
73416         * m4/cloexec.m4 (gl_CLOEXEC):
73417         * m4/close-stream.m4 (gl_CLOSE_STREAM):
73418         * m4/closeout.m4 (gl_CLOSEOUT):
73419         * m4/dirfd.m4 (gl_FUNC_DIRFD):
73420         * m4/dirname.m4 (gl_DIRNAME):
73421         * m4/exclude.m4 (gl_EXCLUDE):
73422         * m4/exitfail.m4 (gl_EXITFAIL):
73423         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
73424         * m4/file-type.m4 (gl_FILE_TYPE):
73425         * m4/filemode.m4 (gl_FILEMODE):
73426         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
73427         * m4/fpending.m4 (gl_FUNC_FPENDING):
73428         * m4/fprintftime.m4 (gl_FPRINTFTIME):
73429         * m4/fts.m4 (gl_FUNC_FTS):
73430         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
73431         * m4/getdate.m4 (gl_GETDATE):
73432         * m4/gethrxtime.m4 (gl_GETHRXTIME):
73433         * m4/getpagesize.m4 (gl_GETPAGESIZE):
73434         * m4/getpass.m4 (gl_FUNC_GETPASS):
73435         * m4/gettime.m4 (gl_GETTIME):
73436         * m4/getugroups.m4 (gl_GETUGROUPS):
73437         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
73438         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
73439         * m4/hard-locale.m4 (gl_HARD_LOCALE):
73440         * m4/hash.m4 (gl_HASH):
73441         * m4/idcache.m4 (gl_IDCACHE):
73442         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
73443         * m4/lchown.m4 (gl_FUNC_LCHOWN):
73444         * m4/long-options.m4 (gl_LONG_OPTIONS):
73445         * m4/lstat.m4 (gl_FUNC_LSTAT):
73446         * m4/md5.m4 (gl_MD5):
73447         * m4/memcasecmp.m4 (gl_MEMCASECMP):
73448         * m4/memcoll.m4 (gl_MEMCOLL):
73449         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
73450         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
73451         * m4/memxor.m4 (gl_MEMXOR):
73452         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
73453         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
73454         * m4/modechange.m4 (gl_MODECHANGE):
73455         * m4/mountlist.m4 (gl_MOUNTLIST):
73456         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73457         * m4/openat.m4 (gl_FUNC_OPENAT):
73458         * m4/pathmax.m4 (gl_PATHMAX):
73459         * m4/physmem.m4 (gl_PHYSMEM):
73460         * m4/posixtm.m4 (gl_POSIXTM):
73461         * m4/posixver.m4 (gl_POSIXVER):
73462         * m4/quote.m4 (gl_QUOTE):
73463         * m4/quotearg.m4 (gl_QUOTEARG):
73464         * m4/readtokens.m4 (gl_READTOKENS):
73465         * m4/readutmp.m4 (gl_READUTMP):
73466         * m4/regex.m4 (gl_REGEX):
73467         * m4/safe-read.m4 (gl_SAFE_READ):
73468         * m4/safe-write.m4 (gl_SAFE_WRITE):
73469         * m4/same.m4 (gl_SAME):
73470         * m4/save-cwd.m4 (gl_SAVE_CWD):
73471         * m4/savedir.m4 (gl_SAVEDIR):
73472         * m4/settime.m4 (gl_SETTIME):
73473         * m4/sha1.m4 (gl_SHA1):
73474         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
73475         * m4/stat-macros.m4 (gl_STAT_MACROS):
73476         * m4/stat-time.m4 (gl_STAT_TIME):
73477         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
73478         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
73479         * m4/strdup.m4 (gl_FUNC_STRDUP):
73480         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
73481         * m4/strndup.m4 (gl_FUNC_STRNDUP):
73482         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
73483         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
73484         * m4/time_r.m4 (gl_TIME_R):
73485         * m4/timespec.m4 (gl_TIMESPEC):
73486         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
73487         * m4/unlinkdir.m4 (gl_UNLINKDIR):
73488         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
73489         * m4/userspec.m4 (gl_USERSPEC):
73490         * m4/utimecmp.m4 (gl_UTIMECMP):
73491         * m4/utimens.m4 (gl_UTIMENS):
73492         * m4/xalloc.m4 (gl_XALLOC):
73493         * m4/xgetcwd.m4 (gl_XGETCWD):
73494         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
73495         * m4/xreadlink.m4 (gl_XREADLINK):
73496         * m4/xstrtod.m4 (gl_XSTRTOD):
73497         * m4/yesno.m4 (gl_YESNO):
73498         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73499         to get the necessary .h files and whatnot.
73500
73501 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
73502             Bruno Haible  <bruno@clisp.org>
73503
73504         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
73505         /bin/sh understanding of '!' conditional negation.
73506
73507 2006-08-21  Jim Meyering  <jim@meyering.net>
73508
73509         * modules/openat (Depends-on): Really alphabetize.
73510
73511         * modules/acl (Depends-on): Add error and quote.
73512
73513         * check-module (find_included_lib_files): Add at-func.c to the
73514         ok-to-include-more-than-once white list.
73515
73516         * modules/openat (Depends-on): Add lstat.  Alphabetize.
73517
73518 2006-08-21  Bruno Haible  <bruno@clisp.org>
73519
73520         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73521         Emit a pkgdata_DATA variable only if some snippets add contents to it.
73522         Reported by Martin Lambers <marlam@marlam.de>.
73523
73524 2006-08-21  Bruno Haible  <bruno@clisp.org>
73525
73526         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
73527         specify an installation location, don't emit a noinst_LIBRARIES or
73528         noinst_LTLIBRARIES assignment.
73529
73530 2006-08-21  Bruno Haible  <bruno@clisp.org>
73531
73532         BeOS portability.
73533         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
73534         BeOS has mbrtowc() but no <wctype.h>.
73535
73536 2006-08-21  Bruno Haible  <bruno@clisp.org>
73537
73538         BeOS portability.
73539         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
73540         exist.
73541
73542 2006-08-21  Bruno Haible  <bruno@clisp.org>
73543
73544         BeOS portability.
73545         * lib/mbchar.h: Include <wctype.h> only if it exists.
73546
73547 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73548
73549         Remove files that are no longer needed by their respective modules.
73550         * m4/obstack.m4: Remove.
73551         * m4/strerror_r.m4: Remove.
73552         * m4/uint32_t.m4: Remove.
73553         * m4/uintptr_t.m4: Remove.
73554         * m4/ullong_max.m4: Remove.
73555         * m4/xstrtoimax.m4: Remove.
73556         * m4/xstrtoumax.m4: Remove.
73557
73558         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
73559         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
73560         dependencies now capture this.
73561
73562         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
73563         Do not use AC_LIBSOURCES, since gnulib modules now do this.
73564         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
73565         * m4/human.m4 (gl_HUMAN): Likewise.
73566         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
73567         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
73568
73569         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
73570
73571         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
73572         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
73573         stdint.
73574         * m4/human.m4 (gl_HUMAN): Likewise.
73575         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
73576         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
73577         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73578         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73579         * m4/xstrtol (gl_XSTRTOL): Likewise.
73580
73581         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
73582         AC_TYPE_LONG_LONG_INT.
73583         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73584         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
73585         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
73586         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73587
73588         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
73589         on stdbool.
73590
73591         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
73592         (gl_PREREQ_XSTRTOUL): Remove.
73593
73594         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
73595
73596         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
73597         mode.
73598
73599 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73600
73601         Add and change modules to make it easier for coreutils to use
73602         gnulib-tool.
73603         * modules/backupfile (Files): Remove m4/d-ino.m4.
73604         (Depends-on): Add d-ino.
73605         * modules/cycle-check (Depends-on): Add stdint.
73606         (lib_SOURCES): Add cycle-check.h.
73607         * modules/d-ino: New module.
73608         * modules/d-type: New module.
73609         * modules/error (Files): Remove m4/strerror_r.m4.
73610         * modules/filemode (Files): Add m4/st_dm_mode.m4.
73611         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
73612         m4/inttypes_h.m4, m4/uintmax_t.m4.
73613         (Depends-on): Add stdint.
73614         (lib_SOURCES): Add fsusage.h.
73615         * modules/getcwd (Files): Remove d-ino.m4.
73616         (Depends-on): Add d-ino.
73617         * modules/getndelim2 (Depends-on): Add stdint.
73618         * modules/glob (Files): Remove m4/d-type.m4.
73619         (Depends-on): Add d-type.
73620         * modules/host-os: New module.
73621         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
73622         m4/inttypes_h.m4, m4/uintmax_t.m4.
73623         * Depends-on: Add stdint.
73624         (lib_SOURCES): Add human.h.
73625         * modules/inttostr (Files): Remove m4/intmax_t.m4,
73626         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
73627         m4/uintmax_t.m4, m4/ulonglong.m4.
73628         (Depends-on): Add stdint.
73629         (EXTRA_DIST): Add inttostr.h.
73630         * modules/lchmod: New module.
73631         * modules/link-follow: New module.
73632         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
73633         (Depends-on): Add lchmod.
73634         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
73635         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
73636         (Depends-on): Add stdint.
73637         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
73638         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
73639         (Depends-on): Add stdint.
73640         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
73641         * modules/perl: New module.
73642         * modules/regex (Depends-on): Add stdint.
73643         * modules/rmdir-errno: New module.
73644         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73645         m4/intmax_t.m4.
73646         (Depends-on): Add stdint.
73647         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73648         m4/uintmax_t.m4.
73649         (Depends-on): Add stdint.
73650         * modules/unlink-busy: New module.
73651         * modules/utimecmp (Depends-on): Add stdint.
73652         * modules/uptime: New module.
73653         * modules/winsz-ioctl: New module.
73654         * modules/winsz-termios: New module.
73655         * modules/xnanosleep (Depends-on): Add nanosleep.
73656         * modules/ullong_max: Remove.
73657         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
73658         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
73659         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
73660         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
73661         (Depends-on): Add inttypes.
73662         (lib_SOURCES): Add xstrtol.h.
73663         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
73664         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
73665         * MODULES.html.sh: Move 'assert' into the assert section.
73666         Move 'dummy' into the linking section.
73667         Remove ullong_max.
73668         Add section for compatibility checks for POSIX:2001 functions,
73669         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
73670         winsz-ioctl, and winsz-termios into it.
73671         Add lchmod.
73672         Add top-level Misc section and put host-os, perl, and uptime
73673         into it.
73674
73675 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73676
73677         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
73678         now assume the stdint module.  Do not include inttypes.h.
73679         * lib/fsusage.h: Likewise.
73680         * lib/getndelim2.c: Likewise.
73681         * lib/human.h: Likewise.
73682         * lib/inttostr.h: Likewise.
73683         * lib/obstack.c: Likewise.
73684         * lib/regex_internal.h: Likewise.
73685         * lib/tempname.c: Likewise.
73686         * lib/utimecmp.c: Likewise.
73687         * lib/xstrtol.h: Likewise.
73688
73689         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
73690
73691         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
73692         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
73693         * lib/xtime.h: Likewise.
73694
73695 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73696
73697         * modules/openat (Files): Add lib/fchmodat.c.
73698         Fixes problem reported by Jay Youngman.
73699
73700 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73701
73702         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
73703         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
73704
73705 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
73706             Bruno Haible  <bruno@clisp.org>
73707
73708         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
73709         and is a script that invokes bison. Tighten the code. Add comments.
73710
73711 2006-08-18  Jim Meyering  <jim@meyering.net>
73712
73713         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
73714         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
73715         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
73716         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
73717
73718 2006-08-18  Bruno Haible  <bruno@clisp.org>
73719
73720         * modules/bison-i18n: New file.
73721         * MODULES.html.sh (Internationalization functions): Add it.
73722
73723 2006-08-18  Bruno Haible  <bruno@clisp.org>
73724
73725         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
73726         sys/statvfs.h. When getmntinfo was found, check its declaration and
73727         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
73728
73729 2006-08-18  Bruno Haible  <bruno@clisp.org>
73730
73731         * m4/bison-i18n.m4: New file, from bison.
73732
73733 2006-08-18  Bruno Haible  <bruno@clisp.org>
73734
73735         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
73736         (ME_DUMMY): Treat "kernfs" as a dummy.
73737         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
73738
73739 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73740
73741         Update from coreutils.
73742
73743         2006-08-15  Jim Meyering  <jim@meyering.net>
73744
73745         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
73746
73747         2006-01-17  Jim Meyering  <jim@meyering.net>
73748
73749         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
73750
73751         2006-01-11  Jim Meyering  <jim@meyering.net>
73752
73753         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
73754         Check for the lchmod function.
73755
73756 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73757
73758         Update from coreutils.
73759
73760         * lib/__fpending.h: Add copyright notice.
73761         * lib/fprintftime.h: Likewise.
73762         * lib/savedir.c: Use (C) in copyright notice.
73763         * lib/savedir.h: Likewise.
73764
73765         2006-08-15  Jim Meyering  <jim@meyering.net>
73766
73767         * lib/at-func.c: New file, with the logic of all emulated at-functions.
73768         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
73769         in support of the EXPECTED_ERRNO macro.
73770         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
73771         definitions.  Instead, define the appropriate symbols and include
73772         "at-func.c".
73773         * lib/mkdirat.c (mkdirat): Likewise.
73774         * lib/fchmodat.c (fchmodat): Likewise.
73775         (ENOSYS): Remove definition.
73776         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
73777         it.  Don't include "unistd--.h" -- it wasn't ever used.
73778
73779         2006-01-17  Jim Meyering  <jim@meyering.net>
73780
73781         Rewrite fts.c not to change the current working directory,
73782         by using openat, fstatat, fdopendir, etc..
73783
73784         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
73785         (HAVE_OPENAT_SUPPORT): Define.
73786         [_LIBC] (fchdir): Don't undef or define; no longer used.
73787         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
73788         Now, this `function' always succeeds, and consumes its file descriptor
73789         parameter -- so callers must not close such FDs.  Update callers.
73790         (diropen_fd, opendirat, cwd_advance_fd): New functions.
73791         (diropen): Add parameter, SP.  Adjust all callers.
73792         Implement using diropen_fd, rather than open.
73793         (fts_open): Initialize new member, fts_cwd_fd.
73794         Remove fts_rft-setting code.
73795         (fts_close): Close fts_cwd_fd, if necessary.
73796         (__opendir2): Define in terms of opendir or opendirat,
73797         depending on whether the FST_NOCHDIR flag is set.
73798         (fts_build): Since fts_safe_changedir consumes its FD, and since
73799         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
73800         and close the dup'd file descriptor upon failure.
73801         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
73802         (fts_safe_changedir): Tweak semantics to reflect that this function
73803         now calls cwd_advance_fd and hence consumes its FD argument.
73804         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
73805         [struct FTS] (fts_rft): Remove now-unused member.
73806         [struct FTS] (fts_cycle.state): Improve comment.
73807
73808         * lib/openat.c (openat_needs_fchdir): New function.
73809         * lib/openat.h (openat_needs_fchdir): Declare it.
73810
73811 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
73812
73813         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
73814         Problem and fix reported by Pádraig Brady in
73815         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
73816
73817 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73818
73819         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
73820
73821 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73822
73823         * lib/memcoll.c (memcoll): Optimize for the common case where the
73824         arguments are bytewise equal.
73825
73826 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73827
73828         * doc/regexprops-generic.texi: Add a copyright notice.
73829
73830 2006-08-15  Bruno Haible  <bruno@clisp.org>
73831
73832         * modules/tmpdir (License): Change to LGPL.
73833
73834 2006-08-15  Bruno Haible  <bruno@clisp.org>
73835
73836         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
73837         module.
73838
73839 2006-08-14  Simon Josefsson  <jas@extundo.com>
73840
73841         * config/srclist.txt: Add gnupload.
73842
73843 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73844
73845         Change copyright notice from LGPL 2 to GPL 2, since that's the
73846         standard form used in the gnulib repository.
73847         * tests/test-lock.c: Likewise.
73848         * tests/test-stdint.c: Likewise.
73849         * tests/test-tls.c: Likewise.
73850
73851         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
73852         prelude-manager.  User shorter URLs for GNU projects, without '?'.
73853         Add copyright notice.
73854
73855         * check-module: Add copyright notice.  Output a copyright
73856         notice if "--version" is specified.
73857         * modules/COPYING: New file.
73858         * tests/test-getaddrinfo.c: Add copyright notice.
73859         * tests/test-verify.c: Likewise.
73860
73861 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73862
73863         Change copyright notice from LGPL 2 to GPL 2, since that's the
73864         standard form used in the gnulib repository.
73865         * lib/lock.c: LGPL -> GPL.
73866         * lib/lock.h: Likewise.
73867         * lib/strnlen1.c: Likewise.
73868         * lib/strnlen1.h: Likewise.
73869         * lib/tls.c: Likewise.
73870         * lib/tls.h: Likewise.
73871         * lib/tmpdir.c: Likewise.
73872
73873         * lib/TODO: Remove; this belongs only in coreutils.
73874
73875 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73876
73877         Add copyright notices to long-enough files that lack them, since
73878         otherwise the files aren't clearly free.  Use the same notice that
73879         getdate.texi already uses.
73880         * doc/alloca-opt.texi: Add copyright notice.
73881         * doc/alloca.texi: Likewise.
73882         * doc/ctime.texi: Likewise.
73883         * doc/functions.texi: Likewise.
73884         * doc/gcd.texi: Likewise.
73885         * doc/gnulib-tool.texi: Likewise.
73886         * doc/inet_ntoa.texi: Likewise.
73887         * doc/visibility.texi: Likewise.
73888
73889         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
73890         * doc/quote.texi: Add copyright notice.
73891
73892         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
73893         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
73894         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
73895         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
73896         is now obsolete, and give a pointer to the Sun list.
73897         Add copyright notice.
73898
73899 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73900
73901         * config/srclistvars.sh: Add copyright notice.
73902
73903 2006-08-14  Eric Blake  <ebb9@byu.net>
73904
73905         Import the following change from libc:
73906
73907         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
73908
73909         Upstream bug 2997.
73910         * lib/misc/error.c: Add space between program name and message if file
73911         name is missing.
73912
73913 2006-08-12  Karl Berry  <karl@gnu.org>
73914
73915         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
73916         remove, these originate in gnulib now.
73917
73918 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73919
73920         * doc/Makefile (standards.info standards.html standards.dvi):
73921         Also depend on make-stds.texi.
73922
73923 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73924
73925         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
73926         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
73927
73928         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
73929         in wchar_t.  Problem reported by Eric Blake.
73930
73931         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
73932         LEN is smaller than SIZE.  Suggested by Bruno Haible.
73933         Also, help the compiler to keep LEN in a register.
73934
73935 2006-08-11  Eric Blake  <ebb9@byu.net>
73936
73937         * users.txt: Sort.  Add tar.
73938
73939 2006-08-11  Bruno Haible  <bruno@clisp.org>
73940
73941         * users.txt: New file.
73942
73943 2006-08-11  Bruno Haible  <bruno@clisp.org>
73944
73945         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
73946         before <wchar.h>. Needed for OSF/1 and BSD/OS.
73947
73948 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73949
73950         * modules/snprintf (Depends-on): Remove minmax.
73951         (Maintainer): Add self and Bruno.
73952
73953 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73954
73955         * lib/.cppi-disable: Add snprintf.h, socket_.h.
73956         * lib/snprintf.c: Include <errno.h> and <limits.h>.
73957         (EOVERFLOW): Define if the system does not.
73958         Do not include "minmax.h"; it wasn't used.
73959         (snprintf): Don't assume size_t promotes to an unsigned type.
73960         Fix bug when generated string was too long for the buffer: the
73961         buffer's contents are supposed to be the initial prefix of the
73962         output.  Don't assume vasnprintf returns EOVERFLOW if the size
73963         exceeds INT_MAX; do the check ourselves.
73964
73965         Import the following changes from libc:
73966
73967         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
73968
73969         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
73970         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
73971         set wc to the byte which couldn't be converted.
73972         (re_string_reconstruct): Don't clear valid_raw_len before calling
73973         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
73974         tip_context using re_string_context_at.
73975
73976         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
73977
73978         * lib/posix/regex.h: g++ still cannot handled [restrict].
73979
73980         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
73981
73982         * lib/posix/regex.h: Remove special handling for VMS.
73983
73984 2006-08-10  Jim Meyering  <jim@meyering.net>
73985
73986         * modules/same-inode: New module.
73987         * modules/dev-ino: New module.
73988         * modules/cycle-check: Depend on these modules, rather than simply
73989         including their .h files.
73990         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
73991         required via m4/cycle-check.m4.
73992         * modules/same: Depend on new same-inode module, rather than
73993         including same-inode.h.
73994         * modules/chdir-safer: New file.
73995
73996         * modules/chown (Depends-on): Add stat-macros.
73997
73998 2006-08-10  Jim Meyering  <jim@meyering.net>
73999
74000         * m4/cycle-check.m4: New file.
74001         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
74002         * m4/dev-ino.m4, m4/same-inode.m4: New files.
74003
74004 2006-08-10  Eric Blake  <ebb9@byu.net>
74005
74006         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
74007         in from original proposal.
74008
74009 2006-08-10  Eric Blake  <ebb9@byu.net>
74010         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74011
74012         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
74013         namespace.
74014
74015 2006-08-10  Bruno Haible  <bruno@clisp.org>
74016
74017         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
74018         as well.
74019
74020 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74021
74022         Sync from coreutils.
74023
74024         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
74025
74026         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
74027         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
74028
74029 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74030
74031         * modules/restrict: Remove; no longer needed now that we assume
74032         Autoconf 2.59 or later.
74033         * MODULES.html.sh: Remove 'restrict'.
74034         * modules/argp (Depends-on): Remove 'restrict'.
74035         * modules/base64 (Depends-on): Likewise.
74036         * modules/gc (Depends-on): Likewise.
74037         * modules/getaddrinfo (Depends-on): Likewise.
74038         * modules/glob (Depends-on): Likewise.
74039         * modules/inet_ntop (Depends-on): Likewise.
74040         * modules/inet_pton (Depends-on): Likewise.
74041         * modules/memxor (Depends-on): Likewise.
74042         * modules/regex (Depends-on): Likewise.
74043         * modules/strtok_r (Depends-on): Likewise.
74044         * modules/time_r (Depends-on): Likewise.
74045
74046 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74047
74048         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
74049         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
74050         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74051         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
74052         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
74053         * m4/memxor.m4 (gl_MEMXOR): Likewise.
74054         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
74055         gl_C_RESTRICT replaced by AC_C_RESTRICT.
74056
74057         Merge from coreutils.
74058         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
74059         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
74060         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74061         * m4/time_r.m4 (gl_TIME_R): Likewise.
74062
74063 2006-08-09  Karl Berry  <karl@gnu.org>
74064
74065         * config/srclist.txt: no more gettext-tools, per Bruno.
74066
74067 2006-08-08  Eric Blake  <ebb9@byu.net>
74068
74069         * modules/verror: New module.
74070         * MODULES.html.sh: Document it.
74071
74072 2006-08-08  Eric Blake  <ebb9@byu.net>
74073
74074         * lib/verror.h, lib/verror.c: New files.
74075
74076 2006-08-08  Eric Blake  <ebb9@byu.net>
74077
74078         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
74079         verror_at_line output complies with GNU Coding Standards even when
74080         file is NULL.
74081
74082 2006-08-07  Bruno Haible  <bruno@clisp.org>
74083
74084         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
74085         versions of AIX.
74086         Reported by Ralf Wildenhues.
74087
74088 2006-08-07  Bruno Haible  <bruno@clisp.org>
74089
74090         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
74091         in an AC_DEFUN. Needed so that the autoconf snippets can use
74092         AC_REQUIRE.
74093
74094 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74095
74096         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74097         Initialize pkgdata_DATA.
74098         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
74099         overriding it.
74100
74101 2006-08-06  Eric Blake  <ebb9@byu.net>
74102
74103         * lib/error.h: Fold in some upstream changes from glibc.
74104         * lib/error.c: Likewise.
74105
74106 2006-08-04  Bruno Haible  <bruno@clisp.org>
74107
74108         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74109         Make the mostlyclean-local rule depend on mostlyclean-generic.
74110         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
74111
74112 2006-07-31  Bruno Haible  <bruno@clisp.org>
74113
74114         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
74115         <stdlib.h>, <string.h>.
74116
74117 2006-07-30  Bruno Haible  <bruno@clisp.org>
74118
74119         * modules/readlink (License): Change to LGPL.
74120
74121 2006-07-30  Bruno Haible  <bruno@clisp.org>
74122
74123         * modules/javaversion (Makefile.am): Distribute javaversion.java and
74124         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
74125         set PKGDATADIR to point to it.
74126
74127 2006-07-30  Bruno Haible  <bruno@clisp.org>
74128
74129         * modules/csharpexec (configure.ac): Comment out macro invocation.
74130         * modules/javaexec (configure.ac): Likewise.
74131         * modules/javacomp-script (configure.ac): Likewise.
74132
74133         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
74134
74135 2006-07-30  Bruno Haible  <bruno@clisp.org>
74136
74137         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
74138         linked-list.
74139
74140 2006-07-30  Bruno Haible  <bruno@clisp.org>
74141
74142         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
74143
74144 2006-07-30  Bruno Haible  <bruno@clisp.org>
74145
74146         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74147         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
74148         get removed.
74149
74150 2006-07-29  Bruno Haible  <bruno@clisp.org>
74151
74152         Make it possible for gnulib-tool to work with locally modified or
74153         augmented gnulib repositories.
74154         * gnulib-tool (func_usage): Document --local-dir option.
74155         (local_gnulib_dir): New variable.
74156         Handle --local-dir option.
74157         (func_lookup_file): New function.
74158         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
74159         (func_get_description, func_get_filelist, func_get_description,
74160         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
74161         func_get_automake_snippet, func_get_include_directive,
74162         func_get_license, func_get_maintainer): Use func_lookup_file.
74163         (func_import, func_create_testdir): Use func_lookup_file.
74164
74165 2006-07-29  Bruno Haible  <bruno@clisp.org>
74166
74167         * modules/setenv (Depends-on): Add unistd.
74168
74169 2006-07-29  Bruno Haible  <bruno@clisp.org>
74170
74171         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
74172
74173 2006-07-29  Bruno Haible  <bruno@clisp.org>
74174
74175         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
74176
74177 2006-07-29  Bruno Haible  <bruno@clisp.org>
74178
74179         * gnulib-tool (import, update): If there is no Makefile.am, look at
74180         aclocal.m4, instead of bailing out.
74181
74182 2006-07-29  Bruno Haible  <bruno@clisp.org>
74183
74184         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
74185         Categorize the options by when they are useful.
74186
74187 2006-07-29  Bruno Haible  <bruno@clisp.org>
74188
74189         * gnulib-tool (func_usage): Document option --no-libtool.
74190         Handle option --no-libtool.
74191         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
74192         for changed semantics of $libtool variable.
74193         (func_import): Likewise. If libtool is not used, show this through
74194         an option --no-libtool.
74195         (func_create_testdir): Update.
74196
74197 2006-07-29  Bruno Haible  <bruno@clisp.org>
74198
74199         * gnulib-tool (func_import): Extend error message about missing
74200         --doc-base.
74201
74202 2006-07-29  Bruno Haible  <bruno@clisp.org>
74203
74204         * gnulib-tool (func_import): Don't create the $docbase directory if
74205         there is no file to store there.
74206
74207 2006-07-29  Bruno Haible  <bruno@clisp.org>
74208
74209         * gnulib-tool (autoconf_minversion): If a --dir option is given and
74210         relevant, look for configure.ac there, not in the current directory.
74211         Also use a simple search for AC_PREREQ, not "autoconf --trace".
74212
74213 2006-07-29  Bruno Haible  <bruno@clisp.org>
74214
74215         * gnulib-tool (SORT): New variable.
74216         (func_usage): Undocument --assume-autoconf option.
74217         Remove --assume-autoconf option handling.
74218         (autoconf_minversion): Determine from the contents of configure.ac.
74219         (func_import): Remove autoconf_minversion handling.
74220         Suggested by Eric Blake.
74221
74222 2006-07-29  Bruno Haible  <bruno@clisp.org>
74223
74224         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
74225
74226 2006-07-29  Bruno Haible  <bruno@clisp.org>
74227
74228         * config/srclist.txt (*setenv.[ch]): Remove rules.
74229
74230 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74231
74232         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
74233
74234 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74235
74236         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
74237         arpa/inet.h.
74238
74239 2006-07-28  Simon Josefsson  <jas@extundo.com>
74240
74241         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
74242         * modules/inet_pton (Depends-on): Likewise.
74243
74244 2006-07-28  Simon Josefsson  <jas@extundo.com>
74245
74246         * m4/netinet_in_h.m4: New file.
74247
74248 2006-07-28  Simon Josefsson  <jas@extundo.com>
74249
74250         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
74251         #include's.
74252
74253 2006-07-28  Simon Josefsson  <jas@extundo.com>
74254
74255         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
74256         #include's.
74257
74258 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
74259
74260         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
74261         setgid on directories only if they set these bits.
74262         * lib/modechange.h: Remove obsolete comment about masks.
74263
74264 2006-07-28  Eric Blake  <ebb9@byu.net>
74265
74266         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
74267         macro expansion.
74268
74269 2006-07-28  Bruno Haible  <bruno@clisp.org>
74270
74271         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
74272
74273 2006-07-28  Bruno Haible  <bruno@clisp.org>
74274
74275         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
74276
74277 2006-07-28  Bruno Haible  <bruno@clisp.org>
74278
74279         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
74280         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
74281         Define fallbacks.
74282         Avoids link error on FreeBSD 4.x.
74283         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74284
74285         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
74286         encoding.
74287         * lib/mbswidth.c (iswcntrl): Likewise.
74288
74289 2006-07-27  Bruno Haible  <bruno@clisp.org>
74290
74291         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
74292         test.
74293
74294 2006-07-27  Bruno Haible  <bruno@clisp.org>
74295
74296         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
74297         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
74298         defined.
74299
74300 2006-07-26  Eric Blake  <ebb9@byu.net>
74301
74302         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
74303
74304 2006-07-26  Eric Blake  <ebb9@byu.net>
74305
74306         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
74307         like mingw that lack mkstemp.
74308         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
74309         avoid compilation warning on mingw.
74310
74311 2006-07-26  Bruno Haible  <bruno@clisp.org>
74312
74313         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
74314         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
74315         INT_FAST*_MIN, INTPTR_MIN.
74316
74317 2006-07-25  Bruno Haible  <bruno@clisp.org>
74318
74319         * modules/version-etc (Depends-on): Add stdarg.
74320
74321 2006-07-25  Bruno Haible  <bruno@clisp.org>
74322
74323         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
74324         complex commands.
74325
74326 2006-07-25  Bruno Haible  <bruno@clisp.org>
74327
74328         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
74329         defined in <stdarg.h> or config.h.
74330
74331 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74332
74333         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
74334         (gl_STDIO_SAFER): Remove.
74335
74336 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74337
74338         * MODULES.html.sh (File stream based Input/Output):
74339         Add fopen-safer, tmpfile-safer; remove stdio-safer.
74340         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
74341         * modules/fopen-safer, modules/tmpfile-safer: New files.
74342         * modules/stdio-safer: Remove.
74343
74344 2006-07-24  Bruno Haible  <bruno@clisp.org>
74345
74346         * modules/tmpdir: New file.
74347         * MODULES.html.sh (File system functions): Add it.
74348
74349 2006-07-24  Bruno Haible  <bruno@clisp.org>
74350
74351         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
74352         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
74353
74354 2006-07-24  Bruno Haible  <bruno@clisp.org>
74355
74356         * modules/clean-temp: New file.
74357
74358 2006-07-24  Bruno Haible  <bruno@clisp.org>
74359
74360         * m4/tmpdir.m4: New file, from GNU gettext.
74361
74362 2006-07-24  Bruno Haible  <bruno@clisp.org>
74363
74364         * lib/tmpdir.h: New file, from GNU gettext.
74365         * lib/tmpdir.c: New file, from GNU gettext.
74366
74367 2006-07-24  Bruno Haible  <bruno@clisp.org>
74368
74369         * lib/clean-temp.h: New file, from GNU gettext.
74370         * lib/clean-temp.c: New file, from GNU gettext.
74371
74372 2006-07-23  Eric Blake  <ebb9@byu.net>
74373
74374         * modules/stdio-safer (Files): Add tmpfile-safer.c.
74375         (Depends-on): Add binary-io.
74376
74377 2006-07-23  Eric Blake  <ebb9@byu.net>
74378
74379         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
74380
74381 2006-07-23  Eric Blake  <ebb9@byu.net>
74382
74383         * lib/tmpfile-safer.c: New file.
74384         * lib/stdio-safer.h (fopen_safer): Add prototype.
74385         * lib/stdio--.h (tmpfile): Make safer.
74386
74387 2006-07-23  Bruno Haible  <bruno@clisp.org>
74388
74389         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
74390         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
74391         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
74392         gl_linked_remove_at): Use it.
74393
74394 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74395         and Simon Josefsson <jas@extundo.com>
74396
74397         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
74398
74399         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
74400
74401 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74402
74403         * modules/close-stream: New file.
74404         * modules/closeout (Description): Make it clear that it exits
74405         with a diagnostic on error.
74406         (Depends-on): Add close-stream.  Remove fpending, stdbool.
74407         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
74408
74409 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74410
74411         * m4/close-stream.m4: New file.
74412
74413 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74414
74415         * lib/close-stream.c, lib/close-stream.h: New files.
74416
74417 2006-07-22  Bruno Haible  <bruno@clisp.org>
74418
74419         Merge from GNU gettext 0.15.
74420
74421         2006-05-01  Bruno Haible  <bruno@clisp.org>
74422
74423                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
74424
74425         2006-07-22  Bruno Haible  <bruno@clisp.org>
74426
74427                 * modules/javaversion: New file.
74428                 * MODULES.html.sh (Java): Add javaversion.
74429
74430         2006-03-12  Bruno Haible  <bruno@clisp.org>
74431
74432                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
74433
74434         2005-12-04  Bruno Haible  <bruno@clisp.org>
74435
74436                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
74437                 (untested).
74438
74439         2006-06-21  Bruno Haible  <bruno@clisp.org>
74440
74441                 Avoid warnings from recent versions of mcs.
74442                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
74443                 -o, -L, -r any more. Use options documented since mcs-1.0
74444                 instead. Similarly for -g.
74445
74446         2005-12-04  Bruno Haible  <bruno@clisp.org>
74447
74448                 * build-aux/csharpcomp.sh.in: Suffix for resources is
74449                 .resources, not .resource.
74450
74451         2005-07-09  Bruno Haible  <bruno@clisp.org>
74452
74453                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
74454                 add a .dll suffix.
74455                 Reported by Mark Junker <mjscod@gmx.de>.
74456
74457         2006-07-22  Bruno Haible  <bruno@clisp.org>
74458
74459                 * modules/gettext: Upgrade to gettext-0.15.
74460                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
74461                 m4/visibility.m4.
74462                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
74463
74464 2006-07-22  Bruno Haible  <bruno@clisp.org>
74465
74466         Merge from GNU gettext 0.15.
74467
74468         2006-03-25  Bruno Haible  <bruno@clisp.org>
74469
74470                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
74471
74472         2006-07-21  Bruno Haible  <bruno@clisp.org>
74473
74474                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
74475                 "1.1".
74476
74477         2006-05-09  Bruno Haible  <bruno@clisp.org>
74478
74479                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
74480                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
74481                 for the conftestver execution.
74482
74483         2006-05-01  Bruno Haible  <bruno@clisp.org>
74484
74485                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
74486                 optional target-version argument. Verify that the compiler
74487                 groks source of the specified source-version, or add -source
74488                 option as necessary. Verify that the compiler produces
74489                 bytecode in the specified target-version, or add -target and
74490                 -source options as necessary. Make the result of the test
74491                 available as variable CONF_JAVAC. Also log error output in
74492                 config.log.
74493
74494         2006-03-11  Bruno Haible  <bruno@clisp.org>
74495
74496                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
74497
74498         2006-05-09  Bruno Haible  <bruno@clisp.org>
74499
74500                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
74501                 CLASSPATH_SEPARATOR to a semicolon.
74502
74503         2006-03-12  Bruno Haible  <bruno@clisp.org>
74504
74505                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
74506                 available as variable CONF_JAVA, for subsequent autoconf
74507                 tests. Also log error output in config.log.
74508
74509         2006-07-19  Bruno Haible  <bruno@clisp.org>
74510
74511                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
74512                 that getline works on glibc2 systems. Needed to avoid trouble
74513                 in relocatable.c.
74514                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
74515
74516         2005-12-04  Bruno Haible  <bruno@clisp.org>
74517
74518                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
74519                 launcher (untested).
74520
74521         2005-12-04  Bruno Haible  <bruno@clisp.org>
74522
74523                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
74524
74525         2006-07-22  Bruno Haible  <bruno@clisp.org>
74526
74527                 * gettext.m4: Update from GNU gettext-0.15.
74528                 * nls.m4: Likewise.
74529                 * po.m4: Likewise.
74530                 * inttypes-pri.m4: Likewise.
74531                 * inttypes-h.m4: Renamed from inttypes.m4.
74532                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
74533
74534 2006-07-22  Bruno Haible  <bruno@clisp.org>
74535
74536         Merge from GNU gettext 0.15.
74537
74538         2005-07-05  Bruno Haible  <bruno@clisp.org>
74539
74540                 * printf-args.c (printf_fetchargs): Work around broken
74541                 definition of wint_t on mingw.
74542
74543         2005-02-12  Bruno Haible  <bruno@clisp.org>
74544
74545                 * xallocsa.h: Add extern "C" for C++.
74546
74547         2006-05-17  Bruno Haible  <bruno@clisp.org>
74548
74549                 Cygwin portability.
74550                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
74551
74552         2006-04-30  Bruno Haible  <bruno@clisp.org>
74553
74554                 * progreloc.c: Include <mach-o/dyld.h> if available.
74555                 (find_executable): Use _NSGetExecutablePath when possible.
74556
74557         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74558
74559                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
74560                 function.
74561
74562         2005-12-29  Bruno Haible  <bruno@clisp.org>
74563
74564                 * progreloc.c (set_program_name_and_installdir): Fix
74565                 compilation error.
74566
74567         2005-12-04  Bruno Haible  <bruno@clisp.org>
74568
74569                 Cygwin portability.
74570                 * progreloc.c: Include <windows.h> also on Cygwin.
74571                 (find_executable): Add support for Cygwin.
74572                 (set_program_name_and_installdir): Handle also platforms with
74573                 nonempty EXEEXT.
74574
74575         2006-07-11  Bruno Haible  <bruno@clisp.org>
74576
74577                 * javacomp.c: Fix a comment.
74578                 Reported by Jim Meyering.
74579
74580         2006-04-30  Bruno Haible  <bruno@clisp.org>
74581
74582                 * javacomp.h (compile_java_class): Add source_version,
74583                 target_version arguments.
74584                 * javacomp.c: Rewritten to choose only a compiler that
74585                 respects the specified source_version and target_version.
74586
74587         2006-06-27  Bruno Haible  <bruno@clisp.org>
74588
74589                 Assume correct S_ISDIR macro.
74590                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
74591
74592         2006-07-22  Bruno Haible  <bruno@clisp.org>
74593
74594                 * javaversion.h: New file, from GNU gettext.
74595                 * javaversion.c: New file, from GNU gettext.
74596                 * javaversion.java: New file, from GNU gettext.
74597                 * javaversion.class: New file, from GNU gettext.
74598
74599         2006-05-17  Bruno Haible  <bruno@clisp.org>
74600
74601                 Cygwin portability.
74602                 * javaexec.c (execute_java_class): Test for jview program
74603                 also on Cygwin.
74604
74605         2006-04-09  Bruno Haible  <bruno@clisp.org>
74606
74607                 * fatal-signal.c: Don't include string.h.
74608                 (at_fatal_signal): Use a copying loop instead of memcpy.
74609
74610         2005-12-04  Bruno Haible  <bruno@clisp.org>
74611
74612                 * csharpexec.c: Add support for 'clix' launcher (untested).
74613                 (execute_csharp_using_sscli): New function.
74614                 (execute_csharp_program): Call it.
74615
74616         2006-06-21  Bruno Haible  <bruno@clisp.org>
74617
74618                 Avoid warnings from recent versions of mcs.
74619                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
74620                 -o, -L, -r any more. Use options documented since mcs-1.0
74621                 instead. Similarly for -g.
74622
74623         2005-07-09  Bruno Haible  <bruno@clisp.org>
74624
74625                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
74626                 add a .dll suffix.
74627                 Reported by Mark Junker <mjscod@gmx.de>.
74628
74629         2006-06-17  Bruno Haible  <bruno@clisp.org>
74630
74631                 * config.charset: Update for NetBSD 3.0.
74632
74633         2006-05-17  Bruno Haible  <bruno@clisp.org>
74634
74635                 Cygwin portability.
74636                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
74637
74638         2006-05-16  Bruno Haible  <bruno@clisp.org>
74639
74640                 * localcharset.c [CYGWIN]: Include <windows.h>.
74641                 (get_charset_aliases): For Cygwin, return the same CPxxx
74642                 aliases list as under WIN32.
74643                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
74644                 the environment variables. Fall back to GetACP().
74645
74646         2006-04-05  Bruno Haible  <bruno@clisp.org>
74647
74648                 * config.charset: Update Juan Manuel Guerrero's address.
74649
74650         2005-02-12  Bruno Haible  <bruno@clisp.org>
74651
74652                 * allocsa.h: Add extern "C" for C++.
74653
74654         2005-02-10  Bruno Haible  <bruno@clisp.org>
74655
74656                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
74657                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
74658
74659         2006-07-22  Bruno Haible  <bruno@clisp.org>
74660
74661                 * gettext.h: Update to GNU gettext-0.15.
74662
74663 2006-07-22  Bruno Haible  <bruno@clisp.org>
74664
74665         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
74666         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
74667         lib-prefix.m4, longdouble.m4, ssize_t.m4.
74668
74669 2006-07-21  Eric Blake  <ebb9@byu.net>
74670
74671         * modules/stdlib-safer: New file.
74672         * MODULES.html.sh (File stream based Input/Output): Add
74673         stdlib-safer.
74674
74675 2006-07-21  Eric Blake  <ebb9@byu.net>
74676
74677         * lib/stdlib-safer.h: New file from coreutils, required by
74678         stdlib--.h.
74679
74680 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
74681
74682         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
74683
74684 2006-07-20  Bruno Haible  <bruno@clisp.org>
74685
74686         * gnulib-tool: Recognize new option --assume-autoconf.
74687         (autoconf_minversion): New variable.
74688         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
74689
74690 2006-07-20  Bruno Haible  <bruno@clisp.org>
74691
74692         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
74693
74694 2006-07-19  Derek R. Price  <derek@ximbiot.com>
74695
74696         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
74697         Reindent and repaginate.
74698
74699 2006-07-19  Derek Price  <derek@ximbiot.com>
74700
74701         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
74702         Correct grammar.
74703
74704 2006-07-17  Bruno Haible  <bruno@clisp.org>
74705
74706         * modules/list: New file.
74707         * modules/array-list: New file.
74708         * modules/carray-list, modules/carray-list-tests: New files.
74709         * modules/linked-list, modules/linked-list-tests: New files.
74710         * modules/avltree-list, modules/avltree-list-tests: New files.
74711         * modules/rbtree-list, modules/rbtree-list-tests: New files.
74712         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
74713         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
74714         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
74715         * modules/oset: New file.
74716         * modules/array-oset: New file.
74717         * modules/avltree-oset, modules/avltree-oset-tests: New files.
74718         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
74719         * tests/test-carray_list.c: New file.
74720         * tests/test-linked_list.c: New file.
74721         * tests/test-avltree_list.c: New file.
74722         * tests/test-rbtree_list.c: New file.
74723         * tests/test-linkedhash_list.c: New file.
74724         * tests/test-avltreehash_list.c: New file.
74725         * tests/test-rbtreehash_list.c: New file.
74726         * tests/test-avltree_oset.c: New file.
74727         * tests/test-rbtree_oset.c: New file.
74728         * MODULES.html.sh (Container data structures): New section.
74729
74730 2006-07-17  Bruno Haible  <bruno@clisp.org>
74731
74732         * m4/gl_list.m4: New file.
74733
74734 2006-07-17  Bruno Haible  <bruno@clisp.org>
74735
74736         * lib/gl_list.h: New file.
74737         * lib/gl_list.c: New file.
74738         * lib/gl_array_list.h: New file.
74739         * lib/gl_array_list.c: New file.
74740         * lib/gl_carray_list.h: New file.
74741         * lib/gl_carray_list.c: New file.
74742         * lib/gl_linked_list.h: New file.
74743         * lib/gl_linked_list.c: New file.
74744         * lib/gl_anylinked_list1.h: New file.
74745         * lib/gl_anylinked_list2.h: New file.
74746         * lib/gl_avltree_list.h: New file.
74747         * lib/gl_avltree_list.c: New file.
74748         * lib/gl_anyavltree_list1.h: New file.
74749         * lib/gl_anyavltree_list2.h: New file.
74750         * lib/gl_rbtree_list.h: New file.
74751         * lib/gl_rbtree_list.c: New file.
74752         * lib/gl_anyrbtree_list1.h: New file.
74753         * lib/gl_anyrbtree_list2.h: New file.
74754         * lib/gl_anytree_list1.h: New file.
74755         * lib/gl_anytree_list2.h: New file.
74756         * lib/gl_linkedhash_list.h: New file.
74757         * lib/gl_linkedhash_list.c: New file.
74758         * lib/gl_anyhash_list1.h: New file.
74759         * lib/gl_anyhash_list2.h: New file.
74760         * lib/gl_avltreehash_list.h: New file.
74761         * lib/gl_avltreehash_list.c: New file.
74762         * lib/gl_rbtreehash_list.h: New file.
74763         * lib/gl_rbtreehash_list.c: New file.
74764         * lib/gl_anytreehash_list1.h: New file.
74765         * lib/gl_anytreehash_list2.h: New file.
74766
74767         * lib/gl_oset.h: New file.
74768         * lib/gl_oset.c: New file.
74769         * lib/gl_array_oset.h: New file.
74770         * lib/gl_array_oset.c: New file.
74771         * lib/gl_avltree_oset.h: New file.
74772         * lib/gl_avltree_oset.c: New file.
74773         * lib/gl_rbtree_oset.h: New file.
74774         * lib/gl_rbtree_oset.c: New file.
74775         * lib/gl_anytree_oset.h: New file.
74776
74777 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74778
74779         * m4/mkancesdirs.m4: New file.
74780         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
74781         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
74782         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
74783         it.
74784
74785 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74786
74787         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
74788         * lib/mkancesdirs.h: New files.
74789         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
74790         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
74791         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
74792         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
74793         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
74794         callers changed.  Revamp internals significantly, by not
74795         attempting to create directories that are temporarily more
74796         permissive than the final results.  Do not attempt to use
74797         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
74798         This removes some race conditions, fixes some bugs, and simplifies
74799         things.  Use new dirchownmod function to do owner and mode changes.
74800         * lib/mkdir-p.h: Likewise.
74801         * lib/modechange.c (octal_to_mode): New function.
74802         (struct mode_change): New member mentioned.
74803         (make_node_op_equals): New arg mentioned.  All callers changed.
74804         (mode_compile): Keep track of which mode bits the user has explicitly
74805         mentioned.
74806         (mode_adjust): New arg DIR, so that we implement the X op correctly.
74807         New arg PMODE_BITS, to keep track of which mode bits the user
74808         mentioned; it treats S_ISUID and S_ISGID speciall.
74809         All callers changed.
74810         * lib/modechange.h: Likewise.
74811
74812 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74813
74814         * MODULES.html.sh: Add mkancestors.
74815         * modules/mkancesdirs: New module.
74816         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
74817         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
74818         The chdir-safer and afs files are now orphans; I'll remove them
74819         unless someone speaks up.
74820         Add lib/dirchownmod.c, lib/dirchownmod.h.
74821         (Depends-on): Remove alloca, chown, save-cwd, dirname.
74822         Add lchown, mkancesdirs.
74823         (Maintainer): Add self.
74824
74825 2006-07-15  Karl Berry  <karl@gnu.org>
74826
74827         * gnulib-tool: help message wording/arrangement.
74828
74829 2006-07-14  Simon Josefsson  <jas@extundo.com>
74830
74831         * doc/gnulib.texi (Libtool and Windows): New section.
74832
74833 2006-07-12  Simon Josefsson  <jas@extundo.com>
74834
74835         * modules/gendocs (License): Fix license, approved by Karl.
74836
74837 2006-07-12  Eric Blake  <ebb9@byu.net>
74838
74839         * MODULES.html.sh: Add gendocs.
74840
74841 2006-07-11  Eric Blake  <ebb9@byu.net>
74842
74843         * modules/fdl: New module, to install doc/fdl.texi.
74844         * MODULES.html.sh: Add new section for documentation modules.
74845         * gnulib-tool: Avoid space-tab.
74846         (--doc-base): New option, to manage files from doc.
74847
74848 2006-07-11  Eric Blake  <ebb9@byu.net>
74849
74850         * m4/absolute-header.m4: Fix comments to match recent change.
74851
74852 2006-07-11  Eric Blake  <ebb9@byu.net>
74853
74854         * gnulib-tool: List --doc-base before --tests-base.
74855
74856 2006-07-11  Derek R. Price  <derek@ximbiot.com>
74857
74858         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
74859
74860 2006-07-11  Bruno Haible  <bruno@clisp.org>
74861
74862         * README: Mention where to put documentation.
74863
74864 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74865
74866         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
74867
74868 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74869
74870         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
74871         to stdint.m4.
74872
74873 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74874
74875         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
74876         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
74877         "no/such/file/stdint.h" when there is no such file, so that
74878         the resulting C code can be parsed by dodgy compilers.
74879         Problems reported by Bob Proulx.
74880
74881 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74882
74883         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
74884         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74885         macros into the GNU _D_EXACT_NAMLEN.
74886         * lib/savedir.c:  Likewise.
74887         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
74888
74889 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74890         and Paul Eggert  <eggert@cs.ucla.edu>
74891
74892         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
74893         * m4/savedir.m4:
74894         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74895         macros into the GNU _D_EXACT_NAMLEN.
74896
74897 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74898
74899         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
74900         around the absolute name, to work around a problem with the HP-UX
74901         11.23 native C compiler, reported by Bob Proulx.
74902
74903 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74904
74905         * doc/maintain.texi, make-stds.texi: Sync from
74906         <http://savannah.gnu.org/projects/gnustandards>.
74907
74908 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74909
74910         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
74911
74912 2006-07-09  Jim Meyering  <jim@meyering.net>
74913
74914         * m4/glob.m4: Remove a doubled word in a comment.
74915
74916 2006-07-09  Jim Meyering  <jim@meyering.net>
74917
74918         * lib/argp-pv.c: Remove a doubled word in a comment.
74919         * lib/check-version.c (check_version): Likewise.
74920         * lib/javacomp.c (compile_java_class): Likewise.
74921
74922 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
74923
74924         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
74925         for the benefit of people using Autoconf 2.60.  If you want to
74926         support older Autoconf versions you can copy m4/onceonly_2_57.m4
74927         (or m4/onceonly.m4, if pre-2.57) manually.
74928
74929 2006-07-08  Jim Meyering  <jim@meyering.net>
74930
74931         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
74932         comment.
74933         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
74934         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
74935         comment.
74936
74937 2006-07-08  Jim Meyering  <jim@meyering.net>
74938
74939         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
74940
74941 2006-07-07  Simon Josefsson  <jas@extundo.com>
74942
74943         * tests/test-crc.c: Change expected crc value, the test vector
74944         were probably computed using the old broken crc.c?
74945
74946 2006-07-06  Simon Josefsson  <jas@extundo.com>
74947
74948         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
74949         now the canonical place for the M4 file).
74950
74951         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
74952         from the sys_socket dependency now.
74953
74954         * modules/inet_pton (Files): Ditto.
74955
74956         * modules/inet_ntop (Files): Ditto.
74957
74958 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74959
74960         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
74961         not gl_PREREQ_GETUSERSHELL.
74962
74963 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74964
74965         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
74966         with only one argument, for Autoconf 2.60.
74967         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
74968         expand to nothing, so add a shell command to avoid syntax error.
74969         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74970
74971 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74972
74973         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
74974
74975 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74976
74977         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
74978         no longer needed.  Check for isblank decl.
74979         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
74980         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
74981         of existence.
74982
74983 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74984
74985         * lib/getloadavg.c: Use __VMS, not VMS.
74986         * lib/getopt.c: Likewise.
74987         * lib/getpagesize.h: Likewise.
74988         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
74989         and probably does not work.
74990
74991 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74992
74993         * lib/.cppi-disable: Add wcwidth.
74994         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
74995         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
74996         (ISGRAPH): Remove.  All uses changed to isgraph.
74997         (FOLD) [!defined _LIBC]: Remove special case.
74998         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
74999         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
75000         HAVE_ISBLANK.
75001         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
75002         case.
75003
75004 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75005
75006         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
75007         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
75008         brackets.  Other minor changes to suppress some compiler
75009         warnings.
75010
75011 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75012         and Paul Eggert  <eggert@cs.ucla.edu>
75013
75014         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
75015         of invoking obsolescent AC_HEADER_DIRENT macro.
75016         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
75017         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
75018         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
75019         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
75020         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
75021         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
75022         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
75023         * m4/readdir.m4: Remove; no longer needed.
75024
75025 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75026         and Paul Eggert  <eggert@cs.ucla.edu>
75027
75028         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
75029         Don't worry about this obsolete case any more.
75030         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
75031         directories.
75032         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
75033         worry about this obsolete case any more.
75034         * lib/fts.c: Likewise.
75035         * lib/getcwd.c: Likewise.
75036         * lib/glob.h: Likewise.
75037         * lib/savedir.c: Likewise.
75038
75039 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75040
75041         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
75042         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
75043         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
75044         needed.
75045         All uses removed.
75046         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75047         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75048         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
75049         needed.
75050         * m4/getdate.m4 (gl_GETDATE): Likewise.
75051         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75052         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75053         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75054         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75055         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75056         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75057         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
75058         needed.
75059
75060 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75061
75062         * lib/memcasecmp.c: Include <limits.h>.
75063         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
75064         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
75065         Don't assume isdigit succeeds only on '0' through '9'.
75066
75067 2006-07-05  Eric Blake  <ebb9@byu.net>
75068
75069         * modules/getaddrinfo (Depends-on): Add snprintf.
75070
75071 2006-07-05  Eric Blake  <ebb9@byu.net>
75072
75073         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
75074         to avoid 'header present but could not be compiled' on cygwin.
75075
75076 2006-07-05  Eric Blake  <ebb9@byu.net>
75077
75078         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
75079         missing from netdb.h.
75080         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
75081
75082 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75083
75084         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
75085         no longer needed.
75086         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
75087         * m4/getdate.m4 (gl_GETDATE): Likewise.
75088         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75089         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75090         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75091         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75092         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75093
75094 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75095
75096         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
75097         All uses of is_space replaced by isspace.
75098         * lib/exit.h: Don't talk about STDC_HEADERS.
75099         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
75100         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
75101         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
75102         replaced by isprint etc.
75103         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
75104         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75105         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
75106         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
75107         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
75108         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75109
75110 2006-07-05  Bruno Haible  <bruno@clisp.org>
75111
75112         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
75113         the function exists, before testing against AIX.
75114         Reported by Martin Lambers <marlam@marlam.de>.
75115
75116 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75117
75118         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
75119         From Mark D. Baushke.
75120
75121 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75122
75123         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
75124         to the absolute name, not just one, to bypass Sun C 5.8's
75125         "warning: #include of /usr/include/... may be non-portable".
75126
75127 2006-07-04  Eric Blake  <ebb9@byu.net>
75128
75129         * modules/dirname-tests: New test module.
75130         * tests/test-dirname.c: New file, replacing dirname.c
75131         TEST_DIRNAME section that was recently deleted.
75132
75133 2006-07-04  Bruno Haible  <bruno@clisp.org>
75134
75135         Assume ANSI C header files and <ctype.h> functions.
75136         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
75137         (mbsnwidth): Use isprint, iscntrl instead.
75138
75139 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75140
75141         Merge from coreutils.
75142         * MODULES.html.sh: Add xstrtold.
75143         * modules/xstrtold: New file.
75144         * modules/cycle-check (Files): Add lib/same-inode.h.
75145         * modules/dirname (Files): Add m4/double-slash-root.m4.
75146         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
75147         * modules/mkdir-p (Files): Add lib/same-inode.h.
75148         * modules/same (Files): Add lib/same-inode.h.
75149
75150 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75151
75152         * m4/absolute-header.m4: Renamed from full-header-path.m4.
75153         This is to keep the terminology clean; POSIX talks about
75154         "absolute pathnames", not "full pathnames", but the GNU
75155         Coding Standards say to use "path" for something else;
75156         so use "absolute" to keep both sides happy.
75157         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
75158         Set gl_absolute_header, not gl_full_header_path.
75159         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
75160         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
75161         All uses changed.
75162
75163         Merge from coreutils.
75164
75165         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75166
75167         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
75168         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
75169         want to require the building of c-strtod.o.
75170         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
75171         needs -lm directly.
75172         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
75173
75174         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75175
75176         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
75177         --as-needed option if available.  Problem reported by Albert Chin in
75178         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
75179         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
75180         cc merely issues a bunch of annoying warnings for --as-needed
75181         (this problem was reported by Bob Proulx).  Also, try linking with
75182         -lm to detect a bug in binutils 2.16 (this problem was reported
75183         by Ralf Wildenhues).
75184
75185         2006-06-18  Jim Meyering  <jim@meyering.net>
75186
75187         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
75188         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
75189         macro.
75190         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
75191         also check for glibc-2.4's abort-inducing bug.
75192
75193         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
75194         Low-probability clean-up should be to use rmdir to get rid of
75195         the just-created directory, not unlink.
75196
75197         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
75198         configure fail, and request a bug report to inform us about it.
75199         Add a comment that, barring reports to the contrary, in 2007 we'll
75200         assume ftruncate is universally available.
75201
75202         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75203
75204         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
75205
75206         2006-03-12  Jim Meyering  <jim@meyering.net>
75207
75208         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
75209         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
75210         * m4/same.m4 (gl_SAME): Likewise.
75211         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
75212
75213         2006-03-11  Eric Blake  <ebb9@byu.net>
75214
75215         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
75216         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
75217         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
75218         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
75219
75220 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75221
75222         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
75223         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
75224         reported by Mark D. Baushke, one in
75225         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
75226
75227         Merge from coreutils.
75228
75229         * lib/.cppi-disable: Add stdint_.h.
75230         * lib/.cvsignore: Add stdint.h.
75231
75232         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75233
75234         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
75235         both double and long double versions.
75236         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
75237         * lib/xstrtold.c: New file.
75238         * lib/xstrtod.h (xstrtold): New decl.
75239
75240         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
75241
75242         * lib/filemode.c (setst): Remove.
75243         (strmode): Rewrite to avoid setst.  This makes the code shorter,
75244         (arguably) clearer, and the generated code is a bit smaller on my
75245         Debian GNU/Linux stable x86 host.
75246
75247         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75248
75249         * lib/filemode.c: Include "filemode.h" first, to test the interface.
75250         Assume that filemode.h includes sys/types.h and sys/stat.h.
75251         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
75252         (ftypelet): Reorder to put common cases first, for efficiency.
75253         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
75254         to do 'M'.
75255         (strmode): Renamed from mode_string, and now stores 12 bytes instead
75256         of 10, for compatibility with FreeBSD.  All callers changed.
75257         (filemodestring): Now stores 12 bytes instead of 10, and sets file
75258         types that can't be deduced solely from st_mode.  First arg is now a
75259         const pointer.
75260         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
75261         (strmode): Renamed from mode_string.
75262         (filemodestring): New decl.
75263         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
75264         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
75265         needed.
75266         (S_ISPORT, S_ISWHT): New macros, if not already defined.
75267
75268         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
75269
75270         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
75271         fsusage.h now does that.  Include fsusage.h first, to test interface.
75272         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
75273         at most one method (the old code could have generated decls that
75274         didn't conform to C89, not that this was ever exercised).
75275         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
75276
75277         2006-03-19  Jim Meyering  <jim@meyering.net>
75278
75279         Work even in a chroot where d_ino values for entries in "/"
75280         don't match the stat.st_ino values for the same names.
75281         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
75282         number, iterate through all entries again, using lstat instead.
75283         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
75284         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
75285
75286         * lib/getcwd.c (__getcwd): Clarify a comment.
75287         Use memcpy in place of a call to strcpy.
75288
75289         2006-03-12  Jim Meyering  <jim@meyering.net>
75290
75291         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
75292         matches that of the current directory (which we're about to chdir ".."
75293         out of), then save the dev-ino of the parent, instead.
75294
75295         * lib/same-inode.h (SAME_INODE): New file/macro.
75296         * lib/chdir-safer.c (SAME_INODE): Remove definition.
75297         Include "same-inode.h", instead.
75298         * lib/same.c: Likewise.
75299         * lib/cycle-check.h: Include "same-inode.h".
75300         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
75301         * lib/cycle-check.c (SAME_INODE): Remove definition.
75302         * lib/root-dev-ino.h: Include "same-inode.h".
75303
75304         2006-03-11  Eric Blake  <ebb9@byu.net>
75305
75306         * lib/same.c (same_name): s/base_name/last_component/
75307         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
75308         * lib/filenamecat.c (file_name_concat): Likewise.
75309
75310         2006-03-11  Eric Blake  <ebb9@byu.net>,
75311                     Paul Eggert  <eggert@cs.ucla.edu>
75312
75313         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
75314         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
75315         drive prefix.
75316         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
75317         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
75318         (last_component): New method.
75319         * lib/dirname.c (dir_len): Determine when drive letters need a
75320         subsequent slash.  Preserve // when it is special.
75321         (dir_name): Don't append dot when drive letter is absolute.
75322         [TEST_DIRNAME]: Move into a full-blown gnulib test.
75323         * lib/basename.c (base_name): New semantics - malloc the result.
75324         Preserve // when it is special.  Preserve relative files that look
75325         like drive letters.
75326         (base_len): Preserve // when it is special.
75327         (last_component): New method, similar to old base_name semantics.
75328         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
75329         base_name.  Strip redundant slashes from ///.
75330
75331 2006-07-03  Jim Meyering  <jim@meyering.net>
75332
75333         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
75334         macro is used before the first cycle_check call.
75335
75336 2006-07-03  Eric Blake  <ebb9@byu.net>
75337
75338         * modules/dirname (Depends-on): Add xstrndup.
75339
75340 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75341
75342         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
75343         test cases, so that config.log is a bit easier to follow.
75344
75345 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75346
75347         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
75348         both are 64 bits, since this seems to be the tradition, and this
75349         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
75350         we ever run into a host that prefers long long to long in this
75351         case, we'll need another configure-time test.  Problem reported by
75352         Jim Meyering.
75353
75354 2006-07-02  Eric Blake  <ebb9@byu.net>
75355
75356         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
75357
75358 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75359
75360         * modules/inttypes (Depends-on): No longer depends on stdint.
75361         * modules/stdint (Description): Say more about assumptions.
75362         Say that the fast types might differ.  Say macros are used.
75363         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
75364         (Makefile.am): Revise list of substituted symbols to match
75365         new stdint.m4.
75366         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
75367         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
75368         * tests/test-stdint.c (verify_same_types)
75369         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
75370         the code conforms to C99/C89.
75371         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
75372         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
75373
75374 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75375
75376         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
75377         but fix a bug, by requiring at least 64 bits.
75378         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
75379         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
75380         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
75381         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
75382
75383         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
75384         changes.  Make 2.59 a prerequisite.  Check and substitute for
75385         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
75386         inttypes.h.  Do not use special include files; just use the
75387         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
75388         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
75389         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
75390         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
75391         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
75392         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
75393         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
75394         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
75395         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
75396         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
75397         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
75398         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
75399         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
75400         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
75401         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
75402         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
75403         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
75404         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
75405         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
75406         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
75407         WINT_MAX.  Check for C99 conformance more strictly, by detecting
75408         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
75409         not check for things that C99 does not require, e.g., int8_t.  If
75410         a test isn't needed unless <stdint.h> isn't working, and is
75411         unlikely to be needed for any other reason, then don't do it
75412         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
75413         size_t, since we assume C89 freestanding at least.  Do not check
75414         for sig_atomic_t, wchar_t, or wint_t, since the code now does
75415         the right thing even if the types are not defined.  Instead use:
75416         (gl_STDINT_TYPE_PROPERTIES): New macro.
75417         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
75418         testing whether <sys/types.h> clashes, as Autoconf does this for
75419         us now.  All uses removed.
75420         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
75421         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
75422         (gl_CHECK_TYPE_SAME):
75423         Remove; no longer needed.
75424         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
75425         exists, since we'll return 0 anyway in that case.
75426         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
75427
75428 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75429
75430         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
75431         possible collision with system files.
75432         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
75433         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
75434         WCHAR_MIN and WCHAR_MAX in this case.
75435         (<stddef.h>): Do not include; no longer needed.
75436         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
75437         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
75438         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
75439         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
75440         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
75441         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
75442         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
75443         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
75444         !defined(__c99))]: Include in this case too, since it's harmless
75445         now.
75446         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
75447         dangerous to do so.
75448         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
75449         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
75450         (_STDINT_MIN, _STDINT_MAX): New macros.
75451         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
75452         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
75453         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
75454         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
75455         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
75456         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
75457         macros, not typedefs; this simplifies things quite a bit.
75458         Use long int for all types narrower than int64_t.
75459         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
75460         Define in terms of long long int or int64_t or long int,
75461         not int64_t or int32_t.  This saves some compile-time testing.
75462         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
75463         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
75464         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
75465         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
75466         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
75467         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
75468         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
75469         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
75470         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
75471         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
75472         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75473         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75474         undef any previous version and define our own version, for
75475         simplicity and consistency with the new macros for types.
75476         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75477         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75478         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
75479         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
75480         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
75481         @WINT_T_SUFFIX@ to keep things simple here.
75482         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
75483         Simplify by assuming typical 8/16/32/64 host, since we're
75484         already doing that elsewhere anyway.
75485         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
75486         and assume long long int is 64 bits if available.  This
75487         speeds up 'configure'.
75488
75489 2006-07-01  Eric Blake  <ebb9@byu.net>
75490
75491         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
75492         Reported by Andreas Buening.
75493
75494 2006-07-01  Eric Blake  <ebb9@byu.net>
75495
75496         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
75497
75498 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75499
75500         * lib/getaddrinfo.c: fixed typo
75501
75502 2006-06-29  Jim Meyering  <jim@meyering.net>
75503
75504         * modules/strftime (Maintainer): Add my name, since with the
75505         FPRINTFTIME changes strftime.c has forked from glibc.
75506
75507 2006-06-29  Eric Blake  <ebb9@byu.net>
75508
75509         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
75510
75511 2006-06-29  Eric Blake  <ebb9@byu.net>
75512
75513         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
75514
75515 2006-06-29  Eric Blake  <ebb9@byu.net>
75516
75517         * lib/stat_.h: New file.
75518
75519 2006-06-29  Eric Blake  <ebb9@byu.net>
75520
75521         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
75522         unused static function.
75523
75524 2006-06-29  Eric Blake  <ebb9@byu.net>
75525
75526         * doc/functions.texi (Function Portability): Document missing lstat
75527         on mingw.
75528
75529 2006-06-29  Eric Blake  <ebb9@byu.net>
75530
75531         * MODULES.html.sh: Add sys_stat.
75532         * modules/sys_stat: New module.
75533         * modules/mkstemp (Depends-on): Add sys_stat.
75534
75535 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75536
75537         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
75538
75539 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75540
75541         * m4/c-bs-a.m4: Removed.
75542
75543 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75544
75545         * lib/strftime.c: Assume strftime() exists.
75546
75547 2006-06-29  Derek Price  <derek@ximbiot.com>
75548
75549         * modules/c-bs-a: Removed - \a is C89.
75550         * MODULES.html.sh: Remove c-bs-a.
75551
75552 2006-06-29  Bruno Haible  <bruno@clisp.org>
75553
75554         * modules/wcwidth (License): Change to LGPL.
75555
75556 2006-06-28  Simon Josefsson  <jas@extundo.com>
75557
75558         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
75559         on _WIN32.
75560
75561         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
75562         getnameinfo.
75563
75564 2006-06-28  Simon Josefsson  <jas@extundo.com>
75565
75566         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
75567
75568 2006-06-28  Simon Josefsson  <jas@extundo.com>
75569
75570         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
75571         functions there.  It will succeed on Windows XP, but on Windows
75572         2000 and (presumably) earlier, it will fail, and use the internal
75573         re-implementation.
75574         (use_win32_p): New function.
75575         (getaddrinfo): Use strtoul on servname, to support numeric ports.
75576         Support AI_NUMERICSERV to disable getservbyname.
75577         (getnameinfo): New function, only supports
75578         NI_NUMERICHOST|NI_NUMERICSERV for now.
75579
75580         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
75581         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
75582         getnameinfo.
75583
75584 2006-06-28  Eric Blake  <ebb9@byu.net>
75585
75586         * modules/wcwidth: New file.
75587         * modules/mbchar (Depends-on): Add wcwidth.
75588         * modules/mbswidth (Depends-on): Add wcwidth.
75589         * MODULES.html.sh: Add wcwidth.
75590
75591 2006-06-28  Eric Blake  <ebb9@byu.net>
75592
75593         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
75594         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
75595
75596 2006-06-28  Eric Blake  <ebb9@byu.net>
75597
75598         * lib/xvasprintf.h: Fix comments.
75599
75600 2006-06-28  Eric Blake  <ebb9@byu.net>
75601
75602         * lib/mbchar.h (wcwidth): Include wcwidth.h.
75603         * lib/mbswidth.c (wcwidth): Move from here...
75604         * lib/wcwidth.h: ...to this new file.
75605
75606 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75607
75608         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
75609
75610         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
75611         it's obsolete.
75612         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
75613
75614 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75615
75616         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
75617         Autoconf 2.60 says this stuff was obsolete.
75618
75619 2006-06-28  Bruno Haible  <bruno@clisp.org>
75620
75621         * modules/wcwidth (Files): Add m4/wchar_t.m4.
75622
75623 2006-06-28  Bruno Haible  <bruno@clisp.org>
75624
75625         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
75626         gt_TYPE_WCHAR_T.
75627
75628 2006-06-28  Bruno Haible  <bruno@clisp.org>
75629
75630         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
75631         declaration for wcwidth.
75632         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
75633
75634 2006-06-28  Bruno Haible  <bruno@clisp.org>
75635
75636         * lib/mkdtemp.c [MINGW]: Include <io.h>.
75637         (mkdir): Define using _mkdir.
75638
75639 2006-06-28  Bruno Haible  <bruno@clisp.org>
75640
75641         * lib/getaddrinfo.h: Fix POSIX URL.
75642         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
75643         _WIN32.
75644         (use_win32_p): Make static.
75645         (getaddrinfo): Reject service name if it is empty or does not consist
75646         solely of decimal digits, or if its value is > 65535.
75647         (getnameinfo): Remove useless casts.
75648
75649 2006-06-27  Simon Josefsson  <jas@extundo.com>
75650
75651         * modules/sys_select: New file, suggested by Bruno Haible, Paul
75652         Eggert and Martin Lambers.
75653
75654 2006-06-27  Simon Josefsson  <jas@extundo.com>
75655
75656         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
75657         Eggert and Martin Lambers.
75658
75659 2006-06-27  Bruno Haible  <bruno@clisp.org>
75660
75661         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
75662         result to 0, not to empty.
75663         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
75664
75665 2006-06-27  Bruno Haible  <bruno@clisp.org>
75666
75667         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
75668
75669 2006-06-26  Simon Josefsson  <jas@extundo.com>
75670
75671         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
75672         present.
75673
75674 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
75675
75676         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
75677         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
75678         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
75679
75680 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
75681
75682         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
75683
75684 2006-06-26  Bruno Haible  <bruno@clisp.org>
75685
75686         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
75687
75688 2006-06-26  Bruno Haible  <bruno@clisp.org>
75689
75690         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
75691
75692 2006-06-26  Bruno Haible  <bruno@clisp.org>
75693
75694         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
75695         SGI C compiler in pre-C99 mode.
75696         Suggested by Mark D. Baushke and Larry Jones.
75697
75698 2006-06-26  Bruno Haible  <bruno@clisp.org>
75699
75700         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
75701         WCHAR_MAX.
75702         Reported by Mark D. Baushke and Larry Jones.
75703
75704 2006-06-26  Bruno Haible  <bruno@clisp.org>
75705
75706         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
75707         in pre-C99 mode.
75708         Suggested by Mark D. Baushke and Larry Jones.
75709
75710 2006-06-23  Simon Josefsson  <jas@extundo.com>
75711             Bruno Haible  <bruno@clisp.org>
75712
75713         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
75714         Emit mostlyclean-local rule.
75715         (func_emit_tests_Makefile_am): Likewise.
75716         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
75717
75718 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
75719
75720         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
75721
75722 2006-06-23  Bruno Haible  <bruno@clisp.org>
75723
75724         * tests/test-stdint.c: Update to match ISO C 99 Technical
75725         Corrigendum 1.
75726
75727 2006-06-23  Bruno Haible  <bruno@clisp.org>
75728
75729         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
75730
75731 2006-06-23  Bruno Haible  <bruno@clisp.org>
75732
75733         * lib/stdint_.h: Treat IRIX like OpenBSD.
75734
75735 2006-06-23  Bruno Haible  <bruno@clisp.org>
75736
75737         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
75738         ISO C 99 Technical Corrigendum 1.
75739
75740 2006-06-22  Simon Josefsson  <jas@extundo.com>
75741
75742         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
75743         MinGW.
75744
75745 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75746
75747         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
75748         needed.  Some compiler complained about some of them.  Problem reported
75749         by Larry Jones in
75750         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
75751
75752 2006-06-21  Simon Josefsson  <jas@extundo.com>
75753
75754         * tests/test-getaddrinfo.c: New file.
75755
75756         * modules/getaddrinfo-tests: New file.
75757
75758         * MODULES.html.sh: Add inet_pton.
75759
75760         * modules/inet_pton: New file.
75761
75762 2006-06-21  Simon Josefsson  <jas@extundo.com>
75763
75764         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
75765         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
75766         of using the (limited) gnulib implementation on Windows XP.
75767
75768         * m4/inet_pton.m4: New file.
75769
75770 2006-06-21  Simon Josefsson  <jas@extundo.com>
75771
75772         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
75773         variable.
75774
75775         * lib/socket_.h: Don't define WINVER.
75776
75777         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
75778         slightly modified to work in gnulib.
75779
75780 2006-06-21  Simon Josefsson  <jas@extundo.com>
75781
75782         * doc/gnulib.texi (Windows sockets): Add.
75783
75784 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
75785
75786         * lib/read-file.c (fread_file): Start with buffer allocation of
75787         0 bytes rather than 1 byte; this simplifies the code.
75788         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
75789         code to free buffer and save/restore errno.
75790         (internal_read_file): Remove unused local.
75791
75792 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
75793
75794         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
75795         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
75796         Problem reported by Denis Excoffier in
75797         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
75798
75799 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75800
75801         * modules/sys_socket, modules/socklen: Include sys/types since
75802         FreeBSD 4.x's sys/socket.h needs it.
75803
75804 2006-06-19  Simon Josefsson  <jas@extundo.com>
75805
75806         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
75807
75808 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75809
75810         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
75811
75812 2006-06-19  Bruno Haible  <bruno@clisp.org>
75813
75814         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
75815         and FULL_PATH_INTTYPES_H in angle brackets.
75816         Reported by Mark D. Baushke <mdb@gnu.org>.
75817
75818 2006-06-17  Eric Blake  <ebb9@byu.net>
75819
75820         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
75821         errno.
75822
75823 2006-06-17  Bruno Haible  <bruno@clisp.org>
75824
75825         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
75826         <sys/inttypes.h>.
75827
75828 2006-06-17  Bruno Haible  <bruno@clisp.org>
75829
75830         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
75831         whether errno is declared. Assume <errno.h> declares errno.
75832
75833 2006-06-17  Bruno Haible  <bruno@clisp.org>
75834
75835         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
75836
75837 2006-06-17  Bruno Haible  <bruno@clisp.org>
75838
75839         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
75840         problem on Solaris 2.5.1.
75841
75842 2006-06-16  Eric Blake  <ebb9@byu.net>
75843
75844         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
75845         * lib/unicodeio.c [!defined errno]: Likewise.
75846         * lib/strtol.c [!defined errno]: Likewise.
75847         * lib/strtod.c [!defined errno]: Likewise.
75848
75849 2006-06-15  Eric Blake  <ebb9@byu.net>
75850
75851         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
75852
75853 2006-06-15  Eric Blake  <ebb9@byu.net>
75854
75855         * config/srclist.txt (ssize_t.m4): Lose sync.
75856
75857 2006-06-15  Bruno Haible  <bruno@clisp.org>
75858
75859         * modules/stdint (Files): Include m4/full-header-path.m4,
75860         m4/size_max.m4, m4/wchar_t.m4.
75861         (Makefile.am): Many more substitutions.
75862         * modules/stdint-tests: New file.
75863         * tests/test-stdint.c: New file.
75864
75865 2006-06-15  Bruno Haible  <bruno@clisp.org>
75866
75867         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
75868         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
75869         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
75870         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
75871         gl_CHECK_TYPE_SAME): New macros.
75872
75873 2006-06-15  Bruno Haible  <bruno@clisp.org>
75874
75875         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
75876
75877 2006-06-15  Bruno Haible  <bruno@clisp.org>
75878
75879         * lib/stdint_.h: Rewritten to be fully auto-configured.
75880         Fixes bug on HP-UX/IA64.
75881
75882 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
75883
75884         * lib/getdate.y (__attribute__): Don't define if already defined.
75885         Problem reported by Larry Jones.
75886         * lib/utimens.c (__attribute__): Likewise.
75887
75888 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
75889
75890         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
75891         reported by Andreas Schwab.
75892
75893 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75894             Bruno Haible  <bruno@clisp.org>
75895
75896         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
75897         check for the declaration of strnlen and a run test that exposes the
75898         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
75899         rpl_strndup.
75900
75901 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75902             Bruno Haible  <bruno@clisp.org>
75903
75904         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
75905
75906 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75907
75908         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
75909         compile test, for Tru64 4.0D.
75910
75911 2006-05-28  Karl Berry  <karl@gnu.org>
75912
75913         * config/srclist.txt (printf-args.c): lose sync.
75914
75915 2006-05-26  Martin Lambers  <marlam@marlam.de>
75916
75917         * lib/getpass.c: Updates the test for the native W32 API, and adds
75918         missing includes, thus fixing compilation warnings.
75919
75920 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
75921
75922         * lib/exclude.c (exclude_fnmatch): New function.
75923         (excluded_file_name): Call exclude_fnmatch.
75924         * lib/exclude.h (excluded_file_name): New prototype
75925
75926 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
75927
75928         * lib/tempname.c (small_open, large_open): New macros.
75929         (__open, __open64) [!_LIBC]: Remove.
75930         (__gen_tempname): Use small_open and large_open instead of __open
75931         and __open64.  This fixes a portability bug on HP-UX 11.11i
75932         reported by Simon Wing-Tang in
75933         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
75934
75935 2006-05-24  Bruno Haible  <bruno@clisp.org>
75936
75937         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
75938         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
75939         Reported by Thorsten Maerz <torte@netztorte.de> via
75940         Aaron Stone <aaron@serendipity.cx>.
75941
75942 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75943
75944         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
75945         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
75946         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
75947         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
75948         not really conditional on the cache.
75949         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
75950
75951 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75952
75953         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
75954         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
75955         (my_usleep): Don't mishandle maximum value.
75956
75957 2006-05-19  Jim Meyering  <jim@meyering.net>
75958
75959         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
75960
75961 2006-05-17  Bruno Haible  <bruno@clisp.org>
75962
75963         Cygwin portability.
75964         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
75965
75966 2006-05-17  Bruno Haible  <bruno@clisp.org>
75967
75968         * lib/stdint_.h: Fix recognition of Cygwin.
75969
75970 2006-05-15  Bruno Haible  <bruno@clisp.org>
75971
75972         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
75973         on libtool patch by Ralf Wildenhues.
75974
75975 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
75976
75977         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
75978         test for C99 conformance; (bool) 0.5 is an integer constant
75979         expression, but (bool) -0.5 is not.  Problem reported by Fedor
75980         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
75981
75982 2006-05-11  Simon Josefsson  <jas@extundo.com>
75983
75984         * m4/xvasprintf.m4: Fix obvious typo.
75985
75986 2006-05-11  Jim Meyering  <jim@meyering.net>
75987
75988         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
75989         James Lemley.
75990
75991 2006-05-10  Simon Josefsson  <jas@extundo.com>
75992
75993         * lib/md4.c: Typo fix, update copyright years.
75994         (K1, K2): Don't use L because it turn computations into 64-bit on
75995         64-bit platforms.
75996
75997 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
75998
75999         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
76000         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
76001         unwanted sign propagation, e.g., on hosts with 64-bit int.
76002         There still are some problems with reeelly weird theoretical hosts
76003         (e.g., 33-bit int) but it's not worth worrying about now.
76004         * lib/sha1.c (rol): Likewise.
76005         (K1, K2, K3, K4): Remove unnecessary L suffix.
76006
76007 2006-05-10  Bruno Haible  <bruno@clisp.org>
76008
76009         * lib/des.c: Cast to avoid warnings.
76010
76011 2006-05-09  Bruno Haible  <bruno@clisp.org>
76012
76013         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
76014         (Depends-on): Depend also on xsize, stdarg.
76015         (configure.ac): Add gl_XVASPRINTF.
76016
76017 2006-05-09  Bruno Haible  <bruno@clisp.org>
76018
76019         * m4/xvasprintf.m4: New file.
76020
76021 2006-05-09  Bruno Haible  <bruno@clisp.org>
76022
76023         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
76024         (EOVERFLOW): Define fallback value.
76025         (xstrcat): New function.
76026         (xvasprintf): Recognize the special case of a string concatenation.
76027
76028 2006-05-08  Eric Blake  <ebb9@byu.net>
76029
76030         * gnulib-tool (func_version): Base copyright year on CVS date.
76031         (func_emit_copyright_notice): New function.
76032         (func_emit_lib_Makefile_am): Use it.
76033         (func_emit_tests_Makefile_am): Likewise.
76034         (func_import): Likewise.
76035
76036 2006-05-08  Bruno Haible  <bruno@clisp.org>
76037
76038         * modules/stdarg: New file.
76039         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
76040
76041 2006-05-08  Bruno Haible  <bruno@clisp.org>
76042
76043         * m4/stdarg.m4: New file, from GNU gettext.
76044
76045 2006-05-08  Bruno Haible  <bruno@clisp.org>
76046
76047         * config/srclist.txt (build-aux/config.rpath): different from latest
76048         release.
76049
76050 2006-05-08  Bruno Haible  <bruno@clisp.org>
76051
76052         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
76053
76054 2006-05-05  Jim Meyering  <jim@meyering.net>
76055
76056         * m4/warning.m4: New file, derived from bison's file by the same name.
76057
76058 2006-05-03  Bruno Haible  <bruno@clisp.org>
76059
76060         * lib/stdint_.h: Shorter URL.
76061         * lib/inttypes.h: Likewise.
76062
76063 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76064
76065         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
76066
76067 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76068
76069         * lib/verify.h: Document the internals better.  Most of this change
76070         was written by Bruno Haible.
76071
76072 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76073
76074         * doc/verify.texi: New file, partly based on a proposal by
76075         Bruno Haible.
76076
76077 2006-05-02  Bruno Haible  <bruno@clisp.org>
76078
76079         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
76080         test from here...
76081         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
76082
76083 2006-04-29  Bruno Haible  <bruno@clisp.org>
76084
76085         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
76086         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
76087
76088 2006-04-29  Bruno Haible  <bruno@clisp.org>
76089
76090         * gnulib-tool: Make --update option actually work.
76091
76092 2006-04-29  Bruno Haible  <bruno@clisp.org>
76093
76094         * doc/gcd.texi: New file.
76095         * doc/gnulib.texi: Include it.
76096
76097 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
76098
76099         * lib/getdate.y (get_date): When adding relative date, start with the
76100         initial time, not with the result of the first mktime call.
76101
76102 2006-04-25  Bruno Haible  <bruno@clisp.org>
76103
76104         * gnulib-tool (func_import): Output the include directives in three
76105         blocks, sorted separately.
76106         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76107
76108 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76109
76110         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
76111         to define main with arguments, for C++.  Reported by Eric Blake.
76112         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
76113         Prefer 'int main ()' to 'int main (void)', for C++.
76114         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
76115         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
76116         for 'main', for C99 and C++.
76117
76118 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76119
76120         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
76121         Don't assume that exit status -1 is valid.
76122         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76123         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
76124         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
76125         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
76126         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
76127         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
76128         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
76129         functions can be used without declaring them, or that you can
76130         exit with status -1.
76131         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
76132
76133 2006-04-24  Karl Berry  <karl@gnu.org>
76134
76135         * config/srclist.txt (longdouble.m4): sync lost.
76136
76137 2006-04-24  Eric Blake  <ebb9@byu.net>
76138
76139         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
76140
76141 2006-04-24  Bruno Haible  <bruno@clisp.org>
76142
76143         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
76144         poll() implementation in AIX.
76145         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76146
76147 2006-04-24  Bruno Haible  <bruno@clisp.org>
76148
76149         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
76150         assigned exactly once.
76151
76152 2006-04-23  Claudio Fontana  <claudio@gnu.org>
76153             Bruno Haible  <bruno@clisp.org>
76154
76155         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
76156         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
76157         for AM_CPPFLAGS.
76158
76159 2006-04-23  Bruno Haible  <bruno@clisp.org>
76160
76161         * modules/copy-file: Depend on unistd.
76162         * modules/execute: Likewise.
76163         * modules/fatal-signal: Likewise.
76164         * modules/findprog: Likewise.
76165         * modules/mkdtemp : Likewise.
76166         * modules/pipe: Likewise.
76167         * modules/wait-process: Likewise.
76168
76169 2006-04-23  Bruno Haible  <bruno@clisp.org>
76170
76171         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
76172         condition was already detected.
76173         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76174
76175 2006-04-23  Bruno Haible  <bruno@clisp.org>
76176
76177         * lib/copy-file.c: Include <unistd.h> unconditionally.
76178         * lib/execute.c: Likewise.
76179         * lib/fatal-signal.c: Likewise.
76180         * lib/findprog.c: Likewise.
76181         * lib/mkdtemp.c: Likewise.
76182         * lib/pipe.h: Likewise.
76183         * lib/pipe.c: Likewise.
76184         * lib/wait-process.h: Likewise.
76185
76186 2006-04-23  Bruno Haible  <bruno@clisp.org>
76187
76188         * gnulib-tool (func_usage): Fix --import description. Document
76189         --update.
76190         (func_import): Create temporary file in a temporary directory, if
76191         --dry-run is specified. Silence errors from 'grep' when there are no
76192         m4 files in $m4dir.
76193         (func_create_testdir): Silence errors from 'grep' when there are no
76194         m4 files in $m4dir.
76195         Reported by Karl Berry <karl@freefriends.org>.
76196
76197 2006-04-20  Bruno Haible  <bruno@clisp.org>
76198
76199         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
76200         one argument, so that the code will be portable to Autoconf 2.60.
76201         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
76202         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
76203         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
76204
76205 2006-04-19  Derek Price  <derek@ximbiot.com>
76206             Eric Blake  <ebb9@byu.net>
76207
76208         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
76209         rather than "/full/path.h".  Update comment to match.  Shorten &
76210         generalize m4_translit call via AS_TR_CPP.
76211
76212 2006-04-19  Derek Price  <derek@ximbiot.com>
76213             Eric Blake  <ebb9@byu.net>
76214
76215         * lib/inttypes.h: Correct grammar in comment.
76216
76217 2006-04-18  Derek Price  <derek@ximbiot.com>
76218             Paul Eggert  <eggert@cs.ucla.edu>
76219
76220         * modules/inttypes: New file.
76221         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
76222
76223 2006-04-18  Derek Price  <derek@ximbiot.com>
76224             Paul Eggert  <eggert@cs.ucla.edu>
76225
76226         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
76227         New files.
76228
76229 2006-04-18  Derek Price  <derek@ximbiot.com>
76230             Paul Eggert  <eggert@cs.ucla.edu>
76231
76232         * lib/inttypes.h: New file.
76233         * lib/strtoimax.c: Assume <inttypes.h>.
76234
76235 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
76236
76237         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
76238         isn't mounted.  Problem reported by Kir Kolyshkin.
76239
76240 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
76241
76242         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
76243         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
76244         Derek R. Price.
76245         * lib/regex.h (RE_DUP_MAX): Update comment to match current
76246         implementation.
76247
76248 2006-04-12  Eric Blake  <ebb9@byu.net>
76249
76250         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
76251         is now done automatically by the corresponding Autoconf macro.
76252
76253 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
76254
76255         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
76256         time_r.h.
76257
76258 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76259
76260         Merge regex changes from libc, removing some of our
76261         POSIX-conformance changes that were rejected and redoing them in a
76262         less-intrusive way.
76263
76264         * lib/regcomp.c (re_compile_internal, init_dfa):
76265         Length arg is now size_t, not Idx.  All uses changed.
76266         (peek_token): Forward decl now says internal_function.
76267         (__re_error_msgid, __re_error_msgid_idx):
76268         Now static rather than extern with attribute_hidden.
76269         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
76270         For some reason libc prefers K&R style defns for external functions.
76271         (regerror) [!defined _LIBC]: Likewise.
76272         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
76273         (seek_collating_symbol_entry, lookup_collation_sequence_value):
76274         (build_range_exp, build_collating_symbol):
76275         Use K&R-style defn.
76276         (re_compile_fastmap): Use '\0' to memset, not 0.
76277         (utf8_sb_map): Make the calculations more obvious.
76278         (init_dfa, parse_bracket_exp, build_charclass_op):
76279         Call calloc and cast result, as glibc does.
76280         (init_word_char, fetch_token, peek_token, peek_token_bracket):
76281         (build_range_exp, build_collating_symbol):
76282         Now internal functions.
76283
76284         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
76285
76286         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
76287         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
76288         Don't depend on VMS; depend on __VMS instead, for POSIX
76289         namespace cleanness.
76290         (regoff_t): Define to ssize_t, not long int.
76291
76292         Remove the REG_ macros named below.  Instead, make the old names
76293         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
76294         __USE_GNU_REGEX.
76295         (REG_BACKSLASH_ESCAPE_IN_LISTS):
76296         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
76297         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
76298         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
76299         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
76300         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
76301         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
76302         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
76303         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
76304         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
76305         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
76306         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
76307         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
76308         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
76309         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
76310         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
76311         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
76312         (REG_NREGS):
76313         Remove.  All uses replaced by the old RE_* names.
76314         (RE_BACKSLASH_ESCAPE_IN_LISTS):
76315         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
76316         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
76317         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
76318         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
76319         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
76320         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
76321         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
76322         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
76323         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
76324         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
76325         Don't bother having these macros be independent of each others'
76326         values, since they no longer exist in the POSIX name space.
76327
76328         Rename the following member names back to their old names,
76329         unless !__USE_GNU_REGEX.  All uses changed back.
76330         (buffer): Renamed from re_buffer.
76331         (allocated): Renamed from re_allocated.
76332         (used): Renamed from re_used.
76333         (syntax): Renamed from re_syntax.
76334         (fastmap): Renamed from re_fastmap.
76335         (translate): Renamed from re_translate.
76336         (can_be_null): Renamed from re_can_be_null.
76337         (regs_allocated): Renamed from re_regs_allocated.
76338         (fastmap_accurate): Renamed from re_fastmap_accurate.
76339         (no_sub): Renamed from re_no_sub.
76340         (not_bol): Renamed from re_not_bol.
76341         (not_eol): Renamed from re_not_eol.
76342         (newline_anchor): Renamed from re_newline_anchor.
76343         (num_regs): Renamed from rm_num_regs.
76344         (start): Renamed from rm_start.
76345         (end): Renamed from rm_end.
76346
76347         (free_state): Move up a bit.
76348
76349         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
76350         #define to be empty.
76351         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
76352         when that is what is intended.
76353         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
76354         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
76355         (MAX): New macro.
76356         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
76357         All uses changed back to re_malloc, etc.  It's now the caller's
76358         responsibility to check for overflow; all callers changed.
76359         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
76360         (re_x2nrealloc): Remove.
76361         (free_state): Remove decl.
76362
76363         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
76364         (re_set_registers, re_exec):
76365         Use K&R-style defn.
76366
76367         2006-01-31  Roland McGrath  <roland@redhat.com>
76368
76369         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
76370         Reported by Mike Frysinger <vapier@gentoo.org>.
76371
76372         2006-01-15  Andreas Jaeger  <aj@suse.de>
76373
76374         [BZ #1950]
76375         * lib/regex_internal.c (re_string_reconstruct): Adjust for
76376         build_wcs_upper_buffer change.
76377         (build_wcs_upper_buffer): Change return type.
76378
76379         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
76380
76381         * lib/regex_internal.h: Include <stdint.h> if available.
76382
76383         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
76384
76385         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
76386
76387         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
76388
76389         * lib/regcomp.c: Adjust for changed secondary hash function.
76390
76391         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
76392
76393         * lib/regex.h: Pretty printing.
76394         Clean up namespace a bit.
76395
76396         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
76397
76398         * lib/regexec.c (update_cur_sifted_state, check_arrival,
76399         check_arrival_add_next_nodes): Avoid using uninitialized variable.
76400
76401         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
76402                     Ulrich Drepper  <drepper@redhat.com>
76403
76404         [BZ #1302]
76405         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
76406         changed.
76407         (bitset_word_t): Renamed from bitset_word.  All uses changed.
76408
76409         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
76410
76411         [BZ #281]
76412         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
76413         * lib/regcomp.c: Remove unnecessary uses of
76414         unsigned RE_TRANSLATE_TYPE.
76415         * lib/regex_internal.h: Likewise.
76416         * lib/regex_internal.c: Likewise.
76417         * lib/regexec.c: Likewise.
76418         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
76419
76420         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
76421
76422         * lib/regexec.c (find_recover_state): Remove unnecessary
76423         initialization.
76424         (transit_state_bkref): Make DFA a const pointer.
76425         (get_subexp): Likewise.
76426         (check_arrival): Likewise.
76427         (update_cur_sifted_state): Likewise.
76428         (re_search_internal): Likewise.
76429         (prune_impossible_nodes): Likewise.
76430         (acquire_init_state_context): Likewise.
76431         (proceed_next_node): Likewise.
76432         (set_regs): Likewise.
76433         (free_fail_stack_return): Likewise.
76434         (check_arrival_expand_ecl): Mark DFA parameter as const.
76435         (check_arrival_expand_ecl_sub): Likewise.
76436         (check_subexp_limits): Likewise.
76437         (sub_epsilon_src_nodes):  Likewise.
76438         (add_epsilon_src_nodes):  Likewise.
76439         (merge_state_array): Likewise.
76440         (update_regs): Likewise.
76441         (build_trtable): Likewise.
76442         (sift_states_backward): Mark MCTX parameter as const.
76443         (build_sifted_states): Likewise.
76444         (update_cur_sifted_state): Likewise.
76445         (sift_states_mkref): Likewise.
76446         (check_arrival_expand_ecl): Mark eclosure as const.
76447         (check_dst_limits_calc_pos_1): Likewise.
76448         * lib/regex_internal.h (re_match_context_t): Make dfa a const
76449         pointer.
76450
76451         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
76452
76453         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
76454         (transit_state_sb): Likewise.
76455         (transit_state_mb): Likewise.
76456         (sift_states_iter_mb): Likewise.
76457         (check_arrival_add_next_nodes): Likewise.
76458         (check_node_accept_bytes): Change first parameter to pointer-to-const.
76459         [_LIBC] (re_search_2_stub): Use mempcpy.
76460
76461         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
76462         mbrtowc for very simple UTF-8 case.
76463
76464         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
76465         a pointer-to-const.
76466         (re_acquire_state_context): Likewise.
76467         * lib/regex_internal.h: Adjust prototypes.
76468
76469         * lib/regex.c: Prevent using C++ compilers.
76470
76471         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
76472         (re_acquire_state_context): Likewise.
76473
76474 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76475
76476         * modules/regex (Depends-on): Add ssize_t.
76477
76478 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76479
76480         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
76481         translation table.
76482
76483 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76484
76485         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
76486
76487 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
76488             Bruno Haible  <bruno@clisp.org>
76489
76490         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
76491         <sys/types.h> and <inttypes.h>.
76492
76493 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76494
76495         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
76496         `__error_t_defined', so argp.h will not typedef the former.
76497
76498 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
76499
76500         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
76501         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
76502         glibc names.  Even if glibc is changed to conform to POSIX, the
76503         traditional names will be available anyway, since regex depends on
76504         the extensions module.  Also, fix a longstanding typo in the
76505         implementation of Spencer ERE test #75 from grep 2.3.  Problems
76506         reported by Emanuele Giaquinta.  Also, change sense of cached
76507         variable, so that the message makes sense.
76508
76509 2006-03-24  Simon Josefsson  <jas@extundo.com>
76510
76511         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
76512         including some doc fixes.
76513         (base64_encode_alloc): Fix +1 bug on allocation failures.
76514
76515 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76516
76517         * lib/base64.c (base64_encode): Do not read past end of array with
76518         unsanitized input on systems with CHAR_BIT > 8.
76519
76520 2006-03-24  Eric Blake  <ebb9@byu.net>
76521
76522         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
76523
76524 2006-03-22  Karl Berry  <karl@gnu.org>
76525
76526         * config/srclist.txt (*setenv.[ch]): get from coreutils.
76527         * config/srclistvars.sh (COREUTILS): new var.
76528
76529 2006-03-17  Jim Meyering  <jim@meyering.net>
76530
76531         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
76532         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
76533
76534 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76535
76536         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
76537         no longer needs it.  Instead, check that regoff_t is as least
76538         as wide as ptrdiff_t.
76539
76540         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
76541         so that our regex.h stays compatible with the installed regex.
76542         This is helpful for installers who configure --without-included-regex.
76543         Problem reported by Emanuele Giaquinta.
76544
76545 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76546
76547         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
76548         Typedef to long int, not to off_, as POSIX will likely change
76549         in that direction.
76550
76551 2006-03-15  Eric Blake  <ebb9@byu.net>
76552
76553         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
76554
76555 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76556
76557         * lib/argp-help.c (validate_uparams): Fix typo
76558         * lib/argp-parse.c (argp_default_options): Consistently begin help
76559         messages with a lowercase letter.
76560
76561 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
76562
76563         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
76564         overrun buffers and shouldn't be used (much as gets shouldn't be
76565         used).
76566         * lib/time_r.c (asctime_r, ctime_r): Likewise.
76567
76568 2006-03-08  Simon Josefsson  <jas@extundo.com>
76569
76570         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
76571         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76572
76573 2006-03-08  Simon Josefsson  <jas@extundo.com>
76574
76575         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
76576         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76577
76578 2006-03-08  Simon Josefsson  <jas@extundo.com>
76579
76580         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
76581         signal that configure disabled the device.
76582
76583 2006-03-08  Simon Josefsson  <jas@extundo.com>
76584
76585         * build-aux/maint.mk: Fix refresh-po, to handle no translated
76586         languages.
76587
76588 2006-03-07  Simon Josefsson  <jas@extundo.com>
76589
76590         * modules/getopt (Depends-on): Add unistd.
76591
76592         * modules/unistd: New file.
76593
76594 2006-03-07  Simon Josefsson  <jas@extundo.com>
76595
76596         * modules/gc-random: New file.
76597
76598 2006-03-07  Simon Josefsson  <jas@extundo.com>
76599
76600         * m4/unistd_h.m4: New file.
76601
76602 2006-03-07  Simon Josefsson  <jas@extundo.com>
76603
76604         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
76605         test to be side-effect free by storing the result in the cache
76606         variable gl_cv_lib_readline, and moving the assignment of
76607         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
76608         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76609
76610 2006-03-07  Simon Josefsson  <jas@extundo.com>
76611
76612         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
76613         error on missing devices (the functions will return an error).
76614
76615         * m4/gc.m4: Move random stuff to gc-random.m4
76616
76617 2006-03-07  Simon Josefsson  <jas@extundo.com>
76618
76619         * lib/unistd_.h: New file.
76620
76621 2006-03-07  Simon Josefsson  <jas@extundo.com>
76622
76623         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
76624
76625 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76626
76627         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
76628         Problem reported by Juan Manuel Guerrero.
76629
76630 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76631
76632         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
76633         the unistd module.
76634         * lib/getlogin_r.c: Likewise.
76635         * lib/getlogin_r.h: Likewise.
76636         * lib/glob.c: Likewise.
76637         * lib/pagealign_alloc.c: Likewise.
76638         * lib/unistd_.h: Remove; no longer needed.
76639
76640 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76641
76642         * MODULES.html.sh (Support for systems lacking POSIX:2001):
76643         Add unistd.
76644         * modules/c-stack (Depends-on): Add unistd.
76645         * modules/getlogin_r: Likewise.
76646         * modules/glob: Likewise.
76647         * modules/pagealign_alloc: Likewise.
76648         * modules/unistd (Files): Remove lib/unistd_.h.
76649         (EXTRA_DIST): Remove.
76650         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
76651         need unistd_.h.
76652         (MOSTLYCLEANFILES): Remove unistd.h-t.
76653
76654 2006-03-03  Simon Josefsson  <jas@extundo.com>
76655
76656         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
76657
76658 2006-03-03  Simon Josefsson  <jas@extundo.com>
76659
76660         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
76661         libidn and bison.
76662
76663 2006-03-03  Simon Josefsson  <jas@extundo.com>
76664
76665         * build-aux/maint.mk: Add indent target.
76666
76667 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
76668
76669         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
76670         our replacement poll.h in any case, to avoid a differing
76671         declaration from a system header.  Seen on AIX.
76672
76673 2006-03-01  Simon Josefsson  <jas@extundo.com>
76674
76675         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
76676         <kasal@ucw.cz>.
76677
76678 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76679
76680         * modules/gettime (Depends-on): Add extensions module.
76681         * modules/nanosleep (Depends-on): Likewise.
76682         * modules/settime (Depends-on): Likewise.
76683
76684 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76685
76686         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
76687         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
76688         pedantically.
76689         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76690         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
76691
76692         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
76693         not "==".  Reported by Ralf Wildenhues.
76694
76695 2006-03-01  Karl Berry  <karl@gnu.org>
76696
76697         * doc/Copyright/request-*: new files, synced from gnuorg.
76698
76699 2006-03-01  Karl Berry  <karl@gnu.org>
76700
76701         * config/srclist.txt (Copyright/*): new entries.
76702
76703 2006-02-28  Simon Josefsson  <jas@extundo.com>
76704
76705         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
76706
76707 2006-02-27  Simon Josefsson  <jas@extundo.com>
76708
76709         * lib/base64.h: Indent #define's.  From Jim Meyering
76710         <jim@meyering.net>.
76711
76712 2006-02-27  Jim Meyering  <jim@meyering.net>
76713
76714         Revert the change of 2006-02-24, so these files can continue
76715         to be sync'd from gettext.
76716         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
76717         of `config.h'.
76718
76719 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
76720
76721         * modules/intprops: New file.
76722         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76723         Add intprops.
76724         * modules/getloadavg (Files): Remove lib/intprops.h.
76725         (Depends-on): Add intprops.
76726         * modules/human: Likewise.
76727         * modules/inttostr: Likewise.
76728         * modules/openat: Likewise.
76729         * modules/sig2str: Likewise.
76730         * modules/userspec: Likewise.
76731         * modules/utimecmp: Likewise.
76732         * modules/xnanosleep: Likewise.
76733         * modules/xstrtol: Likewise.
76734
76735 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
76736
76737         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
76738         * modules/lock-tests (TESTS): Use $(EXEEXT).
76739         * modules/tls-tests: Likewise.
76740         * modules/argp-tests: Likewise.
76741         (check_PROGRAMS): New var, replacing...
76742         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
76743
76744 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76745
76746         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
76747         `config.h'.
76748
76749 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
76750
76751         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
76752
76753 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76754
76755         Sync from coreutils.
76756         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
76757         gl_CHDIR_SAFER.
76758
76759 2006-02-22  Jim Meyering  <jim@meyering.net>
76760
76761         Sync from coreutils.
76762         * m4/chdir-safer.m4: New file.
76763
76764 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
76765
76766         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
76767         AT_FDCWD exceeds INT_MAX.
76768         * lib/openat.h (AT_FDCWD): Likewise.
76769
76770 2006-02-17  Eric Blake  <address@hidden>
76771
76772         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
76773
76774 2006-02-16  Simon Josefsson  <jas@extundo.com>
76775
76776         * modules/getaddrinfo (Depends-on): Add sys_socket.
76777
76778 2006-02-15  Simon Josefsson  <jas@extundo.com>
76779
76780         * build-aux/maint.mk: Add dsyntax-check rule.
76781
76782 2006-02-15  Eric Blake  <ebb9@byu.net>
76783
76784         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
76785         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
76786         'present but cannot compile' warnings on cygwin.
76787         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
76788         use ws2tcpip.h if sys/socket.h works.
76789         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
76790         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
76791
76792 2006-02-14  Simon Josefsson  <jas@extundo.com>
76793
76794         * modules/maintainer-makefile (Files): Rename.
76795
76796         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
76797         and (the local) Makefile.cfg to maint-cfg.mk.
76798
76799         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
76800         to the latter.
76801
76802         * modules/maintainer-makefile: New module.
76803
76804         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
76805         severaly stripped to make it possible to build it up from scratch
76806         with reliable tests.
76807
76808         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
76809         fixes to permit overriding the default actions when configure and
76810         makefile are not available.
76811
76812 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
76813
76814         Sync from coreutils.
76815         * modules/lstat (Depends-on): Don't depend on xalloc.
76816         (License): Change from GPL to LGPL, since this is now simply a
76817         replacement for a libc function.
76818
76819 2006-02-14  Jim Meyering  <jim@meyering.net>
76820
76821         Sync from coreutils.
76822
76823         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
76824         failure on deficient systems, and simplify gnulib lgpl dependencies.
76825         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
76826         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
76827
76828         * lib/xalloc-die.c: Remove unused definition of N_.
76829
76830 2006-02-14  Jim Meyering  <jim@meyering.net>
76831
76832         Sync from coreutils.
76833         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
76834         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
76835         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
76836         double-quote uses of that variable, to accommodate the rare case in
76837         which getmntent is available in none of the libraries checked.  This
76838         happens at least on FreeBSD 5.0.
76839
76840 2006-02-13  Simon Josefsson  <jas@extundo.com>
76841
76842         * gnulib-tool (Usage): Fix --import, from
76843         karl@freefriends.org (Karl Berry).
76844
76845 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76846
76847         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
76848
76849 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
76850
76851         * lib/argp-namefrob.h: Restore changes accidentally lost during the
76852         "autoupdate" on 2005-12-12.
76853
76854 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76855
76856         * modules/closeout (Depends-on): Remove atexit.
76857
76858 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76859
76860         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
76861         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
76862
76863 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
76864
76865         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
76866         __EXTENSIONS__ if this causes compilation to fail.  Problem
76867         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
76868         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
76869
76870 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
76871
76872         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
76873         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
76874         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
76875         All uses changed.
76876
76877 2006-01-26  Simon Josefsson  <jas@extundo.com>
76878
76879         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
76880         prototype is visible on mingw32.
76881
76882         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
76883         for mingw32.
76884
76885         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
76886         mingw32).
76887
76888 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
76889
76890         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
76891         attempt to open for write; this always fails, at least on POSIX
76892         hosts.  This reinstates the 2006-01-09 change, which was
76893         inadvertently removed.
76894
76895 2006-01-26  Bruno Haible  <bruno@clisp.org>
76896
76897         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
76898         Reported by Paul Eggert.
76899
76900 2006-01-26  Bruno Haible  <bruno@clisp.org>
76901             Paul Eggert  <eggert@cs.ucla.edu>
76902
76903         * lib/stdbool_.h (_Bool)
76904         [(! (defined __cplusplus || defined __BEOS__)
76905           && !defined __GNUC__
76906           && !(defined __HP_cc || defined __xlc__
76907                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
76908                || defined __sgi))]:
76909         #define to signed char in these cases too; this simplifies
76910         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
76911         etc., separately) and makes it more conservative.
76912
76913 2006-01-25  Simon Josefsson  <jas@extundo.com>
76914
76915         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
76916         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
76917         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
76918
76919 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76920
76921         * lib/argp-namefrob.h: Bugfix. Remove stray #
76922
76923 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
76924
76925         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
76926         so that we test the test.
76927         Check for yet another HP-UX cc bug involving *bool |= bool.
76928
76929 2006-01-25  Karl Berry  <karl@gnu.org>
76930
76931         * config/srclist.txt (vasnprintf.c): sync lost.
76932
76933 2006-01-25  Jim Meyering  <jim@meyering.net>
76934
76935         Sync from the stable (b5) branch of coreutils:
76936
76937         * lib/fts.c (fts_children): Don't let close() clobber errno from
76938         failed fchdir().
76939
76940         * lib/fts.c (fts_stat): When following a symlink-to-directory,
76941         don't necessarily interpret stat-fails+lstat-succeeds as indicating
76942         a dangling symlink.  That can also happen at least for ELOOP.
76943         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
76944         FYI, this bug predates the inclusion of fts.c in coreutils.
76945
76946         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
76947         in their own block, so pre-c99 compilers don't object.
76948
76949         Avoid the double-free (first in fts_read, second in fts_close) that
76950         would occur when an `active' directory is made inaccessible (e.g.,
76951         via chmod a-x) during a traversal.
76952         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
76953         before returning.  Reproduce this failure by
76954         mkdir -p a/b; cd a; chmod a-x . b
76955         Reported by Stavros Passas.
76956
76957 2006-01-25  Jim Meyering  <jim@meyering.net>
76958
76959         * lib/fileblocks.c: Remove more useless parentheses.
76960         * lib/readutmp.h: Likewise.
76961
76962 2006-01-25  Bruno Haible  <bruno@clisp.org>
76963
76964         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
76965         warnings.
76966         Reported by Paul Eggert.
76967
76968 2006-01-25  Bruno Haible  <bruno@clisp.org>
76969
76970         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
76971         rid of a trap command. For Solaris sh.
76972         Reported by Mark D. Baushke <mdb@gnu.org>.
76973
76974 2006-01-24  Simon Josefsson  <jas@extundo.com>
76975
76976         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
76977         Bruno.
76978
76979 2006-01-24  Karl Berry  <karl@gnu.org>
76980
76981         * config/srclist.txt (argp-namefrob.h): sync lost.
76982
76983 2006-01-24  Jim Meyering  <jim@meyering.net>
76984
76985         * modules/openat (Files): Add lib/intprops.h.
76986         From Mark D. Baushke.
76987
76988 2006-01-24  Jim Meyering  <jim@meyering.net>
76989
76990         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
76991         Reported by Mark D. Baushke.
76992
76993 2006-01-24  Jim Meyering  <jim@meyering.net>
76994
76995         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
76996
76997 2006-01-24  Bruno Haible  <bruno@clisp.org>
76998
76999         * modules/strnlen (Maintainer): Change from glibc to all.
77000
77001 2006-01-24  Bruno Haible  <bruno@clisp.org>
77002
77003         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
77004         Patch by Paul Eggert.
77005
77006 2006-01-24  Bruno Haible  <bruno@clisp.org>
77007
77008         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
77009         already has it.
77010         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
77011         2005-11-26.
77012
77013         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
77014         'signed char' to avoid problems with the built-in _Bool type.
77015         Reported by Paul Eggert on 2005-11-26.
77016
77017 2006-01-24  Bruno Haible  <bruno@clisp.org>
77018
77019         * gnulib-tool (func_import): Avoid constructing complicated sed
77020         expressions inside backquote.
77021         Report and solution by Mark D. Baushke <mdb@gnu.org>.
77022
77023 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
77024
77025         These changes imported from libc.
77026         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
77027         test and two separate function calls.
77028         * lib/strndup.c (__strndup): Add libc_hidden_def.
77029
77030 2006-01-23  Simon Josefsson  <jas@extundo.com>
77031
77032         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
77033         Remove the test_*_SOURCES variable: automake infers it by default.
77034         * modules/tls-tests: Likewise.
77035
77036 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77037
77038         Work around porting bugs reported by Dieter in
77039         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
77040         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
77041         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
77042         Include "getopt.h" first, to check interface.
77043         (getenv): Declare only if defined HAVE_DECL_GETENV &&
77044         !HAVE_DECL_GETENV.
77045         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
77046         (__strndup): Revert to K&R-style function dfns, the glibc style.
77047         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
77048         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
77049         Include strnlen.h first, to get prototype properly.
77050         (strnlen): Renamed from __strnlen.
77051         Remove weak alias.
77052
77053 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77054
77055         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
77056
77057 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77058
77059         * config/srclist.txt: Adjust to reflect glibc reorganization.
77060         This affects only comments.
77061
77062 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77063
77064          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
77065          Reported by Bruce Korb <bkorb@gnu.org>.
77066
77067 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
77068
77069         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
77070         to pacify gcc -Wswitch-default.
77071
77072 2006-01-22  Bruno Haible  <bruno@clisp.org>
77073
77074         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
77075         temporary buffer for sprintf, take into account the precision also
77076         for 'd', 'i', 'u', 'o', 'x', 'X'.
77077
77078 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77079
77080         * modules/argp-tests: New module
77081         * tests/test-argp.c: New file
77082         * tests/test-argp-2.sh: New file
77083
77084 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77085
77086         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
77087         (__argp_base_name): Removed
77088         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
77089         typo.
77090         (__argp_base_name): Provide macro definition or extern declaration
77091         depending on the configuration
77092
77093 2006-01-20  Simon Josefsson  <jas@extundo.com>
77094
77095         * modules/inet_ntop (Depends-on): Depend on sys_socket.
77096
77097 2006-01-20  Simon Josefsson  <jas@extundo.com>
77098
77099         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
77100
77101 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77102
77103         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
77104         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
77105         Suggested by Bruno Haible.
77106
77107 2006-01-20  Karl Berry  <karl@gnu.org>
77108
77109         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
77110         until changes propagate, I guess.
77111
77112 2006-01-19  Simon Josefsson  <jas@extundo.com>
77113
77114         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
77115
77116 2006-01-19  Simon Josefsson  <jas@extundo.com>
77117
77118         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
77119
77120 2006-01-19  Simon Josefsson  <jas@extundo.com>
77121
77122         * gnulib-tool: Set check_PROGRAMS.
77123
77124         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77125         modules/des-tests, modules/gc-arcfour-tests,
77126         modules/gc-arctwo-tests, modules/gc-des-tests,
77127         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77128         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77129         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77130         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77131         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77132         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
77133         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
77134         test_*_SOURCES.
77135
77136 2006-01-18  Simon Josefsson  <jas@extundo.com>
77137
77138         * modules/socklen (Depends-on): Depend on sys_socket.
77139
77140 2006-01-18  Simon Josefsson  <jas@extundo.com>
77141
77142         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77143         modules/des-tests, modules/gc-arcfour-tests,
77144         modules/gc-arctwo-tests, modules/gc-des-tests,
77145         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77146         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77147         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77148         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77149         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77150         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
77151         $(EXEEXT) to automake TESTS variable, for mingw32.
77152
77153 2006-01-17  Simon Josefsson  <jas@extundo.com>
77154
77155         * modules/socklen (Include): Need sys/socket.h.
77156
77157 2006-01-17  Bruno Haible  <bruno@clisp.org>
77158
77159         * modules/ssize_t (Include): Add <sys/types.h>.
77160
77161 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
77162
77163         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
77164         it's not portable and it doesn't work with cross-compiles.
77165         Problem reported by Bruno Haible.  Fix missing-$ typo in
77166         'test "gl_cv_ignore_unused_libraries" ...' that prevented
77167         -zignore from being used with Sun's C compiler.
77168
77169 2006-01-12  Simon Josefsson  <jas@extundo.com>
77170
77171         * lib/base64.c: Fix warning, reported by Bruno Haible
77172         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
77173
77174 2006-01-12  Bruno Haible  <bruno@clisp.org>
77175
77176         * modules/ldd: New file.
77177         * build-aux/ldd.sh.in: New file.
77178         * MODULES.html.sh (Support for building libraries and executables): Add
77179         ldd.
77180
77181 2006-01-12  Bruno Haible  <bruno@clisp.org>
77182
77183         * m4/ldd.m4: New file.
77184
77185 2006-01-12  Bruno Haible  <bruno@clisp.org>
77186
77187         * gnulib-tool (func_import, func_create_testdir): Don't go into an
77188         endless loop while replacing $auxdir with build-aux.
77189
77190 2006-01-11  Simon Josefsson  <jas@extundo.com>
77191
77192         * lib/stdint_.h (SIZE_MAX): Add missing (.
77193
77194 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
77195
77196         Sync from coreutils.
77197         * lib/md5.c: Fix commentary typos.
77198         (alignof, UNALIGNED_P): No need for a GCC-specific version.
77199         * lib/md5.h (__attribute__): Remove; unused.
77200         * lib/sha1.c: Fix commentary to match md5 better.
77201         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
77202         so that we don't need to worry about alignment.  All uses changed.
77203         This merges the 2005-10-28 md5 change into sha1.
77204
77205 2006-01-11  Jim Meyering  <jim@meyering.net>
77206
77207         Sync from coreutils.
77208         * lib/md5.c (OP): Fix spacing.
77209
77210 2006-01-11  Bruno Haible  <bruno@clisp.org>
77211
77212         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77213         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
77214         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
77215
77216 2006-01-11  Bruno Haible  <bruno@clisp.org>
77217
77218         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77219         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
77220         the "early" section as well.
77221
77222 2006-01-11  Bruno Haible  <bruno@clisp.org>
77223
77224         Avoid "ar: no archive members specified" error on MacOS X.
77225         * gnulib-tool (func_modules_add_dummy): New function.
77226         (func_import, func_create_testdir): Invoke it.
77227
77228 2006-01-11  Bruno Haible  <bruno@clisp.org>
77229
77230         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
77231         with $auxdir in AC_CONFIG_FILES statements.
77232
77233 2006-01-11  Bruno Haible  <bruno@clisp.org>
77234
77235         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77236         Initialize also noinst_HEADERS to empty.
77237
77238 2006-01-11  Bruno Haible  <bruno@clisp.org>
77239
77240         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
77241         variables.
77242         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
77243         autoreconf.
77244
77245 2006-01-11  Bruno Haible  <bruno@clisp.org>
77246
77247         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
77248         overridable by the user.
77249         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77250
77251 2006-01-10  Simon Josefsson  <jas@extundo.com>
77252
77253         * modules/sys_socket: New file.
77254
77255 2006-01-10  Simon Josefsson  <jas@extundo.com>
77256
77257         * m4/sys_socket_h.m4: New file.
77258
77259 2006-01-10  Simon Josefsson  <jas@extundo.com>
77260
77261         * lib/socket_.h: New file.
77262
77263 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77264
77265         * modules/readutmp (Maintainer): Add myself.
77266
77267 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77268
77269         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
77270         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
77271         People who are still concerned with buggy memcmp implementations
77272         can invoke gl_FUNC_MEMCMP themselves.
77273
77274 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77275
77276         * lib/regex_internal.h (BITSET_WORD_BITS):
77277         Work around a bug in 64-bit PGC (before version 6.1-2), where the
77278         preprocessor mishandles large unsigned values as if they were signed.
77279         Problem reported by Claudio Fontana in
77280         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
77281
77282 2006-01-10  Jim Meyering  <jim@meyering.net>
77283
77284         Avoid the double-free (first in fts_read, second in fts_close) that
77285         would occur when an `active' directory is made inaccessible (e.g.,
77286         via chmod a-x) during a traversal.
77287         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77288         before returning.  Reproduce this failure by
77289         mkdir -p a/b; cd a; chmod a-x . b
77290         Reported by Stavros Passas.
77291
77292         Sync from coreutils.
77293         * lib/sha1.c: Tweak grammar in a comment.
77294
77295 2006-01-10  Jim Meyering  <jim@meyering.net>
77296
77297         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
77298         Patch by Joerg Sonnenberger.
77299
77300 2006-01-10  Bruno Haible  <bruno@clisp.org>
77301
77302         * modules/readutmp: Depend on module free.
77303         * modules/strtok_r: Depend on module restrict.
77304
77305 2006-01-10  Bruno Haible  <bruno@clisp.org>
77306
77307         * modules/gettext (configure.ac): Add an invocation of
77308         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
77309
77310 2006-01-10  Bruno Haible  <bruno@clisp.org>
77311
77312         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
77313         Reported by Werner Lemberg <wl@gnu.org>.
77314
77315 2006-01-10  Bruno Haible  <bruno@clisp.org>
77316
77317         * lib/localcharset.c: Update from GNU gettext.
77318
77319 2006-01-10  Bruno Haible  <bruno@clisp.org>
77320
77321         * lib/argp.h (__const): Remove macro. Use const instead.
77322         * lib/argp-fmtstream.h (__const): Likewise.
77323         * lib/glob_.h (__const): Remove macro.
77324         * lib/glob-libc.h: Use const instead of __const.
77325
77326 2006-01-10  Bruno Haible  <bruno@clisp.org>
77327
77328         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
77329         variable.
77330         Needed to avoid an automake error regarding the 'gettext' module.
77331
77332 2006-01-09  Simon Josefsson  <jas@extundo.com>
77333
77334         * modules/inet_ntop (Depends-on): Add restrict.
77335
77336 2006-01-09  Simon Josefsson  <jas@extundo.com>
77337
77338         * modules/gc-rijndael-tests (License): Put under LGPL.
77339
77340         * modules/gc-des-tests (License): Likewise.
77341
77342         * modules/gc-arcfour-tests (License): Likewise.
77343
77344         * modules/gc-arctwo-tests (License): Likewise.
77345
77346         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
77347
77348         * modules/gc-hmac-sha1-tests (Files): Likewise.
77349
77350         * modules/gc-hmac-md5-tests (License): Likewise.
77351
77352         * modules/gc-sha1-tests (License): Likewise.
77353
77354         * modules/gc-md5-tests (License): Likewise.
77355
77356         * modules/gc-md4-tests (License): Likewise.
77357
77358         * modules/gc-md2-tests (License): Likewise.
77359
77360         * modules/gc-tests (License): Likewise.
77361
77362         * modules/des-tests (License): Likewise.
77363
77364         * modules/md4-tests (License): Likewise.
77365
77366         * modules/md2-tests (License): Likewise.
77367
77368 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77369
77370         Sync from coreutils:
77371
77372         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
77373         * modules/lib-ignore: New file.
77374         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
77375         chdir-safer.m4, lchmod.m4.
77376         * modules/openat: Add mkdirat.c, openat-priv.h.
77377
77378 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77379
77380         Sync from coreutils.
77381         * m4/lib-ignore.m4: New file.
77382         * m4/lchmod.m4: New file.
77383
77384 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77385
77386         Sync from coreutils.
77387         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
77388         for write access: POSIX says that must fail.
77389         * lib/fts.c (diropen): Likewise.
77390         * lib/save-cwd.c (save_cwd): Likewise.
77391         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
77392         well, for minor improvements on hosts that lack O_DIRECTORY.
77393         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
77394         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
77395         Fall back on chown if open failed with EACCES.
77396
77397         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
77398         Report an error at compile-time if only a 1-second nominal clock
77399         resolution is found.
77400
77401         * lib/lchmod.h: New file.
77402         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
77403         (make_dir_parents): Use lchown rather than chown, and
77404         lchmod rather than chmod.
77405
77406         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
77407         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
77408         "proc" reported by n0dalus.
77409
77410         * lib/mountlist.c: Include <limits.h>.
77411         (dev_from_mount_options)
77412         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
77413         New function.  It no longer assumes "dev=" has the System V meaning
77414         on Linux (since it doesn't).  It also parses "dev=" more carefully.
77415         (read_file_system_list)
77416         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
77417         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
77418         dev= in that case.
77419
77420         * lib/posixtm.h (PDS_PRE_2000): New macro.
77421         * lib/posixtm.c (year): Arg is now syntax_bits rather than
77422         allow_century.  All usages changed.  Reject dates outside the range
77423         1969-1999 if PDS_PRE_2000 is used.
77424
77425 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77426
77427         Sync from coreutils.
77428         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
77429         (Time of day items): Mention the possibility of leap seconds.
77430         Problem reported by Dr. David Alan Gilbert.
77431
77432 2006-01-09  Jim Meyering  <jim@meyering.net>
77433
77434         Sync from coreutils.
77435
77436         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
77437
77438         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
77439
77440         * lib/modechange.c (mode_compile): Reject an invalid mode string
77441         that starts with an octal digit.  From Andreas Gruenbacher.
77442
77443         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
77444         and dup to open_safer and dup_safer, respectively.
77445         (openat_permissive): Fix typo in comment.
77446
77447         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
77448         "gettext.h"; either no longer needed or are guaranteed by openat.h.
77449         (_): Remove; no longer needed.
77450         (openat): Renamed from rpl_openat; no need for rpl_openat
77451         since openat.h renames openat for us.
77452         Replace most of the body with a call to openat_permissive,
77453         to avoid duplicate code.
77454         Port to (probably hypothetical) environments were mode_t is
77455         wider than int.
77456         (openat_permissive): Require mode arg, so that we can check
77457         types better.  Put it just after flags.  Change cwd failure
77458         indicator from pointer-to-bool to pointer-to-errno-value.
77459         All callers changed.
77460         Invoke openat_save_fail and/or openat_restore_fail if
77461         cwd_errno is null, so that openat can call us.
77462         (openat_permissive, fdopendir, fstatat, unlinkat):
77463         Simplify errno handling to avoid some duplicate code,
77464         as it's OK to set errno on success.
77465         * lib/openat.h: Revamp code so that function macros depend on
77466         __OPENAT_PREFIX only, not also on AT_FDCWD.
77467         (openat_ro): Remove.  Caller changed to use openat_permissive.
77468         (openat_permissive): Now a macro, if not a function.
77469         (openat_restore_fail, openat_save_fail): Now always functions,
77470         since mkdirat needs them even if __OPENAT_PREFIX is defined.
77471
77472         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
77473         and openat.c.
77474         * lib/mkdirat.c: Include openat-priv.h.
77475         Remove definitions of macros defined therein.
77476         * lib/openat.c: Likewise.
77477
77478         * lib/mkdirat.c (mkdirat): New file and function.
77479         * lib/openat.h (mkdirat): Declare.
77480
77481         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
77482
77483         * lib/openat.h (openat_permissive): Declare.
77484         (openat_ro): Define.
77485
77486         * lib/openat.c (EXPECTED_ERRNO): New macro.
77487         (openat_permissive): New function -- used in remove.c rewrite.
77488         (all functions): Set errno just before returning, only if there
77489         was an actual failure.
77490         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
77491
77492         Emulate openat-family functions using Linux's procfs, if possible.
77493         Idea and some code based on Ulrich Drepper's glibc changes.
77494
77495         * lib/openat.c: (BUILD_PROC_NAME): New macro.
77496         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
77497         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
77498         before falling back on save_cwd and restore_cwd.
77499         (fdopendir, fstatat, unlinkat): Likewise.
77500
77501         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
77502         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
77503
77504         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
77505         as second argument to va_arg.  Otherwise, some versions of gcc
77506         warn that `if this code is reached, the program will abort'.
77507
77508 2006-01-09  Jim Meyering  <jim@meyering.net>
77509
77510         Sync from coreutils.
77511         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
77512         Require openat-priv.h.
77513
77514 2006-01-09  Bruno Haible  <bruno@clisp.org>
77515
77516         * modules/strnlen (Include): Use strnlen.h.
77517
77518 2006-01-09  Bruno Haible  <bruno@clisp.org>
77519
77520         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
77521
77522 2006-01-09  Bruno Haible  <bruno@clisp.org>
77523
77524         * lib/sysexit_.h (EX_OK): New macro.
77525         Suggested by Martin Lambers <marlam@marlam.de>.
77526
77527 2006-01-09  Bruno Haible  <bruno@clisp.org>
77528
77529         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
77530         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
77531
77532 2006-01-09  Bruno Haible  <bruno@clisp.org>
77533
77534         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
77535         numbers.
77536
77537 2006-01-09  Bruno Haible  <bruno@clisp.org>
77538
77539         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
77540         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
77541         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
77542         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
77543
77544 2006-01-09  Bruno Haible  <bruno@clisp.org>
77545
77546         * build-aux/javacomp.sh.in: New file, moved from lib/.
77547         * modules/javacomp-script (Files): Update.
77548         (configure.ac): Add AC_CONFIG_FILES invocation.
77549         (EXTRA_DIST): Remove variable.
77550
77551         * build-aux/javaexec.sh.in: New file, moved from lib/.
77552         * modules/javaexec (Files): Update.
77553         (configure.ac): Add AC_CONFIG_FILES invocation.
77554         (EXTRA_DIST): Remove javaexec.sh.in.
77555
77556         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
77557         * modules/csharpcomp-script (Files): Update.
77558         (configure.ac): Add AC_CONFIG_FILES invocation.
77559         (EXTRA_DIST): Remove variable.
77560
77561         * build-aux/csharpexec.sh.in: New file, moved from lib/.
77562         * modules/csharpexec (Files): Update.
77563         (configure.ac): Add AC_CONFIG_FILES invocation.
77564         (EXTRA_DIST): Remove csharpexec.sh.in.
77565
77566 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77567
77568         Sync from coreutils.
77569
77570         Add POSIX ACL support
77571         * lib/acl.h (copy_acl, set_acl): Add declarations.
77572         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
77573         systems other than Linux.
77574         (chmod_or_fchmod): New function: use fchmod when possible,
77575         and chmod otherwise.
77576         (file_has_acl): Add a POSIX ACL implementation, with a
77577         Linux-specific subcase.
77578         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
77579         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
77580         acls are unsupported.
77581         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
77582         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
77583         are unsupported.
77584
77585 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77586
77587         Sync from coreutils.
77588         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
77589
77590 2006-01-07  Bruno Haible  <bruno@clisp.org>
77591
77592         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
77593         gl_EARLY.
77594
77595 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77596
77597         * lib/strftime.c (tzname): Don't declare if it is already #defined.
77598         Problem reported for Mingw by Mark Junker.
77599
77600 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77601
77602         * README: Gnulib normally doesn't generate a tarball.
77603
77604 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
77605
77606         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
77607         long int, not int, for nanosecond counts, so that people who are
77608         used to POSIX struct timespec won't be surprised.  Reported by Jim
77609         Meyering.
77610
77611 2005-12-28  Bruno Haible  <bruno@clisp.org>
77612
77613         * build-aux/config.rpath: Update from GNU gettext.
77614
77615 2005-12-16  Jim Meyering  <jim@meyering.net>
77616
77617         * modules/fprintftime: New module.
77618         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
77619
77620 2005-12-16  Jim Meyering  <jim@meyering.net>
77621
77622         * m4/fprintftime.m4: New file.
77623
77624 2005-12-16  Jim Meyering  <jim@meyering.net>
77625
77626         * lib/fprintftime.c, lib/fprintftime.h: New files.
77627
77628 2005-12-15  Simon Josefsson  <jas@extundo.com>
77629
77630         * modules/socklen (configure.ac): Fix M4 macro name, to align with
77631         new m4/socklen.m4.
77632
77633 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77634
77635         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
77636         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
77637
77638 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77639
77640         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
77641         * lib/argp-help.c (fill_in_uparams): Check if the constructed
77642         struct uparams is valid. Fall back to the default values if it is
77643         not.
77644
77645 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77646
77647         * modules/argp (Files): Add argp-pin.c
77648         (Depends-on): dirname
77649         (lib_SOURCES): Add argp-pin.c
77650
77651 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77652
77653         * m4/argp.m4:  Check if program_invocation_name and
77654         program_invocation_short_name are declared and define appropriate
77655         macros if they are not.
77656
77657 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77658
77659         * lib/argp-help.c (__argp_base_name): New function
77660         (__argp_short_program_name): Rewrite using __argp_base_name
77661         * lib/argp-namefrob.h: Define program_invocation_name and
77662         program_invocation_short_name if requested
77663         (__argp_base_name): Add prototype
77664         * lib/argp-parse.c (argp_def): Use gettext wrappers
77665         (argp_default_parser): Use __argp_base_name
77666         * lib/argp-pin.c: New file. Defines program_invocation_name and
77667         program_invocation_short_name on systems that lack them.
77668
77669 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77670
77671         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
77672         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77673         porting problem reported by Georg Schwarz in
77674         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77675
77676 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77677
77678         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
77679         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77680         porting problem reported by Georg Schwarz in
77681         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77682
77683 2005-12-05  Bruno Haible  <bruno@clisp.org>
77684
77685         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
77686         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
77687         Reported by Mark Junker <mjscod@gmx.de>.
77688
77689 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
77690
77691         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
77692         Use implementation from Albert Chin, with some
77693         comments/corrections by Stepan Kasal and myself.
77694
77695 2005-12-02  Bruno Haible  <bruno@clisp.org>
77696
77697         * gnulib-tool (func_import): Accept GPLed build tool modules when
77698         --lgpl is given.
77699         * modules/csharpcomp-script: New file.
77700         * modules/csharpcomp: Depend on it.
77701         * modules/javacomp-script: New file.
77702         * modules/javacomp: Depend on it.
77703         Suggested by Simon Josefsson.
77704
77705 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
77706
77707         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
77708         statement, to work around an HP-UX 10.20 compiler bug reported by
77709         Peter O'Gorman.
77710
77711 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77712
77713         * modules/savedir (Depends-on): Add openat.
77714
77715 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77716
77717         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
77718         (uintmax_t) [defined uintmax_t]: Do not declare.
77719         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
77720         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
77721         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
77722         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
77723         sake of portability to weird hosts that C allows (though we don't
77724         know of any practical examples).
77725
77726         * lib/savedir.h (fdsavedir): New decl.
77727         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
77728         contains most of the former guts of savedir.
77729         (savedir): Use savedirstream.
77730         Include "openat.h".
77731
77732 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77733
77734         * modules/obstack (Files): Add m4/ulonglong.m4.
77735         Problem reported by Davide Angelocola.
77736
77737 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
77738
77739         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
77740         coreutils no longer futzes with rounding modes.
77741
77742 2005-11-14  Jim Meyering  <jim@meyering.net>
77743
77744         * lib/mkstemp-safer.c: Include <config.h>, required for possible
77745         replacement of mkstemp.
77746
77747 2005-11-10  Simon Josefsson  <jas@extundo.com>
77748
77749         * lib/readline.c: Remove EOL.
77750
77751 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77752
77753         * modules/gethrxtime (Depends-on): Add gettime.
77754
77755 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77756
77757         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
77758         or gettimeofday; no longer needed.
77759
77760 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77761
77762         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
77763         time business.
77764         (gethrxtime) [! (HAVE_NANOUPTIME
77765         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
77766         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
77767         our own approximation.
77768
77769 2005-11-08  Eric Blake  <ebb9@byu.net>
77770
77771         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77772
77773 2005-11-08  Eric Blake  <ebb9@byu.net>
77774
77775         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77776
77777 2005-11-04  Bruno Haible  <bruno@clisp.org>
77778
77779         * gnulib-tool: Implement --update mode.
77780
77781 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77782
77783         Fix porting problem reported by Theodoros V. Kalamatianos.
77784         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
77785         Don't assume that futimes failing means we must fail.
77786
77787 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77788
77789         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
77790         variables to suggest the intended function of the PATH_MAX check.
77791
77792 2005-10-30  Kean Johnston  <jkj@sco.com>
77793
77794         Trivial changes to support SCO systems.
77795         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
77796         as PATH_MAX.
77797         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
77798         where __ptr is null when no I/O is pending.
77799
77800 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
77801
77802         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
77803         leave errno alone.  Problem reported by Dmitry V. Levin.
77804
77805 2005-10-28  Simon Josefsson  <jas@extundo.com>
77806
77807         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
77808         Test more.
77809
77810         * tests/test-gc-md2.c, tests/test-md2.c: New files.
77811
77812         * modules/md2, modules/md2-tests: New files.
77813
77814 2005-10-28  Simon Josefsson  <jas@extundo.com>
77815
77816         * m4/inet_ntop.m4: More tests.
77817
77818         * m4/gc-md2.m4, md2.m4: New file.
77819
77820 2005-10-28  Simon Josefsson  <jas@extundo.com>
77821
77822         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
77823         "restrict" keywords, as per POSIX.  Protect the function
77824         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
77825         Don't use K&R prototypes.  Check the sprintf return values.
77826         Re-define EAFNOSUPPORT if not present.  Indent.
77827
77828         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
77829         suggested by Bruno Haible <bruno@clisp.org>.
77830
77831         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
77832
77833         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
77834
77835         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
77836         libgcrypt).
77837
77838         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
77839
77840         * lib/md2.h, lib/md2.c: New files.
77841
77842 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
77843
77844         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
77845         errno alone.  Problem reported by Frederic Jolliton.
77846
77847 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
77848
77849         * modules/verify (License): Change from GPL to LGPL.  This is a
77850         tiny module and there are apparently near-equivalents that are
77851         under the BSD license.
77852
77853 2005-10-24  Simon Josefsson  <jas@extundo.com>
77854
77855         * modules/sha1: Relicense to LGPL.
77856
77857 2005-10-24  Simon Josefsson  <jas@extundo.com>
77858
77859         * lib/md4.h: Shrink buffer size, now that we changed the type.
77860
77861 2005-10-23  Simon Josefsson  <jas@extundo.com>
77862
77863         * gnulib-tool (func_import): Fix --tests-base.
77864
77865 2005-10-22  Simon Josefsson  <jas@extundo.com>
77866
77867         * modules/arcfour (Depends-on): Need stdint.
77868
77869 2005-10-22  Simon Josefsson  <jas@extundo.com>
77870
77871         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
77872         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
77873
77874 2005-10-22  Simon Josefsson  <jas@extundo.com>
77875
77876         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
77877         suggested by Bruno Haible <bruno@clisp.org>.
77878
77879 2005-10-22  Simon Josefsson  <jas@extundo.com>
77880
77881         * lib/crc.h: Include stddef.h, for size_t.
77882
77883 2005-10-22  Simon Josefsson  <jas@extundo.com>
77884
77885         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
77886         arcfour_context struct (simplify test vector testing in GNU
77887         Shishi).
77888
77889 2005-10-21  Simon Josefsson  <jas@extundo.com>
77890
77891         * modules/des, modules/des-tests: New files.
77892
77893         * modules/gc-des, modules/gc-des-tests: New files.
77894
77895         * tests/test-des.c, tests/test-gc-des.c: New file.
77896
77897 2005-10-21  Simon Josefsson  <jas@extundo.com>
77898
77899         * modules/arctwo, modules/arctwo-tests: New files.
77900
77901         * tests/test-arctwo.c: New file.
77902
77903         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
77904
77905         * tests/test-gc-arctwo.c: New file.
77906
77907 2005-10-21  Simon Josefsson  <jas@extundo.com>
77908
77909         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
77910         Bruno Haible <bruno@clisp.org>.
77911
77912         * m4/gc-des.m4: New file.
77913
77914 2005-10-21  Simon Josefsson  <jas@extundo.com>
77915
77916         * m4/arctwo.m4: New file.
77917
77918         * m4/gc-arctwo.m4: New file.
77919
77920 2005-10-21  Simon Josefsson  <jas@extundo.com>
77921
77922         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
77923         block.
77924
77925 2005-10-21  Simon Josefsson  <jas@extundo.com>
77926
77927         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
77928         <bruno@clisp.org>.
77929
77930         * lib/hmac-sha1.c (hmac_sha1): Likewise.
77931
77932         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
77933         Bruno Haible <bruno@clisp.org>.
77934
77935         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
77936         <bruno@clisp.org>.
77937
77938 2005-10-21  Simon Josefsson  <jas@extundo.com>
77939
77940         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
77941
77942 2005-10-21  Simon Josefsson  <jas@extundo.com>
77943
77944         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
77945
77946 2005-10-21  Simon Josefsson  <jas@extundo.com>
77947
77948         * lib/des.h, lib/des.c: New files.
77949
77950         * lib/gc-gnulib.c: Support DES.c
77951
77952 2005-10-21  Simon Josefsson  <jas@extundo.com>
77953
77954         * lib/arctwo.h, lib/arctwo.c: New files.
77955
77956         * lib/gc-gnulib.c: Support ARCTWO.
77957
77958 2005-10-21  Simon Josefsson  <jas@extundo.com>
77959
77960         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
77961         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77962
77963 2005-10-21  Simon Josefsson  <jas@extundo.com>
77964
77965         * gnulib-tool (func_import, func_create_testdir): Define automake
77966         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
77967         Makefile.am snippet),
77968         suggested by Bruno Haible <bruno@clisp.org>.
77969
77970         * modules/gc (Makefile.am): Use it.
77971
77972 2005-10-21  Bruno Haible  <bruno@clisp.org>
77973
77974         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
77975         patch.
77976
77977 2005-10-19  Simon Josefsson  <jas@extundo.com>
77978
77979         * tests/test-gc-rijndael.c: New file.
77980
77981         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
77982
77983 2005-10-19  Simon Josefsson  <jas@extundo.com>
77984
77985         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
77986         interface too.
77987
77988 2005-10-19  Simon Josefsson  <jas@extundo.com>
77989
77990         * tests/test-gc-arcfour.c: New file.
77991
77992         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
77993
77994 2005-10-19  Simon Josefsson  <jas@extundo.com>
77995
77996         * modules/gc-md4, modules/gc-md4-tests: New file.
77997
77998         * tests/test-gc-md4.c: New file.
77999
78000 2005-10-19  Simon Josefsson  <jas@extundo.com>
78001
78002         * m4/gc-md4.m4: New file.
78003
78004 2005-10-19  Simon Josefsson  <jas@extundo.com>
78005
78006         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
78007         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
78008         <kasal@ucw.cz>.
78009
78010 2005-10-19  Simon Josefsson  <jas@extundo.com>
78011
78012         * m4/gc-arcfour.m4: New file.
78013
78014         * m4/gc-rijndael.m4: New file.
78015
78016 2005-10-19  Simon Josefsson  <jas@extundo.com>
78017
78018         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
78019
78020 2005-10-19  Simon Josefsson  <jas@extundo.com>
78021
78022         * lib/gc-gnulib.c: Support ARCFOUR.
78023
78024 2005-10-19  Simon Josefsson  <jas@extundo.com>
78025
78026         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
78027         support.
78028
78029         * lib/gc.h: Add ECB enum type.
78030
78031         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
78032
78033 2005-10-18  Simon Josefsson  <jas@extundo.com>
78034
78035         * tests/test-md5.c: New file.
78036
78037         * modules/md5-tests: New file.
78038
78039 2005-10-18  Simon Josefsson  <jas@extundo.com>
78040
78041         * tests/test-md4.c: New file.
78042
78043         * modules/md4, modules/md4-tests: New files.
78044
78045 2005-10-18  Simon Josefsson  <jas@extundo.com>
78046
78047         * m4/md4.m4: New file.
78048
78049 2005-10-18  Simon Josefsson  <jas@extundo.com>
78050
78051         * lib/md4.h, lib/md4.c: New files, based on md5.?.
78052
78053 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
78054
78055         * gnulib-tool (func_create_testdir): Omit the second check whether
78056         BUILT_SOURCES in nonempty.
78057
78058 2005-10-17  Simon Josefsson  <jas@extundo.com>
78059
78060         * tests/test-rijndael.c: New file.
78061
78062 2005-10-17  Simon Josefsson  <jas@extundo.com>
78063
78064         * modules/sha1: Depend on stdint instead of md5.
78065
78066         * modules/md5: Depend on stdint, remove uint32_t.
78067
78068 2005-10-17  Simon Josefsson  <jas@extundo.com>
78069
78070         * modules/gc-sha1-tests: New file.
78071
78072         * tests/test-gc-sha1.c: New file.
78073
78074 2005-10-17  Simon Josefsson  <jas@extundo.com>
78075
78076         * m4/md5.m4: Remove call to uint32_t.m4.
78077
78078 2005-10-17  Simon Josefsson  <jas@extundo.com>
78079
78080         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
78081
78082         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
78083         md5.h.
78084
78085         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
78086
78087         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
78088
78089 2005-10-17  Simon Josefsson  <jas@extundo.com>
78090
78091         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
78092
78093 2005-10-17  Simon Josefsson  <jas@extundo.com>
78094
78095         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
78096
78097 2005-10-17  Simon Josefsson  <jas@extundo.com>
78098
78099         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
78100
78101         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
78102
78103 2005-10-17  Bruno Haible  <bruno@clisp.org>
78104
78105         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
78106         that it can also be used in a test.
78107
78108 2005-10-16  Bruno Haible  <bruno@clisp.org>
78109
78110         * gnulib-tool (func_emit_tests_Makefile_am): Also define
78111         TESTS_ENVIRONMENT, so that individual tests can augment it.
78112
78113         * gnulib-tool (func_create_testdir): Use an intermediate target for
78114         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
78115         macros, like $(ALLOCA_H), which cannot be passed through the command
78116         line.
78117
78118 2005-10-15  Simon Josefsson  <jas@extundo.com>
78119
78120         * modules/rijndael-tests: New file.
78121
78122         * modules/rijndael: New file.
78123
78124 2005-10-15  Simon Josefsson  <jas@extundo.com>
78125
78126         * m4/rijndael.m4: New file.
78127
78128 2005-10-15  Simon Josefsson  <jas@extundo.com>
78129
78130         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
78131
78132         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
78133
78134 2005-10-14  Simon Josefsson  <jas@extundo.com>
78135
78136         * tests/test-arcfour.c: New file.
78137
78138         * modules/arcfour, modules/arcfour-tests: New files.
78139
78140 2005-10-14  Simon Josefsson  <jas@extundo.com>
78141
78142         * m4/arcfour.m4: New file.
78143
78144 2005-10-14  Simon Josefsson  <jas@extundo.com>
78145
78146         * lib/arcfour.h, lib/arcfour.c: New files.
78147
78148 2005-10-14  Roland McGrath  <roland@redhat.com>
78149
78150         Import from libc.  [BZ #1331]
78151         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
78152         macro argument.
78153         Reported by Matej Vela <vela@debian.org>.
78154
78155 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78156
78157         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
78158         include <wchar.h>; no longer needed.
78159
78160 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78161
78162         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
78163
78164 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
78165         and  Ulrich Drepper  <drepper@redhat.com>
78166
78167         Import from libc.
78168         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
78169         instead of inline stream orientation test and two separate
78170         function calls.  Pay no attention to USE_IN_LIBIO.
78171
78172 2005-10-13  Simon Josefsson  <jas@extundo.com>
78173
78174         * modules/gc-hmac-md5-tests: New file.
78175
78176         * tests/test-gc-hmac-sha1.c: New file.
78177
78178         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
78179
78180         * modules/gc-hmac-md5-tests: New file.
78181
78182         * tests/test-gc-md5.c: New file.
78183
78184         * modules/gc-md5-tests: New file.
78185
78186 2005-10-13  Simon Josefsson  <jas@extundo.com>
78187
78188         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
78189         Move memory allocation outside of loop.
78190
78191 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
78192
78193         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
78194         intermediate directory is in a read-only file system.  Problem
78195         reported by Eric Blake.
78196
78197 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
78198
78199         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
78200
78201 2005-10-12  Simon Josefsson  <jas@extundo.com>
78202
78203         * tests/test-hmac-sha1.c: New file.
78204
78205         * modules/hmac-sha1-tests: New file.
78206
78207         * modules/hmac-sha1: New file.
78208
78209 2005-10-12  Simon Josefsson  <jas@extundo.com>
78210
78211         * modules/gc-sha1: New file.
78212
78213 2005-10-12  Simon Josefsson  <jas@extundo.com>
78214
78215         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
78216
78217         * tests/test-gc-pbkdf2-sha1.c: New file.
78218
78219 2005-10-12  Simon Josefsson  <jas@extundo.com>
78220
78221         * modules/gc-md5, modules/gc-hmac-md5: New files.
78222
78223         * modules/gc (Files): Remove md5, memxor and hmac files.
78224
78225 2005-10-12  Simon Josefsson  <jas@extundo.com>
78226
78227         * m4/gc-pbkdf2-sha1.m4: New file.
78228
78229         * m4/gc-hmac-sha1.m4: New file.
78230
78231         * m4/gc-sha1: New file.
78232
78233         * m4/hmac-sha1.m4: New file.
78234
78235 2005-10-12  Simon Josefsson  <jas@extundo.com>
78236
78237         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
78238
78239         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
78240
78241 2005-10-12  Simon Josefsson  <jas@extundo.com>
78242
78243         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
78244         suggested by Bruno Haible <bruno@clisp.org>.
78245
78246 2005-10-12  Simon Josefsson  <jas@extundo.com>
78247
78248         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
78249
78250 2005-10-12  Simon Josefsson  <jas@extundo.com>
78251
78252         * lib/gc-pbkdf2-sha1.c: New file.
78253
78254         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
78255
78256 2005-10-12  Simon Josefsson  <jas@extundo.com>
78257
78258         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
78259
78260         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
78261
78262 2005-10-12  Simon Josefsson  <jas@extundo.com>
78263
78264         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
78265         GC_USE_HMAC_MD5, respectively.
78266
78267         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
78268         (gc_md5): Fix typo.
78269
78270         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
78271
78272         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
78273
78274         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
78275
78276 2005-10-12  Bruno Haible  <bruno@clisp.org>
78277
78278         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
78279         Reported by Stepan Kasal <kasal@ucw.cz>.
78280
78281 2005-10-11  Simon Josefsson  <jas@extundo.com>
78282
78283         * tests/test-crc.c: New file.
78284
78285         * modules/crc, modules/crc-tests: New files.
78286
78287 2005-10-11  Simon Josefsson  <jas@extundo.com>
78288
78289         * m4/crc.m4: New file.
78290
78291 2005-10-11  Simon Josefsson  <jas@extundo.com>
78292
78293         * lib/gc.h: Add gc_hash and gc_hash_buffer.
78294
78295         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
78296
78297         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
78298
78299 2005-10-11  Simon Josefsson  <jas@extundo.com>
78300
78301         * lib/crc.h, lib/crc.c: New files.
78302
78303         * lib/gc.h (gc_hash_buffer): Add doc.
78304
78305 2005-10-11  Bruno Haible  <bruno@clisp.org>
78306
78307         * modules/c-strcasestr: New file.
78308         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
78309
78310 2005-10-11  Bruno Haible  <bruno@clisp.org>
78311
78312         * modules/c-strcase: New file.
78313         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
78314
78315 2005-10-11  Bruno Haible  <bruno@clisp.org>
78316
78317         * lib/strcasecmp.c: Include limits.h.
78318         (strcasecmp): Avoid integer overflow on exotic platforms.
78319         * lib/strncasecmp.c: Include limits.h.
78320         (strncasecmp): Avoid integer overflow on exotic platforms.
78321         Reported by Paul Eggert.
78322
78323 2005-10-11  Bruno Haible  <bruno@clisp.org>
78324
78325         * lib/c-strcasestr.h: New file, from GNU gettext.
78326         * lib/c-strcasestr.c: New file, from GNU gettext.
78327
78328 2005-10-11  Bruno Haible  <bruno@clisp.org>
78329
78330         * lib/c-strcase.h: New file, from GNU gettext.
78331         * lib/c-strcasecmp.c: New file, from GNU gettext.
78332         * lib/c-strncasecmp.c: New file, from GNU gettext.
78333
78334 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78335
78336         * modules/mempcpy (License): GPL -> LGPL.
78337         * modules/strchrnul (License): Likewise.
78338         * modules/sysexits (License): Likewise.
78339
78340 2005-10-08  Simon Josefsson  <jas@extundo.com>
78341
78342         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
78343
78344 2005-10-07  Simon Josefsson  <jas@extundo.com>
78345
78346         * m4/memxor.m4: Remove gl_C_RESTRICT call.
78347
78348 2005-10-06  Simon Josefsson  <jas@extundo.com>
78349
78350         * tests/test-hmac-md5.c: New file.
78351
78352         * modules/hmac-md5-tests: New file.
78353
78354         * modules/hmac-md5: New file.
78355
78356 2005-10-06  Simon Josefsson  <jas@extundo.com>
78357
78358         * m4/hmac-md5.m4: New file.
78359
78360         * m4/memxor.m4: Require gl_C_RESTRICT.
78361
78362 2005-10-06  Simon Josefsson  <jas@extundo.com>
78363
78364         * lib/memxor.c (memxor): Avoid casts and warnings.
78365
78366 2005-10-06  Simon Josefsson  <jas@extundo.com>
78367
78368         * lib/hmac-md5.c: New file.
78369
78370         * lib/hmac.h: New file.
78371
78372 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78373
78374         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
78375         promotes to int, not unsigned int, to catch the AIX 5.3
78376         compiler bug.
78377
78378 2005-10-05  Simon Josefsson  <jas@extundo.com>
78379
78380         * modules/memxor: New file.
78381
78382         * modules/iconv (Files): Move config.rpath to havelib, it is used
78383         there.
78384
78385         * modules/havelib (Files): Add config.rpath.
78386
78387 2005-10-05  Simon Josefsson  <jas@extundo.com>
78388
78389         * m4/memxor.m4: New file.
78390
78391 2005-10-05  Simon Josefsson  <jas@extundo.com>
78392
78393         * lib/memxor.c (memxor): Fix compiler error.
78394
78395         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
78396         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
78397
78398         * lib/memxor.h, lib/memxor.c: New files.
78399
78400         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
78401         we assume all systems have it, suggested by Jim Meyering
78402         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
78403         any systems lack sys/socket.h; mingw32 is known to lack it, but we
78404         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
78405         same reasons.
78406
78407 2005-10-05  Simon Josefsson  <jas@extundo.com>
78408
78409         * config/srclist.txt: Add glibc bug 1423 for md5.h.
78410
78411 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
78412
78413         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
78414         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
78415         needed, since the source code now assumes these .h files.
78416
78417 2005-10-05  Derek Price  <derek@ximbiot.com>
78418
78419         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
78420
78421 2005-10-05  Bruno Haible  <bruno@clisp.org>
78422
78423         * modules/stdint (License): Change to LGPL.
78424
78425 2005-10-04  Simon Josefsson  <jas@extundo.com>
78426
78427         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
78428         D. Baushke" <mdb@gnu.org>.
78429
78430 2005-10-04  Bruno Haible  <bruno@clisp.org>
78431
78432         * lib/verify.h (verify_true): Provide alternative definition for C++.
78433
78434 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
78435
78436         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
78437         (SSIZE_MAX): New macro, if not already defined.
78438         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
78439         than 2 GiB.
78440
78441 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78442
78443         Sync from coreutils.
78444         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
78445         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
78446         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
78447         ULLONG_MAX doesn't work with 2.7.2.1.
78448
78449 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78450
78451         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
78452         From Ben Pfaff.
78453
78454         * modules/exclude (Depends-on): Depend on verify.
78455         * modules/strtoimax (Depends-on): Likewise.
78456         * modules/utimecmp (Depends-on): Likewise.
78457
78458 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78459
78460         * lib/exclude.c: Include verify.h.
78461         (verify): Remove.  All callers changed to use verify.h's version.
78462         * lib/strtoimax.c: Likewise.
78463         * lib/utimecmp.c: Likewis.e
78464
78465         Sync from coreutils.
78466         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
78467         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
78468         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
78469         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
78470         bother returning ENOSYS if settimeofday or stime fails; just let
78471         them return whatever errno they want to return.
78472         * lib/utimens.c: Include unistd.h, for dup2.
78473         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
78474         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
78475
78476 2005-10-02  Jim Meyering  <jim@meyering.net>
78477
78478         Sync from coreutils.
78479         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
78480         from glibc-2.2.5 that fails for read-only files.
78481
78482 2005-10-02  Jim Meyering  <jim@meyering.net>
78483
78484         Sync from coreutils.
78485         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
78486         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
78487         `#if HAVE_CONFIG_H'.
78488         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
78489         Remove AT_FDCWD test.
78490         Do not consume the fd unless successful.
78491         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
78492         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
78493         block, so that we don't even try to compile it if settimeofday is
78494         available.  This works around a compilation failure on OSF1 V5.1,
78495         due to stime requiring a `long int*' while tv_sec is `int'.
78496
78497 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
78498
78499         Sync from coreutils.
78500         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
78501         against `yes', rather than just testing for nonempty.
78502
78503 2005-10-01  Simon Josefsson  <jas@extundo.com>
78504
78505         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
78506         and Darwin.
78507
78508         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
78509         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
78510         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
78511         freeaddrinfo and gai_strerror are declared by the POSIX headers.
78512         Check if struct addrinfo is declared.
78513
78514 2005-10-01  Simon Josefsson  <jas@extundo.com>
78515
78516         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
78517         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
78518         AI_* and EAI_* definitions.  Protect function declarations.
78519
78520 2005-10-01  Jim Meyering  <jim@meyering.net>
78521
78522         Sync from coreutils.
78523
78524         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
78525         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
78526         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
78527         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78528         in the inet and nsl libraries.  Required on Solaris 5.7.
78529
78530 2005-10-01  Jim Meyering  <jim@meyering.net>
78531
78532         Sync from coreutils.
78533         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78534         in the inet and nsl libraries.  Required on Solaris 5.7.
78535
78536 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
78537
78538         * lib/getdelim.c (getdelim): Remove unused variables.
78539
78540 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78541
78542         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
78543         so that the code works even with ancient cpp.  Portability problem
78544         with GCC 2.7.2.1 reported by Thomas M.Ott.
78545
78546 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78547
78548         * modules/regex (Depends-on): Add strcase.
78549
78550         * modules/gethostname (Licence): Change from GPL to LGPL, since
78551         gethostname.c is a trivial implementation of a standard library
78552         function.
78553         * modules/poll (License): Change from GPL to LGPL, since it's
78554         derived from LGPL code.
78555
78556 2005-09-27  Jim Meyering  <jim@meyering.net>
78557
78558         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
78559         HAVE_CONFIG_H.
78560
78561         * lib/intprops.h (signed_type_or_expr__): Define.
78562         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
78563         for unsigned types.
78564
78565 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78566
78567         * lib/verify.h (verify_expr): Remove, replacing with:
78568         (verify_true): New macro that returns true instead of void.
78569         (verify_type__): Remove.
78570         (verify): Use verify_true rather than verify_type__.
78571
78572 2005-09-26  Bruno Haible  <bruno@clisp.org>
78573
78574         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
78575         is necessary.
78576         (lib_SOURCES): Remove mbchar.c.
78577         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
78578         (Files): Add m4/mbrtowc.m4.
78579         * modules/mbiter: Likewise.
78580         * modules/mbuiter: Likewise.
78581
78582 2005-09-26  Bruno Haible  <bruno@clisp.org>
78583
78584         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
78585         compile mbchar.c if they are not both present.
78586         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
78587         * m4/mbiter.m4 (gl_MBITER): Likewise.
78588         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
78589         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
78590         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
78591
78592 2005-09-25  Jim Meyering  <jim@meyering.net>
78593
78594         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
78595         also uses socklen_t.
78596
78597 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
78598
78599         * lib/utimens.c (ENOSYS): Define if not already defined.
78600         (futimens): Support having a null PATH if the file descriptor
78601         is nonnegative.
78602
78603         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
78604         Remove.
78605         (__attribute): Define to empty unless GCC 3.1 or later.
78606         This works around a core dump on OpenBSD 3.4, which has GCC
78607         2.95.3, which dumps core when given __attribute__(()).  It also
78608         simplifies other tests, since we really don't want to bother with
78609         worrying about which ancient version of GCC supported what.
78610         Original problem reported by Yoann Vandoorselaere, with part of
78611         the fix suggested by Derek Price.
78612
78613 2005-09-24  Jim Meyering  <jim@meyering.net>
78614
78615         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
78616         so we can once again use a positive bitfield width of 1 -- now we
78617         don't have to explain why we were using a bitfield width of 2.
78618
78619 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78620
78621         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
78622         and similarly for the other external symbols.  Problem reported
78623         by James Gallager.
78624
78625         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
78626         bug reported by Jim Meyering.
78627
78628         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
78629         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
78630         not needed, since socklen is a prerequisite module.
78631
78632 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78633
78634         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
78635         Problem reported by Eric Blake.
78636         (getaddrinfo): Initialize se so that it's not garbage.
78637         Redo internal storage allocation so that it doesn't make unportable
78638         assumptions about alignment.
78639         Fix a memory leak.
78640
78641         * lib/utimens.c (futimens): Use futimesat if available.
78642         Prefer it to futimes since it doesn't have the futimes bug.
78643
78644         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
78645         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
78646         Instead, declare a function that returns a pointer to an array,
78647         and use verify_type__ to declare the size of the array.
78648         Problem and germ of a solution reported by Bruno Haible.
78649         (verify_type__): Use 2, not 1, for bitfield size, to avoid
78650         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
78651
78652 2005-09-23  Jim Meyering  <jim@meyering.net>
78653
78654         Sync from coreutils.
78655         Correct build failure (socklen_t not defined) on at least
78656         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
78657         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
78658
78659 2005-09-23  Jim Meyering  <jim@meyering.net>
78660
78661         * modules/getaddrinfo (Depends-on): Add socklen.
78662
78663 2005-09-23  Bruno Haible  <bruno@clisp.org>
78664
78665         * tests/test-verify.c: New file.
78666
78667 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78668
78669         Sync from coreutils.
78670
78671         * modules/argmatch (Depends-on): Add verify.
78672         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
78673         unistd-safer.
78674         * modules/save-cwd (Depends-on): Likewise.
78675
78676         * modules/openat (Files): Add lib/openat-die.c.
78677         (Depends-on): Remove error, exitfail.
78678         Add dirname.
78679
78680         * modules/verify: New file.
78681         * MODULES.html.sh (Diagnostics <assert.h>): New section,
78682         with "verify" module.
78683
78684 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78685
78686         Sync from coreutils.
78687
78688         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
78689         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
78690         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
78691         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
78692         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
78693         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
78694         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
78695         Don't bother checking for string.h, stdlib.h, unistd.h.
78696         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
78697         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
78698         module's job.
78699         * m4/jm-macros.m4 (gl_MACROS): Likewise.
78700         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
78701
78702         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
78703         (gl_GETDATE): Use it.
78704
78705         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
78706
78707 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78708
78709         Sync from coreutils.
78710
78711         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
78712         stat-time.h.
78713         * lib/argmatch.h: Include verify.h
78714         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
78715         (ARGMATCH_ASSERT): Remove; unused.
78716         * lib/canonicalize.c: Assume STDC_HEADERS.
78717         * lib/exclude.c: Include "strcase.h".
78718         * lib/regex_internal.h [!defined _LIBC]: Likewise.
78719         * lib/getusershell.c: Include stdio--.h rather than stdio.h
78720         and stdio-safer.h.
78721         (getusershell): Call fopen, not fopen_safer.
78722         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
78723         Do not include unistd-safer.h.
78724         (save_cwd): Don't call fd_safer; no longer needed
78725         now that we include fcntl--.h.
78726
78727         * lib/getdate.y (relative_time): New type.
78728         (RELATIVE_TIME_0): New constant.
78729         (parser_control): Use relative_time instead of doing it ourselves.
78730         (%union): Add new relative_time rel member.
78731         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
78732         Now typeless.
78733         (relunit, relunit_snumber): Now of type rel.
78734         (zone, rel, relunit, get_date): Adjust to above changes.
78735
78736         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
78737         Do not include unistd-safer.h.
78738         (getloadavg): Don't call fd_safer; no longer needed
78739         now that we include fcntl--.h.
78740
78741         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
78742         (make_dir_parents): Treat ENOSYS like EEXIST.
78743
78744         Improve quality of diagnostics on restore_cwd failure.
78745         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
78746         (make_dir_parents): Last arg is now int * (for errno), not bool *.
78747         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
78748         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
78749         each time through the loop.  Do not diagnose restore_cwd failure;
78750         that is the caller's job (and perhaps the caller does not care).
78751
78752         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
78753         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
78754         If the file already exists but is not a directory, don't bother
78755         to try to make its parents.
78756         Close potential file descriptor leak if we can't chdir("/") (!).
78757         Don't always return true if chdir($PWD) fails; return true only
78758         if the requested action was done successfully (except for the
78759         chdir($PWD)).
78760         Don't log final directory unless we actually made it.
78761         Refactor to avoid duplicate code to fix up permissions.
78762         Don't attempt to fix up parent permissions if chdir($PWD) fails.
78763
78764         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
78765         to make it a bit faster and (I hope) clearer.
78766         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
78767         Fix bug in formats like %2N.
78768
78769         * lib/verify.h: New file.
78770
78771 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78772
78773         Sync from coreutils.
78774         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
78775
78776 2005-09-22  Jim Meyering  <jim@meyering.net>
78777
78778         Sync from coreutils.
78779
78780         * m4/lstat.m4 (gl_FUNC_LSTAT):
78781         Use AC_LIBSOURCES to require lstat.c and lstat.h.
78782         Remove obsolete comment.
78783         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
78784         * m4/xstrtod.m4: Likewise.
78785
78786         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
78787
78788 2005-09-22  Jim Meyering  <jim@meyering.net>
78789
78790         Sync from coreutils.
78791
78792         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
78793
78794         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
78795         the .tm_year member, since otherwise gcc-4.0 would now warn about
78796         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
78797
78798         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
78799         order to avoid an unsuppressible warning from gcc on 64-bit systems.
78800
78801         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
78802         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
78803         when run in a time zone for which daylight savings time is in effect
78804         for the starting date.
78805
78806         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
78807         stop us from restricting permissions of just-created absolute-named
78808         directories.
78809         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
78810         to restore initial working directory.
78811         * lib/mkdir-p.c (make_dir_parents): New parameter:
78812         different_working_dir, to tell caller if/when we change the working
78813         directory and are unable to return to the initial one.
78814         * lib/mkdir-p.h (make_dir_parents): Update prototype.
78815         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
78816         `return false'.  This fixes a bug introduced on 2004-07-30.
78817
78818         * lib/openat.c (fdopendir): Be sure to close the supplied
78819         file descriptor before returning.  This makes our replacement
78820         implementation a little closer to Solaris's, where fdopendir
78821         ties the file descriptor to the returned DIR* pointer.
78822         * lib/openat.c (unlinkat): New function.
78823         * lib/openat.h (unlinkat): Add prototype.
78824         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
78825         (openat_restore_fail): Rename from openat_restore_die.
78826         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
78827
78828         Provide an alternative to exiting immediately upon save_cwd or
78829         restore_cwd failure.  Now, an application can arrange e.g.,
78830         to perform a longjump in that case.
78831         * lib/openat.c: Include dirname.h.
78832         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
78833         (rpl_openat, fdopendir, fstatat): Call openat_save_die
78834         and openat_restore_die rather than calling error directly.
78835         Don't include "error.h" or "exitfail.h"; they're no longer needed.
78836
78837         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
78838         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
78839         define.
78840
78841         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
78842         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
78843                             int utc, int nanoseconds);
78844         Background:
78845         date should not have to allocate a megabyte of virtual memory to
78846         handle a format argument like +%1048575T.  When implemented with
78847         strftime, it must allocate such a buffer, use strftime to fill it
78848         in, print it, then free it.
78849         With fprintftime, it simply prints everything and exits.
78850         With no need for memory allocation, that's one fewer way to fail.
78851         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
78852         optional field width, not before, so we accept %9:z, not %:9z.
78853         (my_strftime): Be sure to use L_('x') for literals.
78854
78855         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
78856         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
78857         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
78858         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
78859         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
78860         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
78861         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
78862         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
78863         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
78864         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
78865         * lib/xgethostname.c, lib/xreadlink.c:
78866         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
78867
78868         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
78869         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
78870         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
78871         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
78872         and don't include <sys/file.h>).
78873
78874 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
78875
78876         Sync from coreutils.
78877
78878         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
78879         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
78880         [!LDAV_DONE]: Avoid unused variable warning.
78881
78882 2005-09-21  Bruno Haible  <bruno@clisp.org>
78883
78884         * lib/unicodeio.h (unicode_to_mb): New declaration.
78885
78886 2005-09-20  Derek Price  <derek@ximbiot.com>
78887
78888         * lib/getaddrinfo.c: Don't include <netdb.h> included from
78889         getaddrinfo.h.
78890
78891 2005-09-20  Bruno Haible  <bruno@clisp.org>
78892
78893         * gnulib-tool: Remove trailing slashes from the values specified for
78894         --source-base, --m4-base, --tests-base, --aux-dir.
78895         Suggested by Simon Josefsson <jas@extundo.com>.
78896
78897 2005-09-20  Bruno Haible  <bruno@clisp.org>
78898
78899         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
78900         func_modules_to_filelist, func_import, func_create_testdir): Make all
78901         sorting results locale-independent, so that gnulib-cache.m4 doesn't
78902         change when gnulib-tool is invoked in a different locale.
78903
78904 2005-09-19  Simon Josefsson  <jas@extundo.com>
78905
78906         * m4/socklen.m4: Fix typo.
78907
78908 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78909
78910         Use a consistent style for including <config.h>.
78911         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
78912         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
78913         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
78914         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
78915         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
78916         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
78917         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
78918         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
78919         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
78920         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
78921         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
78922         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
78923         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
78924         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
78925         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
78926         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
78927         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
78928         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
78929         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
78930         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
78931         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
78932         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
78933         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
78934         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
78935         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
78936         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
78937         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
78938         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
78939         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
78940         lib/xstrtoumax.c, lib/yesno.c:
78941         Standardize inclusion of config.h.
78942         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
78943         lib/inttostr.h:  Removed inclusion of config.h from header files.
78944         * lib/inttostr.c:  Adjusted in-tree users.
78945         * lib/timespec.h: Remove superfluous warning to include config.h.
78946         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
78947         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
78948         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
78949         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
78950         config.h with HAVE_CONFIG_H.
78951
78952 2005-09-19  Jim Meyering  <jim@meyering.net>
78953
78954         * modules/pathmax (License): Change to LGPL.
78955
78956 2005-09-19  Derek Price  <derek@ximbiot.com>
78957
78958         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
78959
78960 2005-09-19  Bruno Haible  <bruno@clisp.org>
78961
78962         * gnulib-tool (import): Provide default for --tests-base.
78963
78964 2005-09-19  Bruno Haible  <bruno@clisp.org>
78965
78966         * doc/quote.texi: New file, extracted from gnulib.texi.
78967         * doc/ctime.texi: New file, extracted from gnulib.texi.
78968         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
78969         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
78970         * doc/gnulib.texi: Include them.
78971
78972 2005-09-18  Bruno Haible  <bruno@clisp.org>
78973
78974         Portability fix.
78975         * gnulib-tool (func_readlink): New function.
78976         (func_ln_if_changed): Use it.
78977
78978 2005-09-18  Bruno Haible  <bruno@clisp.org>
78979
78980         * gnulib-tool: Support --with-tests also with --import.
78981         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
78982         (func_import): Use variables $testsbase and $inctests. Emit a
78983         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
78984         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
78985         SUBDIRS += $testsdir.
78986         (func_create_testdir): Update.
78987
78988 2005-09-18  Bruno Haible  <bruno@clisp.org>
78989
78990         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
78991         instead of $dry_run.
78992         (func_cp_if_changed, func_mv_if_changed): Remove functions.
78993         (func_ln_if_changed): Don't handle dry-run here.
78994         (func_import): In dry-run mode, detect more precisely which actions
78995         would be performed, and don't use "...ing" verbs.
78996
78997 2005-09-18  Bruno Haible  <bruno@clisp.org>
78998
78999         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
79000         (func_import): Use join on two temporary files instead of three nested
79001         loops, in order to determine which files are new or old.
79002
79003 2005-09-18  Bruno Haible  <bruno@clisp.org>
79004
79005         * gnulib-tool (func_import): Comment out code that spits out the
79006         new files with --dry-run.
79007
79008 2005-09-18  Bruno Haible  <bruno@clisp.org>
79009
79010         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
79011
79012 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79013
79014         * lib/stat-time.h: New file.
79015         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
79016         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
79017         in a different way.
79018         (timespec_cmp): New function.
79019         * lib/utimecmp.c: Include stat-time.h.
79020         (SYSCALL_RESOLUTION): Depend on whether various struct stat
79021         members exist, not on the obsolescent ST_MTIM_NSEC.
79022         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
79023
79024 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79025
79026         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
79027
79028 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79029
79030         * MODULES.html.sh (File system functions): Add stat-time.
79031         * modules/stat-time: New file.
79032         * modules/timespec (Files): Remove m4/st_mtim.m4; this
79033         is now done in a different way, by the stat-time module.
79034         * modules/utimecmp (Depends-on): Add stat-time.
79035
79036 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
79037
79038         * m4/st_mtim.m4: Remove.  Superseded by...
79039         * m4/stat-time.m4: New file.
79040         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
79041         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
79042
79043 2005-09-15  Derek Price  <derek@ximbiot.com>
79044
79045         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
79046
79047 2005-09-15  Derek Price  <derek@ximbiot.com>
79048
79049         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
79050         * lib/regex_internal.c: Ditto, using this...
79051         (__GNUC_PREREQ): ...new macro.
79052         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
79053         using...
79054         (__GNUC_PREREQ): ...this new macro.
79055
79056         * lib/strstr.h: Include string.h. Define strstr as a macro here.
79057
79058 2005-09-15  Derek Price  <derek@ximbiot.com>
79059             Paul Eggert  <eggert@cs.ucla.edu>
79060
79061         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
79062         changes, consolidating in...
79063         * lib/regex_internal.h: ...this file.
79064
79065 2005-09-13  Jim Meyering  <jim@meyering.net>
79066
79067         * lib/canon-host.c: Filter through gnu indent and reword comments
79068         slightly.
79069         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
79070
79071 2005-09-13  Derek Price  <derek@ximbiot.com>
79072
79073         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
79074         failure.
79075         Reported by Jim Meyering  <jim@meyering.net>.
79076
79077 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79078
79079         * lib/base64.c: Typo.
79080         (base64_encode): Put b64str in initialized data section.
79081
79082 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
79083
79084         Merge glibc and coreutils changes into gnulib, plus a few
79085         extra fixes.
79086         * lib/md5.c: Use #error rather than a string.
79087         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
79088         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
79089         (__attribute__): Define to empty for non recent-GCC.
79090         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
79091         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
79092         Renamed from their non-__ counterparts, with new macros replacing
79093         them if not _LIBC.  Add __THROW attribute.
79094         (rol): Remove.
79095         (struct md5_ctx): Align buffer if using GCC.
79096         * lib/sha1.h (struct sha1_ctx): Likewise.
79097         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
79098         The old name was backwards.
79099         (NOTSWAP): Remove; not used.
79100         (rol): New macro, moved here from md5.h.
79101         (sha1_process_block): Remove a FIXME that doesn't make sense.
79102
79103 2005-09-12  Derek Price  <derek@ximbiot.com>
79104
79105         Return usable errors from canon-host.
79106         * lib/canon-host.h: New file.
79107         * lib/canon-host.c (canon_host): Wrap...
79108         (canon_host_r): ...this new function, which now relies exclusively on
79109         getaddrinfo.
79110         (ch_strerror): New function.
79111         (last_cherror): New global.
79112         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
79113         interface.
79114         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
79115         void *.
79116         (freeaddrinfo): Free ai->ai_canonname when set.
79117
79118 2005-09-12  Derek Price  <derek@ximbiot.com>
79119
79120         Make canon-host require getaddrinfo.
79121         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
79122         AC_LIBSOURCE canon-host.h.  Call...
79123         (gl_PREREQ_CANON_HOST): ...this new function, which requires
79124         gl_GETADDRINFO.
79125         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
79126
79127 2005-09-12  Derek Price  <derek@ximbiot.com>
79128
79129         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
79130         LGPL.
79131         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
79132
79133 2005-09-12  Derek Price  <derek@ximbiot.com>
79134
79135         * lib/gai_strerror.c: Include config.h when available.  Include
79136         getaddrinfo.h before other headers to test interface.
79137         Reported by Larry Jones <lawrence.jones@ugs.com>.
79138
79139 2005-09-12  Derek Price  <derek@ximbiot.com>
79140             Paul Eggert  <eggert@cs.ucla.edu>
79141
79142         * modules/glob (Files): Add glob-libc.h.
79143
79144 2005-09-12  Derek Price  <derek@ximbiot.com>
79145             Paul Eggert  <eggert@cs.ucla.edu>
79146
79147         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
79148         glob_.h, glob-libc.h.
79149         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
79150
79151 2005-09-12  Derek Price  <derek@ximbiot.com>
79152             Paul Eggert  <eggert@cs.ucla.edu>
79153
79154         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
79155         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
79156         protecting things that should be done only in gnulib contexts.
79157         * lib/glob_.h: New file, containing only the glob things needed for
79158         gnulib.
79159         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
79160         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
79161         (glob, globfree, glob_pattern_p): Now defined simply in terms of
79162         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
79163         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
79164         and to respect the namespace rules better.
79165
79166 2005-09-08  Simon Josefsson  <jas@extundo.com>
79167
79168         * modules/socklen: New file.
79169
79170 2005-09-08  Simon Josefsson  <jas@extundo.com>
79171
79172         * m4/socklen.m4: New file.
79173
79174 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79175
79176         * modules/utimens (Files): Add m4/utimbuf.m4, since
79177         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
79178         Reported by Sergey Poznyakoff.
79179
79180 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79181
79182         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
79183         definitions, since that's the preferred style in glibc.
79184         Fix a minor spacing issue, and update copyright notice to match
79185         glibc's.
79186
79187 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79188
79189         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
79190
79191 2005-09-06  Simon Josefsson  <jas@extundo.com>
79192
79193         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
79194         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
79195
79196 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79197
79198         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
79199         warning.
79200
79201 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79202
79203         * config/srclist.txt: Add glibc bug 1302.
79204
79205 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
79206
79207         Change bitset word type from unsigned int to unsigned long int,
79208         as this has better performance on typical 64-bit hosts.
79209         Port bitset code to hosts with unusual word sizes.
79210         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
79211         (build_collating_symbol):
79212         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
79213         argument is a bitset.  This is merely a style issue, but it makes
79214         it clearer that an entire array is expected.
79215         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
79216         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
79217         Port to the case where bitset_word is not the same as unsigned int.
79218         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79219         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
79220         Likewise.
79221         * lib/regexec.c (check_dst_limits_calc_pos_1,
79222         check_subexp_matching_top):
79223         (build_trtable, group_nodes_into_DFAstates):
79224         Likewise.
79225         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
79226         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
79227         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
79228         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
79229         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
79230         * lib/regcomp.c (optimize_subexps, lower_subexp):
79231         Work even if bitset_word has holes in its bitwise representation.
79232         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
79233         * lib/regexec.c (check_dst_limits_calc_pos_1,
79234         check_subexp_matching_top):
79235         Likewise.
79236         * lib/regex_internal.c (re_string_reconstruct):
79237         Don't assume UCHAR_MAX == 255.
79238         * lib/regex_internal.h (bitset_set_all): Likewise.
79239         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
79240         All uses changed.
79241         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
79242         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
79243         All uses changed.
79244         (BITSET_WORD_MAX): New macro.
79245         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
79246         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
79247         (bitset_empty, bitset_copy):
79248         Prefer sizeof (bitset) to multiplying it out ourselves.
79249         (bitset_not_merge): Remove; unused.
79250         (bitset_contain): Return bool, not unsigned int with one bit on.
79251         All callers changed.
79252         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
79253         alignment than re_node_set; do this by defining a new internal
79254         type struct dests_alloc and using it to allocate memory.
79255
79256 2005-09-05  Bruno Haible  <bruno@clisp.org>
79257
79258         * gnulib-tool (func_import): Fix comparison in handling of symbolic
79259         links.
79260
79261 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
79262
79263         * modules/size_max (Makefile.am): Add size_max.h
79264
79265 2005-09-04  Derek Price  <derek@ximbiot.com>
79266
79267         * gnulib-tool (func_import): Fix reversed $symbolic logic.
79268
79269 2005-09-03  Simon Josefsson  <jas@extundo.com>
79270
79271         * gnulib-tool: Fix typo.
79272
79273 2005-09-03  Simon Josefsson  <jas@extundo.com>
79274
79275         * config/srclist.txt: Add glibc bug 1293.
79276
79277 2005-09-03  Derek Price  <derek@ximbiot.com>
79278
79279         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
79280         From Larry Jones <lawrence.jones@ugs.com>.
79281
79282 2005-09-02  Simon Josefsson  <jas@extundo.com>
79283
79284         * modules/socklen: New file.
79285
79286 2005-09-02  Simon Josefsson  <jas@extundo.com>
79287
79288         * modules/havelib: New module.
79289
79290         * modules/gettext, modules/iconv, modules/lock, modules/readline:
79291         Use havelib.
79292
79293 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79294
79295         Check for arithmetic overflow when calculating sizes, to prevent
79296         some buffer-overflow issues.  These patches are conservative, in the
79297         sense that when I couldn't determine whether an overflow was possible,
79298         I inserted a run-time check.
79299         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
79300         macros.
79301         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
79302         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
79303         (re_xnrealloc, re_x2nrealloc): New inline functions.
79304         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
79305         parse_bracket_exp):
79306         (build_equiv_class, build_charclass): Check for arithmetic overflow
79307         in size expression calculations.
79308         * lib/regex_internal.c (re_string_realloc_buffers):
79309         (build_wcs_upper_buffer, re_node_set_add_intersect):
79310         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
79311         (re_dfa_add_node, register_state): Likewise.
79312         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
79313         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
79314         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
79315         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
79316
79317 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79318
79319         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79320         m4/ulonglong.m4.  Problem reported by Martin Lambers.
79321
79322 2005-09-02  Bruno Haible  <bruno@clisp.org>
79323
79324         Support for lib vs. lib64 distinction on biarch platforms.
79325         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
79326         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
79327         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
79328
79329 2005-09-02  Bruno Haible  <bruno@clisp.org>
79330
79331         * gnulib-tool (import): In the other first-use case, provide defaults
79332         as well.
79333
79334 2005-09-02  Bruno Haible  <bruno@clisp.org>
79335
79336         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
79337         patches not yet found in the latest gettext release.
79338
79339 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79340
79341         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
79342         to avoid a collision with bits/local_lim.h in glibc.
79343         All uses changed.  Problem reported by Dmitry V. Levin in
79344         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
79345
79346         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
79347         bugs in int versus size_t comparisons.
79348         (re_string_context_at): Fix bug where the code assumed that
79349         Idx is signed.
79350
79351         Use bool where appropriate.
79352         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
79353         All callers changed.
79354         (calc_eclosure_iter): Likewise, for ROOT arg.
79355         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
79356         (build_charclass_op): Likewise, for NON_MATCH arg.
79357         * lib/regex_internal.c (re_string_allocate, re_string_construct):
79358         (re_string_construct_common): Likewise, for ICASE arg.
79359         * lib/regexec.c (re_search_2_stub, re_search_stub):
79360         Likewise, for RET_LEN arg.
79361         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
79362         (set_regs): Likewise, for FL_BACKTRACK arg.
79363         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
79364         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
79365         (calc_eclosure_iter, parse_bracket_exp):
79366         Use bool for internal variables that are booleans.
79367         * lib/regexec.c (re_search_internal, check_matching,
79368         proceed_next_node):
79369         (set_regs, build_sifted_states, sift_states_bkref):
79370         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
79371         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79372         (find_collation_sequence_value):
79373         Likewise.
79374         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
79375         (re_node_set_compare):
79376         Return bool, not int. All callers changed.
79377         * lib/regexec.c (check_halt_node_context, check_dst_limits):
79378         (build_trtable, check_node_accept): Likewise.
79379         * lib/regex_internal.h: Include stdbool.h.
79380
79381         Fix bugs uncovered when converting to bool.
79382         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
79383         failure instead of charging ahead blindly.
79384         * lib/regex_internal.c (register_state): Likewise.
79385         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
79386         for freeing internal storage.
79387         (group_nodes_into_DFA_states): Use unsigned int, not int, for
79388         bitset pieces used as boolean, to avoid undefined behavior
79389         on hosts that do int overflow checking.
79390
79391 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79392
79393         * config/srclist.txt: Add glibc bugs 1285-1287.
79394
79395 2005-09-01  Jim Meyering  <jim@meyering.net>
79396
79397         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
79398         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
79399         Require gl_STAT_MACROS, too.
79400
79401 2005-09-01  Bruno Haible  <bruno@clisp.org>
79402
79403         * gnulib-tool (import): In the first-use case, provide defaults.
79404
79405 2005-09-01  Bruno Haible  <bruno@clisp.org>
79406
79407         * gnulib-tool (func_import): Remove the .tmp files.
79408
79409 2005-09-01  Bruno Haible  <bruno@clisp.org>
79410
79411         * gnulib-tool (func_import): Fix handling of symbolic links.
79412
79413 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79414
79415         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
79416         old glibc regex code mishandles strings longer than 2**31 bytes.
79417         This patch fixes this when the regex code is used in gnulib
79418         (i.e., outside glibc).
79419
79420         This patch should not affect the use of the regex code inside
79421         glibc.  No doubt this problem also needs to be handled for glibc
79422         as well, but the result will be an incompatible change to the
79423         glibc ABI, and the old ABI will have to be supported too.  That
79424         can be the the subject for another patch.
79425
79426         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
79427         governing whether the rest of this patch is active.  By default,
79428         the macro is disabled and the patch has no effect.
79429         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
79430         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
79431         (struct re_pattern_buffer, re_search, re_search_2, re_match):
79432         (re_match_2, re_set_registers): Use the new types.
79433         * lib/regex_internal.h (Idx, re_hashval_t): New types.
79434         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
79435         New macros.
79436         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
79437         (re_string_context_at, bin_tree_t, re_dfastate_t):
79438         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
79439         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
79440         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
79441         (re_string_char_size_at, re_string_wchar_at):
79442         (re_string_elem_size_at):
79443         Use the new types and macros to port to 64-bit hosts.
79444         Use unsigned types for internal values, so that the code
79445         mostly works even for arrays larger than SSIZE_MAX.
79446         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
79447         (search_duplicated_node, calc_eclosure_iter, fetch_number):
79448         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
79449         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
79450         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
79451         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
79452         (calc_inveclosure, parse_dup_op, build_range_exp):
79453         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
79454         (fetch_number, create_token_tree, mark_opt_subexp):
79455         Likewise.
79456         * lib/regex_internal.c (re_string_construct_common,
79457         create_ci_newstate):
79458         (create_cd_newstate, re_string_allocate, re_string_construct):
79459         (re_string_realloc_buffers, build_wcs_upper_buffer):
79460         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79461         (re_string_reconstruct, re_string_peek_byte_case):
79462         (re_string_fetch_byte_case, re_string_context_at):
79463         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79464         (re_node_set_init_copy, re_node_set_add_intersect):
79465         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79466         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79467         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79468         (re_acquire_state, re_acquire_state_context, register_state):
79469         Likewise.
79470         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
79471         search_cur_bkref_entry):
79472         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
79473         (re_search_internal, re_search_2_stub, re_search_stub)
79474         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
79475         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
79476         (update_cur_sifted_state, check_dst_limits):
79477         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79478         (check_subexp_limits, sift_states_bkref, merge_state_array):
79479         (check_subexp_matching_top, get_subexp, get_subexp_sub):
79480         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
79481         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79482         (expand_bkref_cache, check_node_accept_bytes):
79483         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
79484         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
79485         (acquire_init_state_context, check_halt_node_context):
79486         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
79487         (sift_states_backward, clean_state_log_if_needed):
79488         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
79489         (find_recover_state, transit_state_sb, transit_state_mb):
79490         (transit_state_bkref, build_trtable, match_ctx_clean):
79491         Likewise.
79492         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
79493         to work around an assumption that REG_MISSING is negative.
79494
79495         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
79496         (seek_collating_symbol_entry) [defined _LIBC]:
79497         (lookup_collation_sequence_value) [defined _LIBC]:
79498         (build_range_exp, build_collating_symbol) [defined _LIBC]:
79499         Use prototypes rather than old-style function definitions.
79500         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
79501         (transit_state_sb) [0]:
79502         (find_collation_sequence_value) [defined _LIBC]: Likewise.
79503
79504         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
79505         rm_eo.
79506
79507         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
79508         (optimize_subexps, lower_subexp):
79509         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
79510         since the signed shift might overflow.  Use 1u<<31 instead.
79511         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79512         Likewise.
79513         * lib/regexec.c (check_dst_limits_calc_pos_1,
79514         check_subexp_matching_top): Likewise.
79515
79516         * lib/regcomp.c (optimize_subexps, lower_subexp):
79517         Use CHAR_BIT rather than 8, for clarity.
79518         * lib/regexec.c (check_dst_limits_calc_pos_1):
79519         (check_subexp_matching_top): Likewise.
79520         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
79521         have to worry about portability issues when shifting it left.
79522         Remove no-longer-needed test for table_size > 0.
79523         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
79524         in a word, as the resulting behavior is undefined.
79525         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
79526         in one case, a <= should have been an <, and in another case the
79527         whole test was missing.
79528         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
79529         the standard name CHAR_BIT.
79530         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
79531         this is not true on one's complement and signed-magnitude hosts.
79532
79533         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
79534         next_last_offset.
79535         (struct re_dfa_t): Remove unused member states_alloc.
79536         * lib/regcomp.c (init_dfa): Don't initialize unused members.
79537
79538 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79539
79540         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
79541         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
79542         and large-file glibc and in 32-bit large-file Solaris.
79543
79544 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79545
79546         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
79547         lengths fit in regoff_t; this isn't true if regoff_t is the same
79548         width as size_t.
79549         * lib/regex.c (re_search_internal): 5th arg is LAST_START
79550         (= START + RANGE) instead of RANGE.  This avoids overflow
79551         problems when regoff_t is the same width as size_t.
79552         All callers changed.
79553         (re_search_2_stub): Check for overflow when adding the
79554         sizes of the two strings.
79555         (re_search_stub): Check for overflow when adding START
79556         to RANGE; if it occurs, substitute the extreme value.
79557
79558 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79559
79560         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
79561
79562 2005-08-31  Jim Meyering  <jim@meyering.net>
79563
79564         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
79565         a pointer-to-const.
79566         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
79567         (register_state): Likewise.
79568         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
79569         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79570         (group_nodes_into_DFAstates): Likewise.
79571
79572 2005-08-31  Jim Meyering  <jim@meyering.net>
79573
79574         * check-module: Add a FIXME comment.
79575
79576 2005-08-31  Eric Blake  <ebb9@byu.net>
79577
79578         * modules/unistd-safer (Files): Add unistd--.h.
79579         * modules/stdio-safer (Files): Add stdio--.h.
79580
79581 2005-08-31  Derek Price  <derek@ximbiot.com>
79582
79583         * lib/getdelim.c (getdelim): Return EOF on EOF.
79584         Reported by Larry Jones <lawrence.jones@ugs.com>.
79585
79586 2005-08-31  Bruno Haible  <bruno@clisp.org>
79587
79588         Avoid unnecessary diffs in the generated lib/Makefile.am.
79589         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
79590         the generated files.
79591         (func_import): Don't set cmd.
79592
79593 2005-08-31  Bruno Haible  <bruno@clisp.org>
79594
79595         * lib/strstr.c: Include <stddef.h>, for NULL.
79596         * lib/strcasestr.c: Likewise.
79597         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79598
79599 2005-08-31  Bruno Haible  <bruno@clisp.org>
79600
79601         * gnulib-tool: New option --macro-prefix.
79602         (func_import): Use macro_prefix.
79603         (import): Handle option --macro-prefix.
79604
79605 2005-08-31  Bruno Haible  <bruno@clisp.org>
79606
79607         * gnulib-tool (import): Rename most ac_* variables to cached_*.
79608         Also use new variables cached_lgpl, cached_libtool.
79609
79610 2005-08-31  Bruno Haible  <bruno@clisp.org>
79611
79612         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
79613         always instantiating them.
79614
79615 2005-08-31  Bruno Haible  <bruno@clisp.org>
79616
79617         * gnulib-tool (func_import): Read the previous cached settings
79618         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
79619         earlier added by gnulib but are now dropped. Warn when a gnulib file
79620         overwrites a non-gnulib file.
79621
79622 2005-08-31  Bruno Haible  <bruno@clisp.org>
79623
79624         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
79625         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
79626         projects that don't keep autogenerated files in CVS. Put into
79627         actioncmd only the specified modules, not the transitive closure.
79628
79629 2005-08-31  Bruno Haible  <bruno@clisp.org>
79630
79631         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
79632         Create directories that shall be filled.
79633         (import): Don't look for gl_* macros in configure.ac. Recurse across
79634         all directories containing a gnulib-cache.m4 files, if meaningful.
79635
79636 2005-08-31  Bruno Haible  <bruno@clisp.org>
79637
79638         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
79639         (import): Set seen_libtool when we see gl_LIBTOOL.
79640
79641 2005-08-31  Bruno Haible  <bruno@clisp.org>
79642
79643         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
79644         declaration macro definitions from generated gnulib.m4.
79645
79646 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
79647
79648         * lib/iconvme.h: Add prototype for iconv_alloc.
79649
79650 2005-08-29  Simon Josefsson  <jas@extundo.com>
79651
79652         * lib/iconvme.c: Fix errno.
79653
79654 2005-08-29  Bruno Haible  <bruno@clisp.org>
79655
79656         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
79657         that it works when the directory contains spaces.
79658
79659 2005-08-29  Bruno Haible  <bruno@clisp.org>
79660
79661         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
79662
79663 2005-08-29  Bruno Haible  <bruno@clisp.org>
79664
79665         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
79666         Emit more advice.
79667
79668 2005-08-29  Bruno Haible  <bruno@clisp.org>
79669         and Stepan Kasal  <kasal@ucw.cz>
79670
79671         * check-module: If more parameters are given, check each of them
79672         separately; add more exceptions, as noted by Jim Meyering.
79673         (check_module): New procedure.
79674         (%exempt_header): Now contains all exceptions.
79675
79676 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
79677
79678         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
79679
79680 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79681
79682         * lib/iconvme.c: Split iconv_string into iconv_alloc.
79683
79684 2005-08-28  Bruno Haible  <bruno@clisp.org>
79685
79686         * m4/gnulib-tool.m4: New file.
79687
79688 2005-08-27  Jim Meyering  <jim@meyering.net>
79689
79690         * modules/unistd-safer (Files): Add pipe-safer.c.
79691         * modules/fcntl-safer (Files): Add creat-safer.c.
79692
79693 2005-08-27  Jim Meyering  <jim@meyering.net>
79694
79695         * m4/stdlib-safer.m4: New file.  From coreutils.
79696         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
79697         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
79698         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
79699         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
79700         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
79701
79702 2005-08-27  Jim Meyering  <jim@meyering.net>
79703
79704         * lib/fopen-safer.c: Merge minor changes from coreutils.
79705         * lib/dup-safer.c: Likewise.
79706         * lib/fd-safer.c: Likewise.
79707
79708         Merge from coreutils.
79709         * lib/stdio--.h: New file.
79710         * lib/stdlib--.h: New file.
79711         * lib/mkstemp-safer.c: New file.
79712
79713         GNU tar needs these.
79714         * lib/pipe-safer.c: New file.
79715         * lib/creat-safer.c: New file.
79716         * lib/fcntl--.h (creat): Define to creat_safer.
79717         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
79718         * lib/unistd--.h (pipe): Define to pipe_safer.
79719         * lib/unistd-safer.h: Declare pipe_safer.
79720
79721 2005-08-26  Simon Josefsson  <jas@extundo.com>
79722
79723         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
79724         Haible <bruno@clisp.org>.
79725
79726 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
79727
79728         * lib/regex_internal.h: Remove all references to
79729         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
79730         or better.
79731         (bitset_not, bitset_merge, bitset_not_merge):
79732         (bitset_mask, re_string_allocate, re_string_construct):
79733         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
79734         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
79735         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
79736         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
79737         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79738         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79739         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
79740         (re_acquire_state_context):
79741         Remove unnecessary forward decls.
79742         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
79743         Put __attribute at function definition,
79744         now that the function decl has been removed.
79745         * lib/regex_internal.c (re_string_peek_byte_case):
79746         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
79747         Likewise.
79748
79749 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
79750
79751         * m4/regex.m4: Add AC_PREREQ(2.50).
79752         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
79753
79754 2005-08-25  Simon Josefsson  <jas@extundo.com>
79755
79756         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
79757         __fsetlocking.
79758
79759 2005-08-25  Simon Josefsson  <jas@extundo.com>
79760
79761         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
79762         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
79763         GLIBC specific code.
79764
79765 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79766
79767         Make regex safe for g++.  This fixes one real bug (an "err"
79768         that should have been "*err").  g++ problem reported by
79769         Sam Steingold.
79770         * lib/regex_internal.h (re_calloc): New macro, consistent with
79771         re_malloc etc.  All callers of calloc changed to use re_calloc.
79772         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
79773         not int.  All callers changed.
79774         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
79775         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
79776         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
79777         (find_recover_state): Change "err" to "*err"; this fixes what
79778         appears to be a real bug.
79779         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
79780         versus int.
79781
79782 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79783
79784         * modules/regex (Depends-on): Add malloc, since the code
79785         assumes that !malloc(0) means failure.
79786
79787 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79788
79789         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
79790
79791         alloca modernization/simplification for regex.
79792         * lib/regex.c: Remove portability cruft for alloca.  This no longer
79793         needs to be at the start of the file, and can be moved into
79794         regex_internal.h and simplified.
79795         * lib/regex_internal.h: Include <alloca.h>.
79796         (__libc_use_alloca) [!defined _LIBC]: New macro.
79797         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
79798         now works outside glibc.
79799
79800 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79801
79802         * config/srclist.txt: Add glibc bugs 1241, 1245.
79803
79804 2005-08-25  Jim Meyering  <jim@meyering.net>
79805
79806         * lib/open-safer.c: Include <config.h>.
79807         Otherwise, we'd lose LARGEFILE support in any file using
79808         e.g. "fcntl--.h"
79809
79810 2005-08-25  Bruno Haible  <bruno@clisp.org>
79811
79812         * m4/minmax.m4: Require autoconf 2.52.
79813         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
79814         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
79815         alternatives of translit over the alphabet.
79816         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
79817
79818 2005-08-24  Simon Josefsson  <jas@extundo.com>
79819
79820         * tests/test-getpass.c: New file.
79821
79822 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79823
79824         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
79825         for GNU regex features.
79826
79827 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79828
79829         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
79830         * lib/regex.h (regerror): Likewise.
79831
79832         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
79833         requires this.  (The code never needed it.)
79834
79835         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
79836         All uses of recently-renamed identifiers changed to use the new,
79837         POSIX-compliant names.  The code will build and run just fine
79838         without these changes, but it's better to eat our own dog food
79839         and use the standard-conforming names.
79840
79841         * lib/regex.h: Fix a multitude of POSIX name space violations.
79842         These changes have an effect only for programs that define
79843         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
79844         do not change anything for programs compiled in the normal way.
79845         Also, there is no effect on the ABI.
79846
79847         (_REGEX_SOURCE): New macro.
79848         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
79849         defined and _GNU_SOURCE is not; this fixes a name space violation.
79850
79851         Rename the following macros to obey POSIX requirements.
79852         The old names are still visible as macros if _REGEX_SOURCE is defined.
79853         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
79854         RE_BACKSLASH_ESCAPE_IN_LISTS.
79855         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
79856         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
79857         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
79858         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
79859         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
79860         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
79861         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
79862         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
79863         (REG_INTERVALS): renamed from RE_INTERVALS.
79864         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
79865         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
79866         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
79867         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
79868         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
79869         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
79870         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
79871         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
79872         RE_UNMATCHED_RIGHT_PAREN_ORD.
79873         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
79874         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
79875         (REG_DEBUG): renamed from RE_DEBUG.
79876         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
79877         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
79878         unusual, since we can't clash with the POSIX REG_ICASE.
79879         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
79880         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
79881         (REG_NO_SUB): renamed from RE_NO_SUB.
79882         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
79883         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
79884         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
79885         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
79886         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
79887         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
79888         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
79889         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
79890         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
79891         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
79892         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
79893         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
79894         RE_SYNTAX_POSIX_MINIMAL_BASIC.
79895         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
79896         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
79897         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
79898         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
79899         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
79900         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
79901         (REG_FIXED): Renamed from REGS_FIXED.
79902         (REG_NREGS): Renamed from RE_NREGS.
79903
79904         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
79905         of other REG_* macros, since POSIX says the user is allowed to
79906         #undef these macros selectively.
79907
79908         (reg_errcode_t): Update comment stating what other tables need
79909         to be consistent.
79910
79911         Rename the following enum values to obey POSIX requirements.
79912         The old names are still visible as macros.
79913         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
79914         is not defined, since GNU is supposed to be a superset of POSIX as
79915         much as possible, and since we want reg_errcode_t to be a signed
79916         type for implementation consistency.
79917         (_REG_NOERROR): Renamed from REG_NOERROR.
79918         (_REG_NOMATCH): Renamed from REG_NOMATCH.
79919         (_REG_BADPAT): Renamed from REG_BADPAT.
79920         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
79921         (_REG_ECTYPE): Renamed from REG_ECTYPE.
79922         (_REG_EESCAPE): Renamed from REG_EESCAPE.
79923         (_REG_ESUBREG): Renamed from REG_ESUBREG.
79924         (_REG_EBRACK): Renamed from REG_EBRACK.
79925         (_REG_EPAREN): Renamed from REG_EPAREN.
79926         (_REG_EBRACE): Renamed from REG_EBRACE.
79927         (_REG_BADBR): Renamed from REG_BADBR.
79928         (_REG_ERANGE): Renamed from REG_ERANGE.
79929         (_REG_ESPACE): Renamed from REG_ESPACE.
79930         (_REG_BADRPT): Renamed from REG_BADRPT.
79931         (_REG_EEND): Renamed from REG_EEND.
79932         (_REG_ESIZE): Renamed from REG_ESIZE.
79933         (_REG_ERPAREN): Renamed from REG_ERPAREN.
79934         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
79935         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
79936         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
79937         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
79938
79939         (_REG_RE_NAME, _REG_RM_NAME): New macros.
79940         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
79941         changed.  But support the old name if the new one is not defined
79942         and if _REGEX_SOURCE.
79943
79944         Change the following member names in struct re_pattern_buffer.
79945         The old names are still supported if !_REGEX_SOURCE.
79946         The new names are always supported, regardless of _REGEX_SOURCE.
79947         (re_buffer): Renamed from buffer.
79948         (re_allocated): Renamed from allocated.
79949         (re_used): Renamed from used.
79950         (re_syntax): Renamed from syntax.
79951         (re_fastmap): Renamed from fastmap.
79952         (re_translate): Renamed from translate.
79953         (re_can_be_null): Renamed from can_be_null.
79954         (re_regs_allocated): Renamed from regs_allocated.
79955         (re_fastmap_accurate): Renamed from fastmap_accurate.
79956         (re_no_sub): Renamed from no_sub.
79957         (re_not_bol): Renamed from not_bol.
79958         (re_not_eol): Renamed from not_eol.
79959         (re_newline_anchor): Renamed from newline_anchor.
79960
79961         Change the following member names in struct re_registers.
79962         The old names are still supported if !_REGEX_SOURCE.
79963         The new names are always supported, regardless of _REGEX_SOURCE.
79964         (rm_num_regs): Renamed from num_regs.
79965         (rm_start): Renamed from start.
79966         (rm_end): Renamed from end.
79967
79968         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
79969         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
79970         Prepend __ to parameter names.
79971
79972         Undo yesterday's changes.
79973
79974 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79975
79976         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
79977         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
79978         lib/regex.c.
79979
79980 2005-08-24  Jim Meyering  <jim@meyering.net>
79981
79982         Sync from coreutils.
79983         * m4/fcntl-safer.m4: New file.
79984
79985         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
79986         and object files for this module.
79987
79988 2005-08-24  Jim Meyering  <jim@meyering.net>
79989
79990         Sync from coreutils.
79991         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
79992
79993 2005-08-24  Jim Meyering  <jim@meyering.net>
79994
79995         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
79996         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
79997
79998 2005-08-24  Jim Meyering  <jim@meyering.net>
79999
80000         * modules/fcntl-safer: New module.
80001         * modules/fts (Depends-on): Add fcntl-safer.
80002         * MODULES.html.sh (File descriptor based Input/Output):
80003         Add fcntl-safer.
80004
80005 2005-08-24  Bruno Haible  <bruno@clisp.org>
80006
80007         Support for unit test modules.
80008         * modules/README: Mention tests modules.
80009         * modules/TEMPLATE-TESTS: New file.
80010         * gnulib-tool: New options --extract-tests-module, --with-tests and
80011         --tests-base (unused for the moment).
80012         (testsbase, inctests): New variables.
80013         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
80014         (func_verify_module): Exclude TEMPLATE-TESTS.
80015         (func_verify_nontests_module, func_verify_tests_module): New functions.
80016         (func_get_dependencies): Add implicit dependency for tests modules.
80017         (func_get_tests_module): New function.
80018         (func_modules_transitive_closure): When --with-tests was specified,
80019         include the unit tests as well, unless explicitly avoided.
80020         (func_emit_lib_Makefile_am): Ignore the tests modules here.
80021         (func_emit_tests_Makefile_am): New function.
80022         (func_create_testdir): When --with-tests was specified, emit a
80023         tests/ directory.
80024         * MODULES.html.sh (Future developments): Update.
80025
80026 2005-08-24  Bruno Haible  <bruno@clisp.org>
80027
80028         * modules/tls-tests: New file.
80029         * tests/test-tls.c: New file, from GNU gettext.
80030
80031 2005-08-24  Bruno Haible  <bruno@clisp.org>
80032
80033         * modules/lock-tests: New file.
80034         * tests/test-lock.c: New file, from GNU gettext.
80035
80036 2005-08-24  Bruno Haible  <bruno@clisp.org>
80037
80038         * lib/lock.h: Add multiple inclusion guard.
80039         * lib/tls.h: Add multiple inclusion guard.
80040
80041 2005-08-24  Bruno Haible  <bruno@clisp.org>
80042
80043         * gnulib-tool: Add support for the --aux-dir option to
80044         --create-testdir, --create-megatestdir, --test, --megatest.
80045         (func_create_testdir, func_create_megatestdir): Optionally emit a
80046         AC_CONFIG_AUX_DIR directive.
80047         (create-testdir, create-megatestdir, test, megatest): Provide a
80048         default value for $auxdir.
80049
80050 2005-08-24  Bruno Haible  <bruno@clisp.org>
80051
80052         * gnulib-tool (import): Use compound statement instead of subshell
80053         where possible.
80054
80055 2005-08-24  Bruno Haible  <bruno@clisp.org>
80056
80057         * gnulib-tool (import): Change --aux-dir default to "build-aux".
80058
80059 2005-08-24  Bruno Haible  <bruno@clisp.org>
80060
80061         * gnulib-tool (func_version): Update.
80062
80063 2005-08-24  Bruno Haible  <bruno@clisp.org>
80064
80065         * gnulib-tool (func_import, func_create_testdir,
80066         func_create_megatestdir): Quote all autoconf macro arguments.
80067
80068 2005-08-24  Bruno Haible  <bruno@clisp.org>
80069
80070         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
80071         option --force, because --force causes the aclocal.m4 of each
80072         subdirectory to be newer than the corresponding config.h.in.
80073
80074 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80075
80076         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
80077         All contents moved to gl_REGEX.
80078         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
80079         assume that it does.
80080
80081 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80082
80083         * lib/regex.h (REG_NOSYS)
80084         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
80085         Define, since POSIX requires it as of 2001.
80086         (_REG_ENOSYS)
80087         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
80088         New private symbol, used to keep the enum signed in all cases.
80089         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
80090         Youngman in
80091         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
80092
80093         * lib/regex_internal.c (re_string_skip_chars, register_state):
80094         (calc_state_hash):
80095         Remove forward decls; no longer needed now that we use prototypes.
80096         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
80097         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
80098         (clean_state_log_if_needed): Likewise.
80099
80100 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80101
80102         * config/srclist.txt: Add glibc bugs 1231-1233.
80103
80104 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80105
80106         Fix problems reported by Sam Steingold in
80107         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
80108         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
80109         assumed that reg_errcode_t is a signed type, which is not
80110         necessarily true if _XOPEN_SOURCE is not defined.
80111         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
80112         since some compilers warn about it otherwise.
80113
80114 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80115
80116         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
80117         (init_word_char, create_initial_state, duplicate_node_closure):
80118         (fetch_token, peek_token_bracket, build_range_exp):
80119         (build_collating_symbol): Remove forward decls; no longer needed
80120         now that we use prototypes.
80121
80122         * lib/regcomp.c:
80123         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
80124         (re_compile_fastmap_iter, regcomp, regerror, regfree):
80125         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
80126         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
80127         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
80128         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
80129         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
80130         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
80131         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
80132         (build_range_exp, build_collating_symbol, parse_bracket_exp):
80133         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
80134         (build_charclass, build_charclass_op, fetch_number, create_tree):
80135         (create_token_tree, mark_opt_subexp, duplicate_tree):
80136         Use prototypes rather than old-style definitions.
80137
80138         * lib/regex_internal.c:
80139         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
80140         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
80141         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
80142         (re_string_reconstruct, re_string_peek_byte_case):
80143         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
80144         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
80145         (re_node_set_init_copy, re_node_set_add_intersect):
80146         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80147         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80148         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
80149         (re_acquire_state, re_acquire_state_context, register_state):
80150         (create_ci_newstate, create_cd_newstate, free_state):
80151         Likewise.
80152         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
80153         re_search_2):
80154         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
80155         (re_search_internal, prune_impossible_nodes):
80156         (acquire_init_state_context, check_matching, static):
80157         (check_halt_node_context, check_halt_state_context, proceed_next_node):
80158         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
80159         (update_regs, sift_states_backward, build_sifted_states):
80160         (clean_state_log_if_needed, merge_state_array):
80161         (update_cur_sifted_state, add_epsilon_src_nodes):
80162         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
80163         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
80164         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
80165         (find_recover_state, check_subexp_matching_top, transit_state_mb):
80166         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
80167         (check_arrival, check_arrival_add_next_nodes):
80168         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
80169         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
80170         (check_node_accept_bytes, check_node_accept, extend_buffers):
80171         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
80172         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
80173         (sift_ctx_init):
80174         Likewise.
80175
80176         * lib/regex_internal.h:
80177         (re_string_allocate, re_string_construct, re_string_reconstruct):
80178         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
80179         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
80180         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
80181         (re_string_context_at, re_string_peek_byte_case):
80182         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
80183         is defined, since we now use prototypes always.
80184
80185         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
80186         C89 or better.  All uses removed.
80187
80188 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80189
80190         * config/srclist.txt: Add glibc bugs 1220-1227.
80191
80192 2005-08-20  Jim Meyering  <jim@meyering.net>
80193
80194         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
80195         of unused local, dfa.
80196
80197 2005-08-20  Bruno Haible  <bruno@clisp.org>
80198
80199         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
80200
80201 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80202
80203         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
80204         (re_node_set_insert_last, re_dfa_add_node):
80205         Rename local variables to avoid GCC shadowing warnings.
80206
80207 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80208
80209         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
80210         [defined lint]: Suppress bogus uninitialized-variable warnings.
80211
80212         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
80213         and let the caller return REG_ESPACE if out of space.  This
80214         removes an uninitialied-variable warning with GCC 4.0.1, and also
80215         avoids taking the address of a local variable.  All callers
80216         changed.
80217
80218 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80219
80220         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
80221         $LIBCSRC/posix/regexec.c.
80222         Add glibc bug 1217 for regcomp.c.
80223
80224 2005-08-19  Jim Meyering  <jim@meyering.net>
80225
80226         * lib/regexec.c (proceed_next_node): Redo local variables to
80227         avoid GCC shadowing warnings.
80228
80229 2005-08-18  Bruno Haible  <bruno@clisp.org>
80230
80231         * lib/strstr.c (strstr): Fix return value in multibyte case.
80232         * lib/strcasestr.c (strcasestr): Likewise.
80233
80234 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80235
80236         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
80237
80238 2005-08-17  Jim Meyering  <jim@meyering.net>
80239
80240         Make the %s format (seconds since the epoch) work for a negative
80241         number and when used with a zero-padded field width, e.g. %015s.
80242
80243         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
80244         label so that it precedes the code to set `digits'.  Otherwise,
80245         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
80246         print `00-22'.  Now, it prints `-0022', as it should.
80247
80248 2005-08-17  Bruno Haible  <bruno@clisp.org>
80249
80250         * modules/strstr (Files): Add m4/mbrtowc.m4.
80251         (Depends-on): Add mbuiter.
80252
80253 2005-08-17  Bruno Haible  <bruno@clisp.org>
80254
80255         * modules/strcasestr: New file.
80256         * MODULES.html.sh (String handling, based on ANSI C 89): Add
80257         strcasestr.
80258
80259 2005-08-17  Bruno Haible  <bruno@clisp.org>
80260
80261         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
80262
80263 2005-08-17  Bruno Haible  <bruno@clisp.org>
80264
80265         * modules/mbuiter: New file.
80266         * MODULES.html.sh (Extended multibyte and wide character utilities):
80267         Add mbuiter.
80268
80269 2005-08-17  Bruno Haible  <bruno@clisp.org>
80270
80271         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
80272         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
80273
80274 2005-08-17  Bruno Haible  <bruno@clisp.org>
80275
80276         * m4/strcasestr.m4: New file.
80277
80278 2005-08-17  Bruno Haible  <bruno@clisp.org>
80279
80280         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
80281         * lib/strstr.c: Completely rewritten, with multibyte locale support.
80282
80283 2005-08-17  Bruno Haible  <bruno@clisp.org>
80284
80285         * lib/strcasestr.h: New file.
80286         * lib/strcasestr.c: New file.
80287
80288 2005-08-17  Bruno Haible  <bruno@clisp.org>
80289
80290         * lib/strcasecmp.c: Use mbuiter.h.
80291
80292 2005-08-17  Bruno Haible  <bruno@clisp.org>
80293
80294         * lib/mbuiter.h: New file.
80295
80296 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
80297
80298         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
80299         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
80300         and gl_GETOPT are both invoked via different paths (as happens
80301         with GNU tar CVS because it uses both argp and getopt), the former
80302         wins.
80303
80304 2005-08-16  Bruno Haible  <bruno@clisp.org>
80305
80306         * modules/tls: New file.
80307         * MODULES.html.sh (Multithreading): Add tls.
80308
80309 2005-08-16  Bruno Haible  <bruno@clisp.org>
80310
80311         * modules/strnlen1: New file.
80312         * MODULES.html.sh (String handling): Add strnlen1.
80313
80314 2005-08-16  Bruno Haible  <bruno@clisp.org>
80315
80316         * modules/strcase (Files): Add m4/mbrtowc.m4.
80317         (Depends-on): Add strnlen1, mbchar.
80318
80319 2005-08-16  Bruno Haible  <bruno@clisp.org>
80320
80321         * modules/mbiter: New file.
80322         * MODULES.html.sh (Extended multibyte and wide character utilities):
80323         Add mbiter.
80324
80325 2005-08-16  Bruno Haible  <bruno@clisp.org>
80326
80327         * modules/mbfile: New file.
80328         * MODULES.html.sh (Extended multibyte and wide character utilities):
80329         Add mbfile.
80330
80331 2005-08-16  Bruno Haible  <bruno@clisp.org>
80332
80333         * modules/mbchar: New file.
80334         * MODULES.html.sh (Extended multibyte and wide character utilities):
80335         New section.
80336
80337 2005-08-16  Bruno Haible  <bruno@clisp.org>
80338
80339         * m4/tls.m4: New file, from GNU gettext.
80340
80341 2005-08-16  Bruno Haible  <bruno@clisp.org>
80342
80343         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
80344         always.
80345         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
80346
80347 2005-08-16  Bruno Haible  <bruno@clisp.org>
80348
80349         * m4/mbiter.m4: New file.
80350
80351 2005-08-16  Bruno Haible  <bruno@clisp.org>
80352
80353         * m4/mbfile.m4: New file.
80354
80355 2005-08-16  Bruno Haible  <bruno@clisp.org>
80356
80357         * m4/mbchar.m4: New file.
80358
80359 2005-08-16  Bruno Haible  <bruno@clisp.org>
80360
80361         * lib/tls.h: New file, from GNU gettext.
80362         * lib/tls.c: New file, from GNU gettext.
80363
80364 2005-08-16  Bruno Haible  <bruno@clisp.org>
80365
80366         * lib/strnlen1.h: New file.
80367         * lib/strnlen1.c: New file.
80368
80369 2005-08-16  Bruno Haible  <bruno@clisp.org>
80370
80371         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
80372         (mbi_init): Update.
80373         (mbi_avail, mbi_advance): Let the iteration end before the terminating
80374         NUL byte, not after it.
80375
80376 2005-08-16  Bruno Haible  <bruno@clisp.org>
80377
80378         * lib/strcase.h (strcasecmp): Add note in comments.
80379         * lib/strncasecmp.c: Use code from strcasecmp.c.
80380         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
80381         (strcasecmp): Work correctly in multibyte locales.
80382
80383 2005-08-16  Bruno Haible  <bruno@clisp.org>
80384
80385         * lib/mbiter.h: New file.
80386
80387 2005-08-16  Bruno Haible  <bruno@clisp.org>
80388
80389         * lib/mbfile.h: New file.
80390
80391 2005-08-16  Bruno Haible  <bruno@clisp.org>
80392
80393         * lib/mbchar.h: New file.
80394         * lib/mbchar.c: New file.
80395
80396 2005-08-16  Bruno Haible  <bruno@clisp.org>
80397
80398         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
80399         the valid ones. Makes the comparison operations transitive:
80400         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
80401         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
80402
80403 2005-08-15  Simon Josefsson  <jas@extundo.com>
80404
80405         * modules/ssize_t (License): Change to 'unlimited'.
80406
80407         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
80408
80409 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80410
80411         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
80412         Add comments for each pending glibc patch.
80413
80414 2005-08-15  Bruno Haible  <bruno@clisp.org>
80415
80416         * lib/regex.h (__restrict_arr): Don't define to __restrict if
80417         __cplusplus is defined.
80418
80419 2005-08-14  Jim Meyering  <jim@meyering.net>
80420
80421         Sync from coreutils.
80422
80423         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
80424         Use the hash-table-based cycle-detection code not just when
80425         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
80426         Reported by James Youngman in
80427         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
80428         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
80429         FTS_TIGHT_CYCLE_CHECK.
80430         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
80431         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
80432         once again.
80433         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
80434         * lib/fts.c (fd_safer): Remove decl.
80435         Include fcntl--.h rather than unistd-safer.h
80436         (fts_safe_changedir): Don't call fd_safer; no longer needed
80437         now that we include fcntl--.h.
80438
80439 2005-08-12  Simon Josefsson  <jas@extundo.com>
80440
80441         * modules/getndelim2: Use ssize_t module.
80442         * modules/getnline: Likewise.
80443         * modules/safe-read: Likewise.
80444         * modules/xreadlink: Likewise.
80445
80446         * modules/ssize_t: New file.
80447
80448 2005-08-12  Simon Josefsson  <jas@extundo.com>
80449
80450         * m4/readline.m4: Look for termcap, curses or ncurses if required.
80451
80452 2005-08-12  Simon Josefsson  <jas@extundo.com>
80453
80454         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80455         ssize_t.
80456
80457 2005-08-12  Simon Josefsson  <jas@extundo.com>
80458
80459         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
80460         readline, getdelim and check_version.
80461         (Support for systems lacking ISO C 99: Sizes of integer types):
80462         Add size_max.
80463
80464 2005-08-12  Bruno Haible  <bruno@clisp.org>
80465
80466         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
80467
80468 2005-08-11  Simon Josefsson  <jas@extundo.com>
80469
80470         * modules/readline: New file.
80471
80472         * modules/strnlen (Files): Add strnlen.h.
80473
80474 2005-08-11  Simon Josefsson  <jas@extundo.com>
80475
80476         * m4/readline.m4: New file.
80477
80478 2005-08-11  Simon Josefsson  <jas@extundo.com>
80479
80480         * lib/readline.h, readline.c: New file.
80481
80482 2005-08-11  Simon Josefsson  <jas@extundo.com>
80483
80484         * doc/gnulib.texi (Initial import, Finishing touches): Mention
80485         gl_AVOID.
80486
80487 2005-08-11  Bruno Haible  <bruno@clisp.org>
80488
80489         * lib/strnlen.h (strnlen): Change parameter name to match comment.
80490
80491 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
80492
80493         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
80494
80495 2005-08-10  Simon Josefsson  <jas@extundo.com>
80496
80497         * tests/test-iconvme.c: New file.
80498
80499 2005-08-10  Simon Josefsson  <jas@extundo.com>
80500
80501         * m4/strnlen.m4: New file.
80502
80503         * m4/strndup.m4: Don't check for strnlen declaration, done in
80504         strnlen.m4.
80505
80506 2005-08-10  Simon Josefsson  <jas@extundo.com>
80507
80508         * lib/strndup.c: Use strnlen.h.
80509
80510         * lib/strnlen.h: New file.
80511
80512 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80513
80514         * README: Typos.
80515
80516 2005-08-02  Simon Josefsson  <jas@extundo.com>
80517
80518         * modules/readline: New file.
80519
80520 2005-08-02  Simon Josefsson  <jas@extundo.com>
80521
80522         * modules/getdelim: New file.
80523
80524         * modules/getline: Rewrite, don't use getndelim2.
80525
80526 2005-08-02  Simon Josefsson  <jas@extundo.com>
80527
80528         * m4/getline.m4: Separate out getdelim stuff into separate module.
80529
80530         * m4/getdelim.m4: New file.
80531
80532 2005-08-02  Simon Josefsson  <jas@extundo.com>
80533
80534         * lib/getline.h, getline.c: Rewrite.
80535
80536         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
80537
80538 2005-07-31  Bruno Haible  <bruno@clisp.org>
80539
80540         * lib/lock.h (gl_lock_initializer): New macro.
80541         (gl_lock_define_initialized): Use it.
80542         (gl_rwlock_initializer): New macro.
80543         (gl_rwlock_define_initialized): Use it.
80544         (gl_recursive_lock_initializer): New macro.
80545         (gl_recursive_lock_define_initialized): Use it.
80546
80547 2005-07-30  Karl Berry  <karl@gnu.org>
80548
80549         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
80550         Report from Ben Pfaff, regarding getopt.
80551
80552 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
80553
80554         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
80555         normal way.
80556         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
80557         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
80558         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
80559         (gl_GETOPT): Use the new macros.  Most of the implementation
80560         is moved to the new macros.  This is for programs like Emacs
80561         that don't want all the functionality of gl_GETOPT.
80562
80563 2005-07-26  Bruno Haible  <bruno@clisp.org>
80564
80565         * m4/lock.m4: Update from GNU gettext.
80566
80567 2005-07-26  Bruno Haible  <bruno@clisp.org>
80568
80569         * lib/lock.h: Update from GNU gettext.
80570         * lib/lock.c: Update from GNU gettext.
80571
80572 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
80573
80574         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
80575         obsolescent AC_TRY_RUN.  Include the default includes files, for
80576         'exit'.
80577
80578 2005-07-24  Bruno Haible  <bruno@clisp.org>
80579
80580         * modules/visibility: New file.
80581         * MODULES.html.sh (Misc): Add visibility.
80582
80583 2005-07-24  Bruno Haible  <bruno@clisp.org>
80584
80585         * m4/visibility.m4: New file.
80586
80587 2005-07-24  Bruno Haible  <bruno@clisp.org>
80588
80589         * doc/visibility.texi: New file.
80590
80591 2005-07-22  Bruno Haible  <bruno@clisp.org>
80592
80593         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
80594         $(ALLOCA_H), redundant through BUILT_SOURCES.
80595         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
80596         redundant through BUILT_SOURCES.
80597         * modules/byteswap (Makefile.am): Remove explicit dependency on
80598         $(BYTESWAP_H), redundant through BUILT_SOURCES.
80599         * modules/fnmatch (Makefile.am): Remove explicit dependency on
80600         $(FNMATCH_H), redundant through BUILT_SOURCES.
80601         * modules/getopt (Makefile.am): Remove explicit dependency on
80602         $(GETOPT_H), redundant through BUILT_SOURCES.
80603         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
80604         redundant through BUILT_SOURCES.
80605         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
80606         redundant through BUILT_SOURCES.
80607         * modules/stdbool (Makefile.am): Remove explicit dependency on
80608         $(STDBOOL_H), redundant through BUILT_SOURCES.
80609         * modules/stdint (Makefile.am): Remove explicit dependency on
80610         $(STDINT_H), redundant through BUILT_SOURCES.
80611         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
80612         Remove explicit dependency on $(SYSEXITS_H).
80613         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
80614
80615 2005-07-18  Simon Josefsson  <jas@extundo.com>
80616
80617         * lib/check-version.c (check_version): Accept identical versions too.
80618
80619 2005-07-18  Bruno Haible  <bruno@clisp.org>
80620
80621         * modules/lock: New file.
80622         * MODULES.html.sh (Multithreading): New section.
80623
80624 2005-07-18  Bruno Haible  <bruno@clisp.org>
80625
80626         * m4/lock.m4: New file, from GNU gettext.
80627
80628 2005-07-18  Bruno Haible  <bruno@clisp.org>
80629
80630         * lib/lock.h: New file, from GNU gettext.
80631         * lib/lock.c: New file, from GNU gettext.
80632
80633 2005-07-18  Bruno Haible  <bruno@clisp.org>
80634
80635         * lib/lock.h (gl_once_t): New type.
80636         (gl_once_define, gl_once): New macros.
80637         * lib/lock.c (fresh_once): New variable.
80638         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
80639         functions.
80640
80641 2005-07-16  Simon Josefsson  <jas@extundo.com>
80642
80643         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
80644         workaround, suggested by Bruno.
80645
80646 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80647
80648         * modules/xalloc (Depends-on): Add xalloc-die.
80649         * modules/xvasprintf (Depends-on): Add xalloc-die.
80650
80651 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80652
80653         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
80654         with a minor change.
80655
80656 2005-07-15  Bruno Haible  <bruno@clisp.org>
80657
80658         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
80659         When using lib/poll.c, define poll as rpl_poll.
80660
80661 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
80662
80663         * modules/argp (Depends-on): Remove unlocked-io.
80664
80665 2005-07-14  Derek Price  <derek@ximbiot.com>
80666
80667         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
80668         for glob symlink bug.
80669
80670 2005-07-14  Bruno Haible  <bruno@clisp.org>
80671
80672         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
80673         Instead, test for *_unlocked function declarations directly.
80674
80675 2005-07-11  Simon Josefsson  <jas@extundo.com>
80676
80677         * modules/size_max: New file.
80678
80679         * modules/xsize: Depend on size_max module for size_max.m4.
80680
80681 2005-07-11  Simon Josefsson  <jas@extundo.com>
80682
80683         * lib/size_max.h: New file.
80684
80685 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
80686
80687         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
80688         copyright symbol and the year.
80689         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
80690         (version_etc_va): Use parameterized copyright notice.
80691         Reword to conform to the current GNU coding standards.
80692
80693 2005-07-11  Karl Berry  <karl@gnu.org>
80694
80695         * doc/gnulib.texi (Quoting): new node.
80696         (Initial import): more info, from Patrice.
80697
80698 2005-07-11  Bruno Haible  <bruno@clisp.org>
80699
80700         * gnulib-tool (func_usage): Document option --avoid.
80701         (Command line options): Handle --avoid.
80702         (func_acceptable): New function.
80703         (func_modules_transitive_closure): Use it.
80704
80705 2005-07-11  Bruno Haible  <bruno@clisp.org>
80706
80707         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
80708         Reported by Jim Meyering.
80709
80710 2005-07-10  Bruno Haible  <bruno@clisp.org>
80711
80712         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
80713         Needed when size_t is smaller than 'unsigned int'.
80714         Reported by Paul Eggert.
80715
80716 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80717
80718         * modules/argp (Depends-on): Add unlocked-io
80719
80720 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80721
80722         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
80723         block of defines.
80724
80725 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80726
80727         * config/srclist.txt: Comment out regcomp.c, since we have a porting
80728         fix now.
80729
80730 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
80731         and Paul Eggert  <eggert@cs.ucla.edu>
80732
80733         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
80734         in wint_t, not wchar_t.  Remove now-unnecessary cast.
80735
80736 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80737
80738         * modules/regex (Files): Add lib/regex_internal.c,
80739         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
80740         (Depends-on): Add extensions.
80741         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
80742
80743 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80744
80745         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
80746         pathconf.
80747         * m4/same.m4 (gl_SAME): Likewise.
80748         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
80749
80750         * m4/regex.m4: Adjust to new libc regex implementation.
80751         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
80752         all the .c and .h parts of (the new) regex.
80753         Quote the m4 stuff better.
80754         Check for RE_ICASE bug of old gnulib.
80755         Check for REG_STARTEND of recent libc.
80756         Rename local variables from jm_* to gl_*.
80757         Quote operand of "test -f".
80758         Say "recent enough" version of libc, not "version 2".
80759         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
80760         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
80761         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
80762         Remove check for btowc, isascii.
80763         Require AM_LANGINFO_CODESET.
80764
80765 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80766
80767         * lib/regex.c, regex.h: Sync from libc.
80768         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
80769         * lib/regexec.c:
80770         New files, synced from libc, except that regex_internal.h
80771         currently has a small porting fix.
80772
80773 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80774
80775         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
80776         regex_internal.c, regexec.c.
80777         Add regex_internal.h too, but as a comment, since the libc version
80778         is currently broken in gnulib mode.
80779
80780 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80781
80782         Support programs like Emacs that use gnulib but not gettext.
80783         * MODULES.html.sh (Internationalization functions): Add gettext-h.
80784         * modules/gettext-h: New file.
80785         * modules/gettext (Files): Remove lib/gettext.h.
80786         (Depends-on): Add gettext-h.
80787         (Makefile.am): Remove lib_SOURCES.
80788         * modules/argmatch, modules/c-stack, modules/closeout:
80789         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
80790         * modules/execute, modules/file-type, modules/getaddrinfo:
80791         * modules/getopt, modules/human, modules/javacomp:
80792         * modules/javaexec, modules/mkdir-p, modules/obstack:
80793         * modules/openat, modules/pagealign_alloc, modules/pipe:
80794         * modules/quotearg, modules/regex, modules/rpmatch:
80795         * modules/unicodeio, modules/userspec, modules/version-etc:
80796         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
80797         * modules/xsetenv:
80798         Depend on gettext-h, not gettext.
80799
80800 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80801
80802         * gnulib-tool (func_import): Add support for 'public domain' license.
80803         * modules/alloca, modules/atexit, modules/memmove:
80804         Now public domain, not GPL.
80805         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
80806         * modules/realloc, modules/strerror, modules/strtod:
80807         Now LGPL, not GPL.
80808
80809 2005-07-05  Bruno Haible  <bruno@clisp.org>
80810
80811         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
80812         autoconf CVS. Needed for mingw.
80813
80814 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80815
80816         Remove the dependency of the strftime module on the tzset module.
80817         * modules/strftime (Depends-on): Remove dependency on tzset.
80818
80819 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80820
80821         Remove the dependency of the strftime module on the tzset module.
80822         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
80823         gl_FUNC_TZSET_CLOBBER.
80824
80825 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80826
80827         Remove the dependency of the strftime module on the tzset module.
80828         * lib/strftime.c (my_strftime)
80829         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
80830         Copy the input structure, to work around some of the bug with
80831         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
80832         Solaris releases, you should also use the tzset module, but we won't
80833         require it as a dependency any more since we don't want LGPLed code
80834         to depend on GPLed code.
80835
80836 2005-07-02  Jim Meyering  <jim@meyering.net>
80837
80838         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
80839         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
80840         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
80841         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
80842
80843 2005-07-02  Jim Meyering  <jim@meyering.net>
80844
80845         * lib/backupfile.c (backup_args): Change a `0' to NULL.
80846
80847 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80848
80849         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
80850         declares only 'struct timespec;' (!).
80851
80852 2005-07-01  Jim Meyering  <jim@meyering.net>
80853
80854         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
80855         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
80856         * lib/save-cwd.c, tempname.c:
80857         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80858         and don't include <sys/file.h>).
80859
80860 2005-06-29  Jim Meyering  <jim@meyering.net>
80861
80862         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
80863         type name.  Use the variable name instead.
80864         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
80865         Likewise.
80866
80867 2005-06-28  Simon Josefsson  <jas@extundo.com>
80868
80869         * modules/check-version (Files): Add check-version.m4.
80870
80871 2005-06-28  Simon Josefsson  <jas@extundo.com>
80872
80873         * m4/check-version.m4: New file, suggested by Jim Meyering
80874         <jim@meyering.net>.
80875
80876 2005-06-28  Simon Josefsson  <jas@extundo.com>
80877
80878         * lib/check-version.h, lib/check-version.c: New files.
80879
80880 2005-06-28  Simon Josefsson  <jas@extundo.com>
80881
80882         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
80883         collision with global variable.  Better indentation.  Don't
80884         increment buffer pointer beyond buffer end.  Based on comments
80885         from Paul Eggert <eggert@cs.ucla.edu>.
80886
80887         * lib/base64.h: Indent.
80888
80889 2005-06-28  Simon Josefsson  <jas@extundo.com>
80890
80891         * doc/gnulib.texi (Library version handling): New section.
80892
80893 2005-06-28  Jim Meyering  <jim@meyering.net>
80894
80895         * check-module (find_included_lib_files): Hard-code another
80896         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
80897         but modules/fts-lgpl (correctly) does not list those files.
80898
80899         * modules/canonicalize (Files): Add lib/pathmax.h.
80900
80901 2005-06-25  Simon Josefsson  <jas@extundo.com>
80902
80903         * modules/check-version: New file.
80904
80905 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
80906
80907         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
80908         initializer of struct addrinfo, as an indication that we don't
80909         care how many members the structure has.
80910
80911 2005-06-24  Derek Price  <derek@ximbiot.com>
80912         and Bruno Haible  <bruno@clisp.org>
80913
80914         Remove stat module & update lstat.
80915         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
80916         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80917         * m4/stat.m4: Remove this file.
80918
80919 2005-06-24  Derek Price  <derek@ximbiot.com>
80920         and Bruno Haible  <bruno@clisp.org>
80921
80922         Remove stat module & update lstat.
80923         * lib/stat.c: Remove this file...
80924         (slash_aware_lstat): ...moving this content and its support...
80925         * lib/lstat.c (rpl_lstat): ...into here.
80926         * lib/lstat.h: New file.
80927
80928 2005-06-24  Derek Price  <derek@ximbiot.com>
80929         and Bruno Haible  <bruno@clisp.org>
80930
80931         Remove stat module & update lstat.
80932         * config/srclist.txt (libc sources): Remove stat.
80933
80934 2005-06-24  Derek Price  <derek@ximbiot.com>
80935         and Bruno Haible  <bruno@clisp.org>
80936
80937         Remove stat module & update lstat.
80938         * MODULES.html.sh (stat): Remove.
80939         * MODULES.html: Regenerated.
80940         * modules/lstat (Description): Correct function name.
80941         (Files): Add "lstat.h".
80942         (Depends-on): Remove stat, add xalloc, stat-macros.
80943         * modules/stat: Remove this file.
80944         (Include): Add "lstat.h", remove <sys/stat.h>.
80945
80946 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
80947
80948         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
80949         (ranged_convert): Don't save conversion in a temporary struct.
80950         This causes a warning with GCC 4.0.0, and anyway in the typical
80951         case it's not worth the extra 100 bytes or so of code.
80952         (ranged_convert, __mktime_internal): When calling a function via a
80953         pointer P, use P () rather than (*P) (), as we now assume C89 or
80954         better.
80955
80956 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80957
80958         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
80959         "who -r" failed to give output.  Problem reported by Tim Waugh.
80960
80961         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
80962         (xcalloc): Use it to avoid needless tests.
80963         Problem reported by Jim Meyering.
80964
80965 2005-06-20  Derek Price  <derek@ximbiot.com>
80966
80967         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
80968         unnecessary for Autoconfs > 2.59c.
80969
80970 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80971
80972         * lib/argp.h (__option_is_short): Check upper limit of
80973         __key. Isprint() requires its argument to have the value
80974         of an unsigned char or EOF.
80975
80976 2005-06-16  Jim Meyering  <jim@meyering.net>
80977
80978         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
80979         when either N or S is zero.
80980
80981 2005-06-16  Derek Price  <derek@ximbiot.com>
80982
80983         * m4/bison.m4: Declare YACC & YFLAGS precious.
80984
80985 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
80986
80987         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
80988         multibyte string or pattern, fall back on unibyte matching.
80989         Problem reported by James Youngman.
80990
80991 2005-06-08  Bruno Haible  <bruno@clisp.org>
80992
80993         * modules/csharpcomp: New file.
80994         * MODULES.html.sh (C#): Add csharpcomp.
80995
80996 2005-06-08  Bruno Haible  <bruno@clisp.org>
80997
80998         * m4/csharpcomp.m4: New file, from GNU gettext.
80999
81000 2005-06-08  Bruno Haible  <bruno@clisp.org>
81001
81002         * lib/csharpcomp.h: New file, from GNU gettext.
81003         * lib/csharpcomp.c: New file, from GNU gettext.
81004         * lib/csharpcomp.sh.in: New file, from GNU gettext.
81005
81006 2005-06-08  Bruno Haible  <bruno@clisp.org>
81007
81008         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
81009         warning on mingw.
81010
81011 2005-06-07  Derek Price  <derek@ximbiot.com>
81012
81013         Sync from CVS.
81014         * lib/glob_.h: Indent nested #ifdef.
81015
81016 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81017
81018         Sync from coreutils.
81019         Use "file name" when talking about file names, instead of "filename"
81020         or "path", as per the GNU coding standards.
81021         * lib/mkdir-p.c: Renamed from makepath.c.
81022         (make_dir_parents): Renamed from make_path.  All callers changed.
81023         * lib/mkdir-p.h: Likewise.  All includers changed.
81024         * lib/filenamecat.c: Renamed from path-concat.c.
81025         (file_name_concat): Renamed from path_concat.  All callers changed.
81026         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
81027         * lib/filenamecat.h: Likewise.  All includers changed.
81028         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
81029         in comments or local variable names.
81030         * lib/basename.c: Likewise.
81031         * lib/canonicalize.c, canonicalize.h: Likewise.
81032         * lib/dirname.c, dirname.h: Likewise.
81033         * lib/euidaccess.c: Likewise.
81034         * lib/exclude.c: Likewise
81035         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
81036         * lib/fsusage.c, fsuage.h: Likewise.
81037         * lib/fts.c, fts_.h: Likewise.
81038         * lib/getcwd.c: Likewise.
81039         * lib/getloadavg.c: Likewise.
81040         * lib/mkstemp.c: Likewise.
81041         * lib/mountlist.c, mountlist.h: Likewise.
81042         * lib/openat.c, openat.h: Likewise.
81043         * lib/readlink-stub.c: Likewise.
81044         * lib/readutmp.c, readutmp.h: Likewise.
81045         * lib/rename.c: Likewise.
81046         * lib/rmdir.c: Likewise.
81047         * lib/same.c: Likewise.
81048         * lib/savedir.c: Likewise.
81049         * lib/stripslash.c: Likewise.
81050         * lib/tempname.c: Likewise.
81051         * lib/xreadlink.c: Likewise.
81052         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
81053         All uses changed.
81054         * lib/exclude.h: Likewise.
81055
81056         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
81057         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81058         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
81059         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81060         * lib/pathmax.h: Include <limits.h> unconditionally, since other
81061         files have been getting away with it for years (MORE/BSD 4.3
81062         is extinct now).
81063         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
81064         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81065
81066         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
81067         Define to 256, not 255, as per modern POSIX.
81068
81069 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81070
81071         Sync from coreutils.
81072         Use "file name" when talking about file names, instead of "filename"
81073         or "path", as per the GNU coding standards.
81074         * MODULES.html.sh: mkdir-p renamed from makepath.
81075         filenamecat renamed from path-concat.
81076         * modules/filenamecat: Renamed from modules/path-concat.
81077         (Files): filenamecat.h and filenamecat.c renamed from
81078         path-concat.h and path-concat.c.
81079         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
81080         (Include): filenamecat.h, not path-concat.h.
81081         * modules/mkdir-p: Renamed from modules/makepath.
81082         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
81083         makepath.c.
81084         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
81085         (Include): mkdir-p.h, not makepath.h.
81086
81087 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81088
81089         Sync from coreutils.
81090         * m4/mkdir-p.m4: Renamed from makepath.m4.
81091         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
81092         Rename files from makepath.c to mkdir-p.c, and from
81093         makepath.h to mkdir-p.h.
81094         * m4/filenamecat.m4: Renamed from path-concat.m4.
81095         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
81096         Rename files from path-concat.c to filenamecat.c,
81097         and from path-concat.h to filenamecat.h.
81098         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
81099         "file name" in local variables or comments.
81100         * m4/rename.m4: Likewise.
81101
81102 2005-06-01  Bruno Haible  <bruno@clisp.org>
81103
81104         * modules/csharpexec: New file.
81105         * MODULES.html.sh (C#): New section.
81106
81107 2005-06-01  Bruno Haible  <bruno@clisp.org>
81108
81109         * m4/csharp.m4: New file, from GNU gettext.
81110         * m4/csharpexec.m4: New file, from GNU gettext.
81111
81112 2005-06-01  Bruno Haible  <bruno@clisp.org>
81113
81114         * lib/csharpexec.h: New file, from GNU gettext.
81115         * lib/csharpexec.c: New file, from GNU gettext.
81116         * lib/csharpexec.sh.in: New file, from GNU gettext.
81117
81118 2005-05-31  Derek Price  <derek@ximbiot.com>
81119             Paul Eggert  <eggert@cs.ucla.edu>
81120
81121         Sync from cvs.
81122         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81123
81124 2005-05-31  Derek Price  <derek@ximbiot.com>
81125             Paul Eggert  <eggert@cs.ucla.edu>
81126
81127         Sync from cvs.
81128         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81129
81130 2005-05-29  Derek Price  <derek@ximbiot.com>
81131
81132         * config/srclist.txt (glob_.h, glob.c): Add these files.
81133
81134 2005-05-29  Derek Price  <derek@ximbiot.com>
81135
81136         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
81137         * modules/glob: New file.
81138         * modules/getlogin_r: Add link to POSIX spec in description.
81139
81140 2005-05-29  Derek Price  <derek@ximbiot.com>
81141             Paul Eggert  <eggert@cs.ucla.edu>
81142
81143         * m4/glob.m4: New file.
81144
81145 2005-05-29  Derek Price  <derek@ximbiot.com>
81146             Paul Eggert  <eggert@cs.ucla.edu>
81147
81148         * lib/glob_.h, lib/glob.c: New files.
81149
81150 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81151
81152         * modules/fts (Files): Remove m4/inttypes-pri.m4.
81153         * modules/fts-lgpl (Depends-on): Remove gettext.
81154
81155 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81156
81157         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
81158         and don't require gt_INTTYPES_PRI.
81159
81160 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81161
81162         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
81163
81164         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
81165         the configuration hassle isn't worth it.
81166         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
81167         (LONGEST_MODIFIER, PRIuMAX): Remove.
81168
81169 2005-05-27  Bruno Haible  <bruno@clisp.org>
81170
81171         * lib/getlogin_r.h: Remove second include of <stddef.h>.
81172
81173 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
81174
81175         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
81176         _POSIX_PTHREAD_SEMANTICS for Solaris.
81177
81178 2005-05-25  Derek Price  <derek@ximbiot.com>
81179
81180         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
81181
81182 2005-05-25  Derek Price  <derek@ximbiot.com>
81183             Paul Eggert  <eggert@cs.ucla.edu>
81184
81185         * modules/getlogin_r, m4/getlogin_r.m4: New files.
81186         * lib/getlogin_r.c, getlogin_r.h: New files.
81187
81188 2005-05-25  Bruno Haible  <bruno@clisp.org>
81189             Derek Price  <derek@ximbiot.com>
81190
81191         * lib/getlogin_r.h: Simplify API documentation.
81192
81193 2005-05-23  Derek Price  <derek@ximbiot.com>
81194
81195         * modules/minmax (Files): Add m4/minmax.m4.
81196         (configure.ac): Add gl_MINMAX.
81197
81198 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81199
81200         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
81201         so that unistd-safer.h (GPL'ed code) need not be included.
81202
81203 2005-05-22  Bruno Haible  <bruno@clisp.org>
81204
81205         * m4/minmax.m4: New file.
81206         Based on a patch by Derek Price <derek@ximbiot.com>.
81207
81208 2005-05-22  Bruno Haible  <bruno@clisp.org>
81209
81210         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
81211         (INT64_MIN): Fix definition.
81212         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
81213
81214         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
81215         NEED_SIGNED_INT_TYPES.
81216
81217         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
81218         HAVE_SYSTEM_INTTYPES.
81219
81220 2005-05-22  Bruno Haible  <bruno@clisp.org>
81221
81222         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
81223         Also include <sys/param.h> if it defines MIN, MAX.
81224         Based on a patch by Derek Price <derek@ximbiot.com>.
81225
81226 2005-05-21  Jim Meyering  <jim@meyering.net>
81227
81228         * modules/fts (Files): Add m4/inttypes-pri.m4.
81229         (Depends-on): Add lstat and remove gettext.  Alphabetize.
81230
81231 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81232
81233         New fts module.
81234         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
81235         (setup_dir, free_dir): New functions.
81236         (enter_dir, leave_dir): Define trivial
81237         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
81238         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
81239         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
81240         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
81241         Move to fts-cycle.c.
81242         (fts_open): Use setup_dir.
81243         (fts_close): Use free_dir.
81244         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
81245         This adds a label and some gotos, but the alternatives were messier.
81246         Check for memory allocation failure when entering a dir.
81247         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
81248         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
81249         (FTS): New member fts_cycle, that is a union that contains the
81250         old active_dir_ht and cycle_state.  All uses changed to mention
81251         fts_cycle.ht and fts_cycle.state.
81252         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
81253         fts.c, with the following changes:
81254         (setup_dir, free_dir): New functions.
81255         (enter_dir): Now returns bool.  Return true if successful, false
81256         if memory exhausted.  All callers changed.
81257         Do not bother partly cleaning up on
81258         memory allocation failure; that is free_dir's job.
81259         However, free ad if hash_insert fails, to avoid memory leak.
81260         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
81261         fts->fts_options to see which union member to use.
81262
81263 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81264
81265         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
81266         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
81267
81268 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81269
81270         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
81271
81272 2005-05-20  Jim Meyering  <jim@meyering.net>
81273
81274         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
81275         Now a macro, to pacify GCC.
81276
81277 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81278
81279         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
81280         of -1.
81281
81282 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81283
81284         * lib/chown.c (rpl_chown): Return -1 on failure.
81285
81286 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81287
81288         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
81289         Don't check for stddef.h.
81290         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
81291         don't use its results.
81292         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
81293         since we include them unconditionally.  Don't require
81294         AM_STDBOOL_H, since stdbool is a prerequisite.
81295         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
81296         since we assume C89 or better.
81297         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
81298         as we don't use their results.
81299         Don't check for fchdir, memmove, memset, strrchr, as we use
81300         them unconditionally.
81301         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
81302         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
81303
81304 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81305
81306         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
81307         Include <stddef.h> unconditionally, since we assume C89 now.
81308         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
81309         * lib/fts.c: Include fts_.h first, to check interface.
81310         Do not include intprops.h; no longer needed.
81311         Include cycle-check.h and hash.h, since fts_.h no longer does.
81312         Remove unnecessary casts of closedir to void.
81313         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
81314         decide whether to decrement nlinks.
81315         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
81316         (FTS): Use struct hash_table * instead of Hash_table, so that
81317         we no longer need to include hash.h here.
81318
81319 2005-05-18  Jim Meyering  <jim@meyering.net>
81320
81321         * modules/dirfd (License): Change to LGPL.  Most of the code
81322         is already in the public domain.
81323
81324 2005-05-18  Jim Meyering  <jim@meyering.net>
81325
81326         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
81327         Reported by Yoann Vandoorselaere.
81328
81329 2005-05-17  Jim Meyering  <jim@meyering.net>
81330
81331         * m4/fts.m4: New file, from coreutils.
81332
81333 2005-05-17  Jim Meyering  <jim@meyering.net>
81334
81335         * lib/fts.c, lib/fts_.h: New files, from coreutils.
81336
81337 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81338
81339         Sync from coreutils.
81340         * m4/unlinkdir.m4: New file.
81341
81342 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81343
81344         Sync from coreutils.
81345         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
81346         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
81347         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
81348         White space changes only.
81349         * lib/makepath.c (make_path): Port to hosts where leading "//" is
81350         special.
81351         * lib/yesno.c: Include getline.h, not ctype.h.
81352         (yesno): Don't remove leading white space; POSIX doesn't allow it.
81353         Use getline to remove arbitrary restriction on response length.
81354
81355 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81356
81357         * config/srclist-update: Spell out "Street" in FSF postal
81358         mail address; this is the style the FSF seems to prefer.
81359
81360         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
81361         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
81362         this updates FSF postal mail address.
81363
81364         Sync from coreutils.
81365         * modules/unlinkdir: New file.
81366         * modules/yesno (Depends-on): Add getline.
81367         * MODULES.html.sh (File system functions): Add unlinkdir.
81368
81369 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81370
81371         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
81372         lib/strsep.h:
81373         Change the initial comment to refer to GPL, not LGPL.
81374         gnulib-tool will change it to LGPL as needed.
81375
81376         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
81377         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
81378         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
81379         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
81380         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
81381         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
81382         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
81383         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
81384         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
81385         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
81386         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
81387         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
81388         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
81389         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
81390         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
81391         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
81392         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
81393         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
81394         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
81395         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
81396         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
81397         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
81398         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
81399         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
81400         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
81401         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
81402         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
81403         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
81404         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
81405         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
81406         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
81407         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
81408         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
81409         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
81410         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
81411         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
81412         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
81413         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
81414         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
81415         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
81416         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
81417         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
81418         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
81419         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
81420         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
81421         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
81422         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
81423         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
81424         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
81425         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
81426         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
81427         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
81428         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
81429         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
81430         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
81431         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
81432         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
81433         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
81434         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
81435         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
81436         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
81437         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
81438         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
81439         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
81440         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
81441         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
81442         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
81443         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
81444         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
81445         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
81446         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
81447         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
81448         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
81449         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
81450         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
81451         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
81452         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
81453         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
81454         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
81455         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
81456         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
81457         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
81458         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
81459         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
81460         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
81461         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
81462         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
81463         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
81464         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
81465         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
81466         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
81467         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
81468         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
81469         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
81470         lib/yesno.c, lib/yesno.h:
81471         Update FSF postal mail address.
81472
81473 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81474
81475         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
81476         tests/test-memmem.c, tests/test-stpncpy.c:
81477         Update FSF postal mail address.
81478
81479 2005-05-13  Bruno Haible  <bruno@clisp.org>
81480
81481         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
81482         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
81483         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
81484         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
81485         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
81486         Add support for 64-bit integers in the MSVC compiler.
81487
81488 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81489
81490         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
81491
81492 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
81493
81494         * gnulib-tool (func_import): Sort and uniquify recommended includes.
81495
81496 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
81497
81498         * doc/getdate.texi (General date syntax): Don't say that date
81499         date --iso-8601=ns generates acceptable dates; it doesn't yet.
81500         Problem reported by Nic Ferrier.
81501
81502 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81503
81504         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
81505         specified in ai_socktype. Fix invalid ai_protocol
81506         check. ai_protocol is usually set to 0 or depending on
81507         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
81508         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
81509         ai_socktype / ai_protocol in the returned addrinfo structure.
81510
81511 2005-05-10  Simon Josefsson  <jas@extundo.com>
81512
81513         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
81514         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81515
81516 2005-05-10  Karl Berry  <karl@gnu.org>
81517
81518         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
81519         (from http://www.gnu.org/licenses).
81520         * doc/COPYING.LIB: also rename to COPYING.LESSER.
81521         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
81522         fdl.texi suffices.
81523
81524 2005-05-10  Karl Berry  <karl@gnu.org>
81525
81526         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
81527         (COPYING.DOC): remove.
81528
81529         * config/srclist-update: new FSF address.
81530
81531 2005-05-10  Derek Price  <derek@ximbiot.com>
81532
81533         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
81534         possible.
81535
81536 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81537             Bruno Haible  <bruno@clisp.org>
81538
81539         * modules/inet_ntop: New file.
81540         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81541         inet_ntop.
81542
81543 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81544             Bruno Haible  <bruno@clisp.org>
81545
81546         * m4/inet_ntop.m4: New file.
81547
81548 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81549             Bruno Haible  <bruno@clisp.org>
81550
81551         * lib/inet_ntop.h: New file.
81552         * lib/inet_ntop.c: New file, from glibc with modifications.
81553
81554 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
81555
81556         * modules/time_r (License): Change to LGPL.
81557         * modules/extensions (License): Change to LGPL.  Actually,
81558         the license is more permissive than that, but currently gnulib-tool
81559         doesn't know how to handle more-permissive licenses.
81560
81561         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
81562         Problem reported by Dave Love.
81563
81564 2005-05-08  Jim Meyering  <jim@meyering.net>
81565
81566         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
81567         blank.
81568
81569 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
81570
81571         * modules/argmatch (Depends-on): Add stdbool.
81572         * modules/backupfile (Depends-on): Likewise.
81573         * modules/chdir-long (Depends-on): Likewise.
81574         * modules/closeout (Depends-on): Likewise.
81575         * modules/cycle-check (Depends-on): Likewise.
81576         * modules/dirname (Depends-on): Likewise.
81577         * modules/fnmatch (Depends-on): Likewise.
81578         * modules/fsusage (Depends-on): Likewise.
81579         * modules/fwriteerror (Depends-on): Likewise.
81580         * modules/getcwd (Depends-on): Likewise.
81581         * modules/getloadavg (Depends-on): Likewise.
81582         * modules/hard-locale (Depends-on): Likewise.
81583         * modules/makepath (Depends-on): Likewise.
81584         * modules/mountlist (Depends-on): Likewise.
81585         * modules/nanosleep (Depends-on): Likewise.
81586         * modules/posixtm (Depends-on): Likewise.
81587         * modules/quotearg (Depends-on): Likewise.
81588         * modules/readtokens (Depends-on): Likewise.
81589         * modules/readtokens0 (Depends-on): Likewise.
81590         * modules/readutmp (Depends-on): Likewise.
81591         * modules/save-cwd (Depends-on): Likewise.
81592         * modules/strftime (Depends-on): Likewise.
81593         * modules/userspec (Depends-on): Likewise.
81594         * modules/utimecmp (Depends-on): Likewise.
81595         * modules/xgetcwd (Depends-on): Likewise.
81596         * modules/xnanosleep (Depends-on): Likewise.
81597         * modules/xstrtod (Depends-on): Likewise.
81598         * modules/yesno (Depends-on): Likewise.
81599
81600 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
81601
81602         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
81603         needless checks.
81604
81605 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81606
81607         Merge from coreutils.  Among other things,
81608         add bulletproofing for cases where stdin, stdout, or stderr are closed.
81609         * lib/fd-safer.c: New file.
81610         * lib/fcntl-safer.h, open-safer.c: Remove.
81611         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
81612         * lib/dup-safer.c: Include unistd-safer.h first.
81613         Don't include errno.h.
81614         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
81615         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
81616         * lib/file-type.c: Rely on file-type.h change.
81617         * lib/getloadavg.c: Include unistd-safer.h.
81618         (getloadavg): Use safer open.
81619         * lib/getusershell.c: Include "stdio-safer.h".
81620         (getusershell): Use safer fopen.
81621         * lib/long-options.c (long_options): Use NULL rather than 0.
81622         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
81623         'free'.
81624         * lib/modechange.c: Likewise.
81625         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
81626         (MODE_DONE): New constant.
81627         (struct mode_change): Remove 'next' member.
81628         (make_node_op_equals): New function; like the old one of the
81629         same name, except it allocates an array.
81630         (mode_compile, mode_create_from_ref): Use it.
81631         (mode_compile): Allocate result as an array, not a linked list.
81632         Parse octal string ourself, so that we catch mistakes like "+0".
81633         (mode_adjust): Arg is an array, not a linked list.
81634         * lib/modechange.c: Include stat-macros.h, xalloc.h.
81635         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
81636         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
81637         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
81638         Remove.  This is now stat-macros.h's job.
81639         (talloc): Remove.  All callers replaced by xalloc, so that
81640         our invokers don't have to worry about reporting memory failures.
81641         (make_node_op_equals): Remove.
81642         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81643         New constants.
81644         (struct mode_change): Moved here from modechange.h.
81645         (mode_append_entry): Remove.
81646         (mode_compile): Remove MASKED_OPS arg, since it encouraged
81647         apps to have incorrect behavior.  Use simpler algorithm for head
81648         and tail.  Don't futz with umask; that's now the job of mode_adjust.
81649         Detect more invalid usages rather than having somewhat-random behavior.
81650         Don't insert an "a=" action, as that leads to incorrect behavior.
81651         (mode_compile, mode_create_from_ref): Return NULL on error instead
81652         of an enum, since now there's only one way to have an error.  All
81653         callers changed.
81654         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
81655         at the correct time.  Simplify calculation of "+u" and its ilk.
81656         Don't mishandle "+X".
81657         (mode_free): Remove "register" and localize decls.
81658         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81659         (struct mode_change): Move to modechange.c; callers don't
81660         need to see this stuff.
81661         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
81662         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
81663         (mode_change, mode_adjust): Reflect the new signatures noted above.
81664         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
81665         that might redefine system include files.
81666         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
81667         (my_usleep): Use NULL rather than (void *) 0.
81668         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
81669         Use siginterrupt to specify that system calls should be interrupted.
81670         (rpl_nanosleep): Move initialization of suspended closer to call of
81671         my_usleep.
81672         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
81673         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
81674         (desirable_utmp_entry): New function.
81675         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
81676         using x2nrealloc, to simplify logic.
81677         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
81678         size calculation.  Do not assume utmp file is a regular file.
81679         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
81680         (READ_UTMP_CHECK_PIDS): New constant.
81681         * lib/save-cwd.c: Include unistd-safer.h.
81682         (save_cwd): Use fd_safer.
81683         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
81684         [!_LIBC] Include "stat-macros.h" instead.
81685         * lib/unistd-safer.h (fd_safer): New decl.
81686
81687 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81688
81689         * modules/getloadavg (Depends-on): Add unistd-safer.
81690         * modules/getusershell (Depends-on): Add stdio-safer.
81691         * modules/lstat (Depends-on): Remove xalloc.
81692         * modules/mkstemp (Depends-on): Add stat-macros.
81693         * modules/modechange (Depends-on): Remove xstrtol.
81694         Add stat-macros, xalloc.
81695         * modules/save-cwd (Depends-on): Add unistd-safer.
81696         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
81697         * modules/unistd-safer (Files): Add lib/fd-safer.c
81698         (Makefile.am): Remove lib_SOURCES.
81699
81700         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
81701         Remove fcntl-safer; unistd-safer supersedes it.
81702
81703 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81704
81705         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
81706         AC_HEADER_STAT.
81707         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
81708         (gl_PREREQ_CHOWN): Remove.
81709         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
81710         it.  Don't require AC_HEADER_STAT.
81711         (gl_PREREQ_LSTAT): Remove.
81712         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
81713         Don't require AC_HEADER_STAT.
81714         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
81715         (gl_PREREQ_RMDIR): Remove.
81716         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
81717         mention stat-macros.h or AC_HEADER_STAT, since we'll make
81718         the stat-macros module a prerequisite.
81719         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
81720         * m4/filemode.m4 (gl_FILEMODE): Likewise.
81721         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
81722         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
81723         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
81724         variable names.
81725         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
81726         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
81727         variable prefixes.
81728         * m4/fcntl-safer.m4: Remove.
81729         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
81730         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
81731         Invoke gl_PREREQ_FD_SAFER.
81732         (gl_PREREQ_FD_SAFER): New macro.
81733         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
81734         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
81735         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
81736         Remove duplicate call to AC_LIBOBJ(readutmp).
81737         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
81738
81739         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
81740         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
81741
81742 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81743
81744         * MODULES.html.sh (Misc): Add byteswap.
81745
81746 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81747
81748         * modules/getcwd (Depends-on): Add extensions.
81749         * modules/openat (Depends-on): Likewise.
81750
81751 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81752
81753         * modules/byteswap: New file.
81754
81755 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81756
81757         * m4/byteswap.m4: New file.
81758
81759 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81760
81761         * lib/byteswap_.h: New file.
81762
81763 2005-04-25  Karl Berry  <karl@gnu.org>
81764
81765         * m4/gettext.m4: Update from GNU gettext 0.14.4.
81766
81767 2005-04-25  Albert Chin  <china@thewrittenword.com>
81768
81769         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
81770         Toolkit C bug.
81771
81772 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
81773
81774         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
81775         (func_ln_if_changed): Remove forcibly for no error message
81776         in case file does not exist.
81777
81778 2005-04-19  Simon Josefsson  <jas@extundo.com>
81779
81780         * gnulib-tool (Options): Make --symlink mean --symbolic.
81781
81782 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
81783
81784         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
81785
81786 2005-04-16  Simon Josefsson  <jas@extundo.com>
81787
81788         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
81789
81790 2005-04-15  Simon Josefsson  <jas@extundo.com>
81791
81792         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
81793
81794 2005-04-15  Simon Josefsson  <jas@extundo.com>
81795
81796         * gnulib-tool: Rename --symlink to --symbolic.
81797
81798 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
81799
81800         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
81801         symbolic links to files instead of copying/moving.  Add --aux-dir,
81802         specifying directory relative --dir where auxiliary build tools
81803         are placed.
81804
81805 2005-04-14  Bruno Haible  <bruno@clisp.org>
81806
81807         * modules/allocsa (License): Change to LGPL.
81808         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
81809
81810 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81811
81812         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
81813         that "UTC +1 second" continues to work.  Problem reported
81814         by Dmitry V. Levin.
81815         (relunit_snumber): New rule.
81816         (relunit): Use it.
81817
81818 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81819
81820         * lib/getdate.y (universal_time_zone_table): New constant.
81821         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
81822         universal_time_zone_table.
81823         (lookup_zone): Prefer universal_time_zone_table to
81824         local_time_zone_table, so that "GMT" time stamps are allowed in
81825         London during the summer.  Problem reported by Ian Abbott.
81826
81827 2005-04-12  Jim Meyering  <jim@meyering.net>
81828
81829         * lib/human.c (humblock): Set *options even when returning due to
81830         xstrtoumax conversion failure.  Thanks to a used-uninitialized
81831         warning from gcc-4.
81832
81833 2005-04-09  Jim Meyering  <jim@meyering.net>
81834
81835         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
81836         -Wuninitialized: initialize tm0.tm_year.
81837
81838 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
81839
81840         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
81841         count, since there's no maximum.  All uses changed.
81842         Add member dsts_seen.
81843         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
81844         not being INT_MAX.
81845         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
81846         Use pc_rels_seen to decide whther a date is absolute.
81847
81848         * lib/getdate.y (number): Don't overwrite year.
81849         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
81850         check.
81851
81852 2005-04-02  Simon Josefsson  <jas@extundo.com>
81853
81854         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
81855         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
81856
81857 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
81858
81859         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
81860         where no absolute path name can be longer than PATH_MAX.
81861
81862 2005-03-27  Jim Meyering  <jim@meyering.net>
81863
81864         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
81865
81866 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
81867
81868         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
81869         "one's complement" -> "ones' complement" in comment, as per Knuth.
81870         "value of type" -> "type or expression" in comment.
81871         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
81872
81873 2005-03-26  Jim Meyering  <jim@meyering.net>
81874
81875         Comment nits.
81876         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
81877         Correct typos: s/or/of/.
81878
81879 2005-03-26  Jim Meyering  <jim@meyering.net>
81880
81881         * modules/check-include-files: Move to ../ and rename to...
81882         * check-module: ...this.
81883
81884 2005-03-25  Jim Meyering  <jim@meyering.net>
81885
81886         * modules/xvasprintf (Files): Add xalloc.h.
81887
81888 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
81889
81890         * modules/gettext (Files): config/config.rpath ->
81891         build-aux/config.rpath
81892         * modules/iconv (Files): Likewise.
81893         Problem reported by Oskar Liljeblad.
81894
81895 2005-03-23  Jim Meyering  <jim@meyering.net>
81896
81897         * modules/check-include-files: New script to check for
81898         missing dependencies, multiple includes, etc.
81899
81900         * modules/c-strtold (Depends-on): Add xalloc.
81901         * modules/c-strtod (Depends-on): Add xalloc.
81902         * modules/hash (Depends-on): Add xalloc.
81903         (Files): Remove lib/xalloc.h.
81904
81905         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
81906         * modules/userspec (Files): Add lib/inttostr.h.
81907
81908 2005-03-23  Jim Meyering  <jim@meyering.net>
81909
81910         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
81911
81912 2005-03-22  Jim Meyering  <jim@meyering.net>
81913
81914         * modules/stat-macros: New module.
81915         * modules/canonicalize, modules/euidaccess, modules/file-type,
81916         * modules/filemode, modules/lchown, modules/makepath,
81917         * modules/rmdir, modules/stat: Depend on new stat-macros module
81918         rather than listing lib/stat-macros.h manually.
81919         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
81920
81921 2005-03-22  Jim Meyering  <jim@meyering.net>
81922
81923         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
81924
81925 2005-03-22  Bruno Haible  <bruno@clisp.org>
81926
81927         * config/srclist.txt: Replace target directory 'config' with
81928         'build-aux'.
81929         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
81930         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
81931         ../build-aux/.
81932
81933 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
81934
81935         * modules/chdir-long (Depends-on): Add mempcpy.
81936
81937         * modules/acl, modules/backupfile, modules/c-strtod,
81938         modules/c-strtold, modules/canon-host, modules/canonicalize,
81939         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
81940         modules/exclude, modules/exitfail, modules/file-type,
81941         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
81942         modules/getdate, modules/getline, modules/getpagesize,
81943         modules/getpass, modules/getugroups, modules/group-member,
81944         modules/hard-locale, modules/hash, modules/human, modules/idcache,
81945         modules/inttostr, modules/long-options, modules/makepath,
81946         modules/md5, modules/memcasecmp, modules/memcoll,
81947         modules/modechange, modules/mountlist, modules/path-concat,
81948         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
81949         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
81950         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
81951         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
81952         modules/strftime, modules/strndup, modules/strverscmp,
81953         modules/timespec, modules/unlocked-io, modules/userspec,
81954         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
81955         modules/yesno:
81956         Remove lib_SOURCES line from Makefile.am section, as this is now
81957         done automatically by the corresponding Autoconf macro.
81958
81959 2005-03-21  Jim Meyering  <jim@meyering.net>
81960
81961         Changes imported from coreutils.
81962
81963         * lib/cycle-check.c: Don't include xalloc.h.
81964
81965         * lib/path-concat.c: Don't include assert.h.
81966         (path_concat): Remove assertion that would have triggered
81967         for ABASE starting with more than one slash.
81968         Reported by Andreas Schwab.
81969
81970         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
81971         properly when ABASE is an absolute file name.
81972         Correct the description of this function.
81973         Include <assert.h>.
81974         Add an assertion and a test driver.
81975         This fixes a bug introduced on 2004-07-02.
81976         Andreas Schwab reported the resulting failure of cp --parents:
81977         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
81978
81979 2005-03-21  Jim Meyering  <jim@meyering.net>
81980
81981         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
81982         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
81983
81984 2005-03-21  Jim Meyering  <jim@meyering.net>
81985         and  Paul Eggert  <eggert@cs.ucla.edu>
81986
81987         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
81988         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
81989         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
81990         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
81991         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
81992         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
81993         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
81994         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
81995         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
81996         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
81997         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
81998         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
81999         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
82000         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
82001         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
82002         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
82003         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
82004         for these modules.
82005
82006 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
82007
82008         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
82009         (which shouldn't happen), generate nothing instead of returning 0
82010         immediately, so that nstrftime (NULL, ...) doesn't return 0.
82011
82012 2005-03-16  Bruno Haible  <bruno@clisp.org>
82013
82014         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
82015         HAVE_LONGLONG_64BIT.
82016
82017 2005-03-16  Bruno Haible  <bruno@clisp.org>
82018
82019         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
82020         HAVE_LONGLONG_64BIT.
82021
82022 2005-03-16  Bruno Haible  <bruno@clisp.org>
82023
82024         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
82025         HAVE_LONGLONG_64BIT.
82026
82027 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82028
82029         * lib/strftime.c (my_strftime): Prepend space to format so that we can
82030         reliably distinguish strftime failure from empty output on POSIX
82031         hosts.
82032
82033 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82034
82035         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
82036         (iconv_string): Don't guess a size-zero buffer, as that might cause
82037         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
82038         result would be 'too large', where 'too large' is (heuristically)
82039         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
82040         overflow concerns.  This will prevent some unwanted malloc failures
82041         when the inputs are very large.
82042
82043 2005-03-15  Karl Berry  <karl@gnu.org>
82044
82045         * config/srclist.txt (config.rpath): from gettext.
82046         * config/config.rpath: update.
82047
82048 2005-03-15  Bruno Haible  <bruno@clisp.org>
82049
82050         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
82051         to 'negate'.
82052
82053         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
82054         variable.
82055
82056         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
82057         results.
82058
82059 2005-03-14  Simon Josefsson  <jas@extundo.com>
82060
82061         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
82062         <fx@gnu.org>.
82063
82064 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
82065
82066         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
82067         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
82068         intprops.h.
82069         * lib/strtol.c: Likewise.
82070
82071 2005-03-14  Jim Meyering  <jim@meyering.net>
82072
82073         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
82074         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
82075         to be nonzero so that we (and caller) can detect the difference
82076         between a valid zero-length expansion and an error return, even
82077         when the underlying strftime fails before writing anything into
82078         that location.
82079
82080 2005-03-14  Bruno Haible  <bruno@clisp.org>
82081
82082         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
82083         Update from GNU gettext 0.14.3.
82084
82085 2005-03-10  Jim Meyering  <jim@meyering.net>
82086
82087         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
82088
82089 2005-03-10  Jim Meyering  <jim@meyering.net>
82090
82091         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
82092         so that this module works on systems without fchdir.
82093
82094 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
82095
82096         Factor int-properties macros into a single file, except for
82097         glibc-related files.
82098         * lib/intprops.h: New file.
82099         * lib/getloadavg.c: Include it instead of limits.h.
82100         (INT_STRLEN_BOUND): Remove.
82101         * lib/human.c: Include intprops.h.
82102         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
82103         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
82104         302/1000.
82105         * lib/inttostr.h: Include intprops.h instead of limits.h.
82106         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
82107         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
82108         for consistency with intprops.h.
82109         (time_t_is_integer, twos_complement_arithmetic): Use them.
82110         * lib/sig2str.h: Include <signal.h>, intprops.h.
82111         (INT_STRLEN_BOUND): Remove.
82112         * lib/strftime.c (TYPE_SIGNED): Remove.
82113         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
82114         * lib/strtol.c: Adjust comments to match intprops.h.
82115         * lib/userspec.c: Include intprops.h.
82116         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
82117         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
82118         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
82119         instead of rolling our own expressions.
82120         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
82121
82122         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
82123         instead of int.
82124         (my_strftime): Do not mishandle years close to INT_MAX, by doing
82125         the right thing even if adding 1900 would overflow.  Similarly
82126         for tm_mon + 1 and tm_yday + 1.
82127         Make %Y always equivalent to %C%y, and similarly for %G and %g.
82128         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
82129         (DO_SIGNED_NUMBER): New macro.
82130         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
82131
82132 2005-03-07  Bruno Haible  <bruno@clisp.org>
82133
82134         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
82135
82136 2005-03-07  Bruno Haible  <bruno@clisp.org>
82137
82138         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
82139
82140 2005-03-04  Derek R. Price  <derek@ximbiot.com>
82141
82142         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
82143         (func_import): Only replace files via --import when they have actually
82144         changed.
82145
82146 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82147
82148         * m4/mmap-anon.m4: New file.
82149         * m4/pagealign_alloc.m4: New file.
82150
82151 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82152             Bruno Haible  <bruno@clisp.org>
82153
82154         * modules/pagealign_alloc: New file.
82155         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
82156
82157 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82158             Bruno Haible  <bruno@clisp.org>
82159
82160         * lib/pagealign_alloc.h: New file.
82161         * lib/pagealign_alloc.c: New file.
82162
82163 2005-03-03  Bruno Haible  <bruno@clisp.org>
82164
82165         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
82166         Use an all-permissive copyright notice, recommended by RMS.
82167
82168 2005-03-02  Bruno Haible  <bruno@clisp.org>
82169
82170         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
82171         of AIX, the replacement has to be done only after <string.h> is
82172         included, therefore not in config.h. stpncpy.h does the replacement,
82173         and stpncpy.c uses it.
82174
82175 2005-03-02  Bruno Haible  <bruno@clisp.org>
82176
82177         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
82178         stpncpy.c uses it.
82179
82180 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82181
82182         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
82183         The workaround isn't strictly needed for POSIX conformance, and
82184         it's too much of a pain to configure and maintain.  We'll ask
82185         people to fix their kernels instead.
82186         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
82187         (NANOSLEEP_BUG_WORKAROUND): Remove.
82188         (xnanosleep): Remove the workaround.
82189
82190 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82191
82192         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
82193         Reported by Derek Price.
82194         (Include): Add "timespec.h".
82195
82196         * modules/xnanosleep (Depends-on): Remove gethrxtime.
82197
82198 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82199
82200         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
82201         to detect nanosleep bug.
82202
82203 2005-03-01  Bruno Haible  <bruno@clisp.org>
82204
82205         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
82206
82207 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82208
82209         * modules/gethrxtime: New file.
82210         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
82211         (Depends-on): Add gethrxtime.
82212         (configure.ac): Add gl_XNANOSLEEP.
82213         (Makefile.am): Remove lib_SOURCES line.
82214
82215 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82216
82217         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
82218         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
82219
82220 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82221
82222         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
82223         * lib/timespec.h (gettime): Return void, since it always
82224         succeeds now.  All uses changed.
82225         * lib/gettime.c (gettime): Likewise.
82226         [HAVE_NANOTIME]: Prefer nanotime.
82227         Assume gettimeofday succeeds, as POSIX requires.
82228         Assime time () succeeds, since other code already does.
82229         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
82230         (timespec_subtract): Remove.
82231         (NANOSLEEP_BUG_WORKAROUND): New constant.
82232         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
82233         things considerably.  Use it only on GNU/Linux hosts, since the
82234         workaround shouldn't be needed elsewhere.
82235
82236 2005-02-24  Bruno Haible  <bruno@clisp.org>
82237
82238         * modules/gettext (Files): Add m4/glibc2.m4.
82239
82240 2005-02-24  Bruno Haible  <bruno@clisp.org>
82241
82242         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
82243         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
82244         * m4/progtest.m4:
82245         Update from GNU gettext 0.14.2.
82246         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
82247
82248 2005-02-24  Bruno Haible  <bruno@clisp.org>
82249
82250         * lib/localcharset.c: Update from GNU gettext 0.14.2.
82251         * lib/config.charset: Update from GNU gettext 0.14.2.
82252
82253 2005-02-24  Bruno Haible  <bruno@clisp.org>
82254
82255         * lib/gettext.h: Update from GNU gettext 0.14.2.
82256
82257 2005-02-23  Simon Josefsson  <jas@extundo.com>
82258
82259         * m4/iconvme.m4: New file.
82260
82261 2005-02-23  Jim Meyering  <jim@meyering.net>
82262
82263         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
82264         change.
82265         Thanks to Bruno Haible for catching it.
82266
82267 2005-02-22  Simon Josefsson  <jas@extundo.com>
82268
82269         * modules/iconvme: New file.
82270
82271         * MODULES.html.sh: Add iconvme.
82272
82273 2005-02-22  Simon Josefsson  <jas@extundo.com>
82274
82275         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
82276
82277 2005-02-22  Simon Josefsson  <jas@extundo.com>
82278
82279         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
82280
82281 2005-02-22  Jim Meyering  <jim@meyering.net>
82282
82283         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
82284         s/ifndef/ifdef/.
82285
82286 2005-02-20  Neil Conway  <neilc@samurai.com>
82287
82288         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
82289         returned by OSX/Darwin if the specified buffer is not large
82290         enough for the hostname.
82291
82292 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82293
82294         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
82295         pass it to _help, otherwise the latter coredumps trying to
82296         dereference state.root_argp.
82297
82298 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82299
82300         * modules/chdir-long (Depends-on): Add memrchr.
82301         * modules/memrchr (Files): Add lib/memrchr.h.
82302         (Include): "memrchr.h".
82303
82304 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82305
82306         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
82307
82308 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82309
82310         * lib/memrchr.h: New file.
82311         * lib/chdir-long.c: Include it.
82312         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
82313         Don't bother including stddef.h.
82314
82315 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
82316
82317         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
82318         inclusion.
82319         Include <sys/types.h>, for dev_t.
82320         (ME_DUMMY, ME_REMOTE): Move from here....
82321         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
82322         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
82323         Dmitry V. Levin.
82324         Include mountlist.h first, to test the interface.
82325
82326 2005-01-29  Bruno Haible  <bruno@clisp.org>
82327
82328         * lib/progname.c (program_name): Initialize.
82329         Needed when linking statically on MacOS X.
82330
82331 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82332
82333         Sync from coreutils.
82334         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
82335         (Depends-on): Add c-strtod.
82336         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
82337
82338 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82339
82340         Sync from coreutils.
82341         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
82342
82343         Remove files that are specific to coreutils.
82344         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
82345
82346 2005-01-28  Bruno Haible  <bruno@clisp.org>
82347
82348         * modules/javacomp: New file.
82349         * MODULES.html.sh (Java): Add javacomp.
82350
82351 2005-01-28  Bruno Haible  <bruno@clisp.org>
82352
82353         * m4/javacomp.m4: New file, from GNU gettext.
82354
82355 2005-01-28  Bruno Haible  <bruno@clisp.org>
82356
82357         * lib/javacomp.sh.in: New file, from GNU gettext.
82358         * lib/javacomp.h: New file, from GNU gettext.
82359         * lib/javacomp.c: New file, from GNU gettext.
82360
82361 2005-01-26  Simon Josefsson  <jas@extundo.com>
82362
82363         * lib/gai_strerror.c: Use GPL in header.
82364
82365 2005-01-26  Bruno Haible  <bruno@clisp.org>
82366
82367         * modules/javaexec: New file.
82368         * MODULES.html.sh (Java): Add javaexec.
82369
82370 2005-01-26  Bruno Haible  <bruno@clisp.org>
82371
82372         * m4/javaexec.m4: New file, from GNU gettext.
82373
82374 2005-01-26  Bruno Haible  <bruno@clisp.org>
82375
82376         * lib/javaexec.sh.in: New file, from GNU gettext.
82377         * lib/javaexec.h: New file, from GNU gettext.
82378         * lib/javaexec.c: New file, from GNU gettext.
82379
82380 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82381
82382         * modules/lchown (Depends-on): Remove lchown.h
82383
82384 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82385
82386         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
82387         must be defined if the header file was not found, in order
82388         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
82389
82390 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82391
82392         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
82393         initializers for struct pentry_state.
82394         (__argp_error): Check return value of __asprintf
82395         (__argp_failure): Translate error message
82396
82397         * lib/argp-parse.c: Removed braces around the expansion of N_()
82398
82399 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82400
82401         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
82402         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
82403         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
82404         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
82405         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
82406         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
82407         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
82408         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
82409         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
82410         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
82411         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
82412         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
82413         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
82414         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
82415         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
82416         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
82417         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
82418         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
82419         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
82420         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
82421         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
82422         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
82423         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
82424         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
82425         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
82426         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
82427         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
82428         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
82429         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
82430         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
82431         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
82432         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
82433         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
82434         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
82435         xstrtol.m4, xstrtoumax.m4, yesno.m4:
82436         Use an all-permissive copyright notice, recommended by RMS.
82437
82438 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
82439
82440         * modules/chdir-long (Depends-on): Remove mempcpy.
82441
82442 2005-01-21  Jim Meyering  <jim@meyering.net>
82443
82444         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
82445         same value as for Solaris 9.
82446
82447         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
82448         component length.  This included changing the parameter to be
82449         of type `char *' rather than `char const *'.
82450         * lib/chdir-long.h (chdir_long): Update prototype.
82451
82452         * lib/openat.c (fdopendir, fstatat): New functions.
82453         * lib/openat.h: Include headers required for use of DIR and struct
82454         stat.
82455         [AT_SYMLINK_NOFOLLOW]: Define.
82456         (fdopendir, fstatat): Add prototypes.
82457
82458 2005-01-21  Bruno Haible  <bruno@clisp.org>
82459
82460         * modules/classpath: New file.
82461         * MODULES.html.sh (Java): Add classpath.
82462
82463 2005-01-21  Bruno Haible  <bruno@clisp.org>
82464
82465         * lib/classpath.h: New file, from GNU gettext.
82466         * lib/classpath.c: New file, from GNU gettext.
82467
82468 2005-01-20  Simon Josefsson  <jas@extundo.com>
82469
82470         * modules/version-etc-fsf: New file.
82471
82472 2005-01-20  Simon Josefsson  <jas@extundo.com>
82473
82474         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
82475         * lib/version-etc.c: Remove version_etc_copyright.
82476         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
82477         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
82478
82479 2005-01-20  Simon Josefsson  <jas@extundo.com>
82480
82481         * lib/base64.h (isbase64): Add.
82482
82483         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
82484         using a unsigned prototype, don't inline.
82485         (base64_decode): Use it.
82486
82487 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82488
82489         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
82490         it.
82491
82492 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82493
82494         * lib/save-cwd.c (save_cwd): Remove code to support the case
82495         where fchdir is missing or flaky.
82496
82497 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82498
82499         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
82500
82501 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
82502
82503         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
82504         AC_LIBSOURCES now does this.
82505         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
82506         with new ullong_max module.
82507
82508 2005-01-19  Bruno Haible  <bruno@clisp.org>
82509
82510         * modules/sh-quote: New file.
82511         * MODULES.html.sh (Executing programs): Add sh-quote.
82512
82513 2005-01-19  Bruno Haible  <bruno@clisp.org>
82514
82515         * lib/sh-quote.h: New file, from GNU gettext.
82516         * lib/sh-quote.c: New file, from GNU gettext.
82517
82518 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82519
82520         Merge from coreutils.
82521         * m4/ullong_max.m4: New file.
82522         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
82523         (gl_MACROS): Assume localeconv exists.
82524
82525 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82526
82527         Merge changes from coreutils, as described below in several
82528         changelogs dated today.
82529
82530         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
82531         (O_DIRECTORY): Remove; not needed here, since "." must be
82532         a directory.  All uses removed.
82533         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
82534         universal on Suns, and we also need to test for IRIX.
82535         Revamp code to use 'if' rather than '#if'.
82536         Avoid unnecessary comparison of cwd->desc to 0.
82537
82538         * lib/utimens.c (futimens): Robustify the previous patch, by checking
82539         for known valid error numbers rather than observed invalid ones.
82540
82541 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82542
82543         * modules/ullong_max: New file.
82544
82545         * modules/chdir-long, modules/openat: New files.
82546         * modules/save-cwd (Depends-on): Depend on chdir-long.
82547         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
82548
82549 2005-01-18  Jim Meyering  <jim@meyering.net>
82550
82551         Merge from coreutils.
82552         * m4/chdir-long.m4, m4/openat.m4: New files.
82553         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
82554         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
82555         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
82556         is sane and DOES follow symlinks.  Besides, testing 20 different
82557         systems found no broken chown implementations.
82558         Prompted by a change in rsync's copy of this macro.
82559         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
82560
82561         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
82562
82563         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
82564         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
82565         NULL-means-set-to-current-time semantics.
82566         Remove temporary file immediately, rather than waiting
82567         for configure's at-exit trap code to do it.
82568
82569 2005-01-18  Jim Meyering  <jim@meyering.net>
82570
82571         * lib/version-etc.c (version_etc_copyright): Update copyright date.
82572
82573         * lib/utimens.c (futimens): Account for the fact that futimes
82574         can also fail with errno == ENOSYS or errno == ENOENT.
82575         Patch from Dmitry V. Levin.
82576
82577         Change the name of the robust chdir function from chdir to chdir_long.
82578         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
82579         (restore_cwd): Use chdir_long, not chdir.
82580         * lib/chdir-long.c: Renamed from chdir.c.
82581         * lib/chdir-long.h: Renamed from chdir.h.
82582         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
82583         Hurd.
82584
82585 2005-01-18  Bruno Haible  <bruno@clisp.org>
82586
82587         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
82588         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
82589         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
82590         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
82591         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
82592         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
82593         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
82594         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
82595         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
82596         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
82597         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
82598         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
82599         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
82600         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
82601         Use an all-permissive copyright notice, recommended by RMS.
82602
82603 2005-01-18  Bob Proulx  <bob@proulx.com>
82604
82605         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
82606         simplify offsetof() macro construct to avoid compile failure with
82607         native HP-UX 11.0 ANSI C compiler.
82608
82609 2005-01-17  Bruno Haible  <bruno@clisp.org>
82610
82611         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
82612         redundant because stpncpy.m4 takes care of it.
82613
82614 2005-01-17  Bruno Haible  <bruno@clisp.org>
82615
82616         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
82617
82618 2005-01-17  Bruno Haible  <bruno@clisp.org>
82619
82620         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
82621         used.
82622
82623 2005-01-17  Bruno Haible  <bruno@clisp.org>
82624
82625         * lib/fwriteerror.h (fwriteerror): Change specification to include
82626         fclose.
82627         * lib/fwriteerror.c: Include <stdbool.h>.
82628         (fwriteerror): At the end, close the file stream. Record whether
82629         stdout was already closed.
82630
82631 2005-01-17  Bruno Haible  <bruno@clisp.org>
82632
82633         * lib/execute.c (environ): Declare if needed.
82634         * lib/pipe.c (environ): Likewise.
82635         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
82636
82637 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82638
82639         * modules/argp: Depend on vsnprintf
82640
82641 2005-01-10  Jim Meyering  <jim@meyering.net>
82642
82643         * modules/closeout (Depends-on): Add atexit.
82644
82645 2005-01-06  Bruno Haible  <bruno@clisp.org>
82646
82647         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
82648
82649 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82650
82651         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
82652         definitions to be after all include files, to avoid collisions.
82653         Problem reported by Bob Proulx.
82654
82655 2005-01-04  Jim Meyering  <jim@meyering.net>
82656
82657         Changes imported from coreutils.
82658         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
82659         as the mkstemp template, use a temporary directory and an
82660         8.3-friendly template to avoid trouble on systems like DJGPP.
82661         Reported by Juan M. Guerrero via Stepan Kasal.
82662         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
82663         close. Remove the temporary directory right away, rather than waiting
82664         for configure's at-exit trap code to do it.
82665         Suggestion from Stepan Kasal.
82666
82667 2005-01-01  Simon Josefsson  <jas@extundo.com>
82668
82669         * gnulib-tool: Print #include directives when --import'ing.
82670
82671 2004-12-28  Simon Josefsson  <jas@extundo.com>
82672
82673         * tests/test-base64.c: Include required header files.  Remove
82674         unused variables.
82675
82676 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82677
82678         * modules/error (Depends-on): Remove gettext.
82679
82680 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82681
82682         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
82683         not needed.  This removes a dependency on the gettext module.
82684         [defined _LIBC]: Do not include <libintl.h>; not needed.
82685
82686 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82687
82688         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
82689         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
82690
82691 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82692
82693         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
82694         HAVE_DECL_STRTOLD.
82695
82696 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82697
82698         * modules/getdate (Depends-on): Remove alloca-opt.
82699
82700 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82701
82702         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
82703
82704 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82705
82706         * lib/argp-parse.c: Include <stddef.h>.
82707         (alignof, alignto): New macros.
82708         (parser_init): Don't assume that void * is aligned sufficiently
82709         for struct option.
82710
82711         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
82712         need to extend the stack.
82713         (YYINITDEPTH): New macro, so that the initial stack isn't overly
82714         large.
82715
82716 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82717
82718         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
82719
82720 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82721
82722         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
82723         (2004-10-24) change.  Apparently this was a false alarm.
82724
82725         * modules/getdate: Depend on alloca-opt, not alloca.
82726
82727 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82728
82729         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
82730         Remove now-obsolete comment about AIX.
82731         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
82732         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
82733         (YYMAXDEPTH): New macro.
82734
82735 2004-12-18  Simon Josefsson  <jas@extundo.com>
82736
82737         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
82738
82739 2004-12-18  Bruno Haible  <bruno@clisp.org>
82740
82741         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
82742
82743 2004-12-18  Bruno Haible  <bruno@clisp.org>
82744
82745         * lib/fatal-signal.c (fatal_signals): Make non-const.
82746         (init_fatal_signals): New function.
82747         (uninstall_handlers, install_handlers): Ignore signals that were set to
82748         SIG_IGN.
82749         (at_fatal_signal): Call init_fatal_signals.
82750         (init_fatal_signal_set): Likewise. Ignore signals that were set to
82751         SIG_IGN.
82752         Reported by Paul Eggert.
82753
82754 2004-12-18  Bruno Haible  <bruno@clisp.org>
82755
82756         * doc/alloca.texi: New file.
82757         * doc/alloca-opt.texi: New file.
82758
82759 2004-12-17  Jim Meyering  <jim@meyering.net>
82760
82761         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
82762         Otherwise, install-sh could exit with improper exit status when
82763         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
82764
82765 2004-12-16  Simon Josefsson  <jas@extundo.com>
82766
82767         * tests/test-base64.c: Add license.
82768
82769 2004-12-15  Stepan Kasal  <address@hidden>
82770
82771         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
82772
82773 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
82774
82775         * modules/getcwd (Files): Add m4/d-ino.m4.
82776         Suggested by Mark D. Baushke.
82777
82778 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82779
82780         * lib/getdate.y (textint): New member "negative".
82781         (time_zone_hhmm): New function.
82782         Expect 14 shift-reduce conflicts, not 13.
82783         (o_colon_minutes): New rule.
82784         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
82785         (yylex): Set the "negative" member of signed numbers.
82786
82787 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82788
82789         * doc/getdate.texi (Time of day items, Time zone items):
82790         Describe new formats +00:00, UTC+00:00.
82791
82792 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82793
82794         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
82795         spurious "-l"s.  Problem reported by Stepan Kasal.
82796
82797 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
82798
82799         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
82800         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
82801
82802 2004-12-04  Simon Josefsson  <jas@extundo.com>
82803
82804         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
82805         Vandoorselaere <yoann@prelude-ids.org>.
82806
82807 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82808
82809         Changes imported from coreutils.
82810         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
82811         exist.
82812         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
82813
82814 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82815
82816         Changes imported from coreutils.
82817         * lib/hard-locale.c: Assume <locale.h> exists.
82818         Include "strdup.h".
82819         (GLIBC_VERSION): New macro.
82820         (hard_locale): Assume setlocale exists.
82821         Rewrite to avoid #ifdef.
82822         Use strdup rather than malloc + strcpy.
82823         * lib/human.c: Assume <locale.h> exists.
82824         (human_readable): Assume localeconv exists.
82825
82826 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82827
82828         * modules/hard-locale (Depends-on): Add strdup.
82829
82830 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
82831
82832         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
82833         convert T2, not T.  (Imported from libc.)
82834
82835 2004-11-30  Simon Josefsson  <jas@extundo.com>
82836
82837         * modules/restrict (License): Change to LGPL.
82838
82839 2004-11-30  Simon Josefsson  <jas@extundo.com>
82840
82841         * m4/restrict.m4: Add copyright and copying conditions.
82842
82843 2004-11-30  Simon Josefsson  <jas@extundo.com>
82844
82845         * m4/base64.m4: New file.
82846
82847 2004-11-30  Simon Josefsson  <jas@extundo.com>
82848
82849         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
82850         base64.
82851
82852         * tests/test-base64.c: New file.
82853
82854         * modules/base64: New file.
82855
82856 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82857
82858         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
82859         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
82860
82861         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
82862
82863 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82864
82865         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
82866         (__getcwd.c): Don't restore errno; glibc doesn't.
82867         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
82868         first, falling back to our code only if its results look suspicious.
82869         Ensure that the resulting buffer is only as large as necessary.
82870
82871         * lib/readutmp.c: Include readutmp.h first.
82872         Include <errno.h>, since readutmp.h no longer does that.
82873         * lib/readutmp.h: Don't include <errno.h>,
82874         <sys/param.h>, <time.h>; not needed to establish interface.
82875         (errno): Remove decl.
82876         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
82877         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
82878         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
82879
82880 2004-11-28  Simon Josefsson  <jas@extundo.com>
82881
82882         * lib/base64.h, base64.c: New file.
82883
82884 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
82885
82886         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
82887
82888 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
82889
82890         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
82891         (Depends-on): Remove pathmax, same.  Add mempcpy.
82892         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
82893         (Makefile.am): Append getcwd.h to lib_SOURCES.
82894         (Include): Add getcwd.h.
82895         (Maintainer): Change from Jim Meyering to "all, glibc",
82896         since getdate now uses intended-for-glibc code.
82897         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
82898         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
82899
82900 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82901
82902         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
82903         HP's ANSI C compiler.
82904         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
82905         Declaring int functions causes warnings on some modern systems and
82906         shouldn't be needed to compile on ancient ones.
82907         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
82908         defined.
82909
82910         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
82911         with the following changes.
82912         (__set_errno): Parenthesize properly.
82913         Include <stdbool.h>.
82914         (MIN, MAX, MATCHING_INO): New macros.
82915         (__getcwd): Define with prototype, not K&R form.
82916         Use heuristics to allocate default buffer on stack if possible.
82917         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
82918         behavior, and to avoid the PATH_MAX limit when computing
82919         ../../../../...
82920         Use MATCHING_INO to compare inode number to file.
82921         Check for arithmetic overflow in size calculations.
82922         Fix bug in reallocation of dot array that caused getcwd to fail
82923         on directories nested deeper than 75.
82924         Be more careful about saving errno on error.
82925         Do not use realloc; use only free+malloc, as this is a bit
82926         more flexible and avoids a needless copy operation.
82927         Do not inspect st_dev and st_ino for symbolic links; POSIX
82928         doesn't specify the latter.
82929         Check for closedir errors.
82930         Avoid needless casts.
82931         Use "#ifdef weak_alias" around weak_alias, to be like other
82932         glibc code.
82933         The following changes to getcwd.c have effect only when used in
82934         gnulib; they have no effect inside glibc proper.
82935         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
82936         as alloca isn't used.
82937         (alloca, __alloca): Likewise.
82938         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
82939         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
82940         unconditionally, as gnulib assumes C89 or better.
82941         Do not include <sys/param.h>.
82942         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
82943         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
82944         better.
82945         (NULL) [!defined NULL]: Remove; we assume C89 or better.
82946         Include <dirent.h> in a way that is compatible with modern Autoconf.
82947         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
82948         New macros, if not already defined.
82949         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
82950         Use "_LIBC", not "defined _LIBC", for consistency.
82951         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
82952         a mempcpy module.
82953         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
82954         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
82955         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
82956         credit only to Jim Meyering and adjust the copyright dates.
82957         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
82958         <stdlib.h>, <unistd.h>, "pathmax.h".
82959         Instead, include "xgetcwd.h" (first) and "getcwd.h".
82960         (INITIAL_BUFFER_SIZE): Remove.
82961         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
82962
82963 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82964
82965         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
82966         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
82967         Use the _ONCE methods, for efficiency.
82968         Check for fcntl.h.  In test program, include <errno.h>
82969         and <fcntl.h> if available.  Remove old K&R cruft from
82970         test program.  Check for common errors in GNU/Linux,
82971         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
82972         don't do AC_LIBOBJ, as that's getcwd.m4's job.
82973         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
82974         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
82975         name accordingly.
82976         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
82977         accommodate new getcwd.c.
82978         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
82979         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
82980         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
82981         that's all we need now.
82982
82983 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82984
82985         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
82986         argp-parse.c depends on getopt internals, that means we should
82987         always use our getopt, to be on the safe side.
82988         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
82989         order not to spoil the result of an eventual previous invocation
82990         of gl_GETOPT_SUBSTITUTE.
82991
82992 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82993
82994         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
82995         redefinition warnings. To avoid them, include the defines
82996         in `#if !defined __need_getopt ... #endif'. The only place
82997         where __getopt_argv_const is used is in definitions
82998         of getopt_long and getopt_long_only below, which are as well
82999         protected by `#ifndef __need_getopt'.
83000         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
83001         __need_getopt after including <stdio.h> and <unistd.h> These
83002         headers might have defined it.
83003
83004 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83005
83006         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
83007
83008 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83009
83010         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
83011         (futimens): New function, which uses futimes if available.
83012         (futimens, utimens): Support timespec==NULL, with same semantics
83013         as utime and utimens.
83014         * lib/utimens.h (futimens): New decl.
83015
83016 2004-11-23  Jim Meyering  <jim@meyering.net>
83017
83018         * lib/getopt_.h: Remove trailing blanks.
83019
83020 2004-11-23  Jim Meyering  <jim@meyering.net>
83021
83022         * lib/__fpending.c: Add comment.
83023
83024 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
83025
83026         * modules/canonicalize (Depends-on): Add xreadlink.
83027         Problem reported by James Youngman.
83028
83029 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
83030
83031         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
83032         New macros.
83033         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
83034         optopt): Use them instead of invoking ## directly; otherwise, the
83035         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
83036
83037 2004-11-19  Bruno Haible  <bruno@clisp.org>
83038
83039         * lib/strtok_r.c: Move comments from here...
83040         * lib/strtok_r.h: ... to here.
83041
83042 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83043
83044         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
83045         implementations that mishandle size_t overflow.
83046
83047 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83048
83049         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
83050         might fail.  Problem reported by Yoann Vandoorselaere.
83051         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
83052         implementations that mishandle size_t overflow.
83053
83054 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83055
83056         * modules/canon-host (Depends-on): Add strdup.
83057
83058 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83059
83060         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
83061
83062 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83063
83064         * lib/canon-host.c: Include "strdup.h".
83065         (canon_host): Use getaddrinfo if available, so that IPv6 works.
83066         Use strdup instead of malloc/strcpy to duplicate strings.
83067
83068         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
83069         (human_space_before_unit): New constant.
83070         * lib/human.c (human_readable): Support it.
83071
83072         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
83073         (xgetcwd): Set errno correctly when failing.
83074         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
83075         the failure is actually due to a PATH_MAX problem.
83076
83077         Further getopt changes to make it more likely that glibc will
83078         buy the changes back.
83079         * lib/getopt.c (POSIXLY_CORRECT): New constant.
83080         (getopt): Use it, so to preserve glibc semantic
83081         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
83082         when compiling for libc.
83083         * lib/getopt_.h (__getopt_argv_const): Bring it back.
83084         (getopt_long, getopt_long_only): Use it.
83085
83086         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83087         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
83088         (getopt): Argv is now char * const *, as per standard.
83089         (_getopt_internal_r, _getopt_internal): Argv is now char **,
83090         not char *__getopt_argv_const *.
83091         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83092         _getopt_long_only_r): Likewise.
83093         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
83094         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83095         _getopt_long_r, _getopt_long_only_r): Likewise.
83096         * lib/getopt_.h (__getopt_argv_const): Remove.
83097         (getopt): Argv is now char * const *, as per standard.
83098
83099         * lib/getdate.y (tORDINAL): New token.
83100         (day, relunit): Allow it for relative times.
83101         (relative_time_table): Use tORDINAL for ordinals.
83102
83103 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83104
83105         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
83106         Document that "second" isn't allowed as an ordinal number.
83107
83108 2004-11-16  Jim Meyering  <jim@meyering.net>
83109
83110         * modules/closeout (Depends-on): Add fpending.
83111
83112 2004-11-15  Jim Meyering  <jim@meyering.net>
83113
83114         * lib/closeout.c: Include "__fpending.h" once again.
83115         Include <stdbool.h>.
83116         (close_stdout): Don't fail just because stdout was closed initially,
83117         since some programs don't write to stdout in the normal course of
83118         operation (other than --version and --help), and we don't want this
83119         function to make e.g. `touch file >&-' fail.
83120         But do fail if it was closed and someone has tried to write to it.
83121         E.g., `printf foo >&-' must fail.
83122
83123 2004-11-13  Jim Meyering  <jim@meyering.net>
83124
83125         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
83126
83127 2004-11-12  Simon Josefsson  <jas@extundo.com>
83128
83129         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
83130         small doc fix is still pending.
83131
83132 2004-11-11  Simon Josefsson  <jas@extundo.com>
83133
83134         * modules/strtok_r: New file.
83135
83136         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83137         strtok_r.
83138
83139 2004-11-11  Simon Josefsson  <jas@extundo.com>
83140
83141         * m4/strtok_r.m4: New file.
83142
83143         * m4/getopt.m4: Replace opterr.
83144
83145 2004-11-11  Simon Josefsson  <jas@extundo.com>
83146
83147         * lib/strtok_r.h, strtok_r.c: New file.
83148
83149 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83150
83151         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
83152         of replacing opterr, getopt, etc.  This should handle the
83153         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
83154
83155 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83156
83157         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
83158         we can stop lying to compilers about the constness of argv when we
83159         are compiled outside glibc.
83160         (getopt, getopt_long, getopt_long_only): Use it.
83161         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83162         _getopt_internal, getopt): Likewise.
83163         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83164         _getopt_long_only_r): Likewise.
83165         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83166         _getopt_long_r, _getopt_long_only_r): Likewise.
83167
83168         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
83169         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
83170         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
83171         the other external symbols.
83172         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
83173         declaration, since the above renaming now works around collisions.
83174
83175 2004-11-11  Jim Meyering  <jim@meyering.net>
83176
83177         * lib/linebreak.c: Remove trailing blanks.
83178         * lib/alloca_.h: Likewise.
83179         * lib/acosl.c: Likewise.
83180         * lib/euidaccess.c: Likewise.
83181         * lib/allocsa.h: Likewise.
83182
83183 2004-11-10  Simon Josefsson  <jas@extundo.com>
83184
83185         * m4/getaddrinfo.m4: New file.
83186
83187 2004-11-10  Simon Josefsson  <jas@extundo.com>
83188
83189         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
83190
83191 2004-11-10  Simon Josefsson  <jas@extundo.com>
83192
83193         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83194         getaddrinfo.
83195
83196         * modules/getaddrinfo: New file.
83197
83198 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83199
83200         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
83201
83202 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83203
83204         * lib/mktime.c (SHR): New macro, which is a portable
83205         substitute for >> that should work even on Crays.
83206         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
83207         Problem reported by Mark D. Baushke in
83208         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
83209         * lib/getdate.y (SHR): Likewise.
83210         (tm_diff): Use it.
83211         * lib/strftime.c (SHR): Likewise.
83212         (tm_diff): Use it.
83213         * lib/quotearg.c (struct quoting_options): Use unsigned int for
83214         quote_these_too, so that right shifts are well defined.  All uses
83215         changed.
83216
83217 2004-11-10  Jim Meyering  <jim@meyering.net>
83218
83219         Ensure that no close failure goes unreported.
83220         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
83221         return early when it seems there's nothing to flush.
83222         Don't include __fpending.h.
83223
83224 2004-11-10  Jim Meyering  <jim@meyering.net>
83225
83226         * modules/closeout (Depends-on): Remove fpending.
83227
83228 2004-11-10  Jim Meyering  <jim@meyering.net>
83229
83230         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
83231
83232 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83233
83234         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
83235         gl_FUNC_STRFTIME.
83236         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
83237         and AC_REQUIRE when possible, to avoid duplicate checks.
83238         Check for <wchar.h>.
83239
83240 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83241
83242         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
83243
83244 2004-11-09  Bruno Haible  <bruno@clisp.org>
83245
83246         * m4/sockpfaf.m4: New file.
83247
83248 2004-11-05  Bruno Haible  <bruno@clisp.org>
83249
83250         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
83251         Reported by Mark D. Baushke <mdb@cvshome.org>.
83252
83253 2004-11-04  Bruno Haible  <bruno@clisp.org>
83254
83255         2004-09-11  Bruno Haible  <bruno@clisp.org>
83256                 * allocsa.valgrind: New file.
83257         2004-02-06  Bruno Haible  <bruno@clisp.org>
83258                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
83259                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
83260                 Reported by Christopher Seip <chris.seip@hp.com>.
83261
83262 2004-11-04  Bruno Haible  <bruno@clisp.org>
83263
83264         * modules/allocsa (Files): Add lib/allocsa.valgrind.
83265         (Makefile.am): Distribute it.
83266
83267 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
83268
83269         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
83270         with errno == ERANGE if the buffer is too small.
83271         Problem reported by Mark D. Baushke.
83272
83273 2004-11-03  Albert Chin  <china@thewrittenword.com>
83274             Paul Eggert  <eggert@cs.ucla.edu>
83275
83276         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
83277         equivalent, substitute $ac_type for equivalent type rather than
83278         blindly using uint32_t *always* which won't work if uint32_t is not
83279         available.  Define _UINT32_T to work around typedef of uint32_t if
83280         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
83281         2.5.1.
83282
83283 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83284
83285         * m4/jm-macros.m4: Sync from coreutils.
83286         (gl_MACROS): Check for mbrlen, for pathchk.
83287         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
83288
83289 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83290
83291         * lib/xreadlink.c (MAXSIZE): New macro.
83292         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
83293         size does not exceed MAXSIZE.  Avoid cast.
83294         As suggested by Mark D. Baushke in
83295         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
83296         if readlink fails with buffer size just under MAXSIZE, try again
83297         with MAXSIZE.
83298
83299 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83300
83301         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
83302
83303 2004-11-02  Derek R. Price  <derek@ximbiot.com>
83304         and  Paul Eggert  <eggert@cs.ucla.edu>
83305
83306         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
83307         (get_date): Overparenthesize to avoid GCC warning.
83308
83309 2004-11-02  Bruno Haible  <bruno@clisp.org>
83310
83311         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
83312         returns void.
83313
83314 2004-11-02  Bruno Haible  <bruno@clisp.org>
83315
83316         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
83317         function returns void.
83318
83319 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83320
83321         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
83322         fflush_unlocked, flockfile, funlockfile, funlockfile,
83323         fputs_unlocked, putc_unlocked.
83324
83325 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83326
83327         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83328         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
83329         already declared.
83330
83331 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83332
83333         * modules/getdate (Files): Add doc/getdate.texi.
83334         (Depends-on): Add setenv, xalloc.
83335
83336 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83337
83338         * lib/getdate.y: Add support for TZ="foo" within a date string.
83339         Fix some bugs near time_t boundaries.  Reject dates with
83340         out-of-range components, e.g., "Sept 31".
83341         Include <stdlib.h>, "setenv.h", "xalloc.h".
83342         (ISDIGIT_LOCALE): Remove; unused.
83343         Note that the TZ and time functions used here are not reentrant.
83344         (mktime_ok, get_tz): New functions.
83345         (TZBUFSIZE): New constant.
83346         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
83347         This requires that we sometimes generate our own TZ="XXX..." setting.
83348
83349 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83350
83351         * doc/getdate.texi: New file, from coreutils with modifications for
83352         the new TZ parsing.
83353
83354 2004-10-27  Derek R. Price  <derek@ximbiot.com>
83355
83356         * lib/mktime.c (not_equal_tm): Remove redundant check.
83357
83358 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83359
83360         * modules/regex (lib_SOURCES): Add regex.c.
83361         Reported by James Youngman in
83362         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
83363
83364 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83365
83366         * lib/getdate.y: Use Bison 1.875 features, and some minor
83367         code cleanups.  This change does not affect semantics.
83368         Don't include <stdlib.h>; no longer needed.
83369         Don't include unlocked-io.h; only the "#if TEST" code uses
83370         stdio, and performance isn't crucial there.
83371         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
83372         Bison 1.875 features as described below.
83373         All uses of "PC." replaced by "pc->".
83374         (YYSTYPE): Add a forward declaration.
83375         (yylex, yyerror): Use full prototypes in forward decls.
83376         Use "%pure-parser" rather than obsolescent "%pure_parser".
83377         Use %parse-param and %lex-param instead of obsolescent
83378         YYPARSE_PARAM and YYLEX_PARAM.
83379         (meridian_table, month_and_day_table, time_units_table,
83380         relative_time_table, time_zone_table, military_table,
83381         lookup_zone, lookup_word, get_date):
83382         Use NULL instead of 0 where appropriate.
83383         (to_hour): Avoid abort (), to avoid a dependency on
83384         stdlib.h.
83385         (yyerror, yylex): Now accepts parser_control * arg.
83386         (main) [TEST]: Use '\0' rather than 0 for char.
83387
83388 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83389
83390         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
83391
83392 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83393
83394         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
83395         It's now the caller's responsibility to handle the case where
83396         !HAVE_GETPAGESIZE && !defined getpagesize.
83397
83398         * lib/mktime.c (leapyear): Arg is long int, not int.
83399
83400 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
83401
83402         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
83403
83404 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
83405
83406         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
83407         missing.  Problem reported by James Youngman.
83408
83409 2004-10-16  Simon Josefsson  <jas@extundo.com>
83410
83411         * gnulib-tool: Fix comments.  Fix parse problem.
83412         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
83413
83414 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
83415
83416         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
83417         implementation of getopt_long.  Problem reported by Alexander Taler in:
83418         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
83419
83420 2004-10-15  Bruno Haible  <bruno@clisp.org>
83421
83422         * gnulib-tool: Untabify. Initialize supplied_libname.
83423         (func_usage): More homogenous output.
83424         (func_modules_transitive_closure, func_modules_to_filelist,
83425         func_emit_lib_Makefile_am): New functions.
83426         (func_import): New function, extracted from big case statement. Use
83427         func_get_license, func_modules_transitive_closure,
83428         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
83429         opt_lgpl. Don't use test -a, as it's not portable.
83430         (func_create_testdir): Use func_modules_transitive_closure,
83431         func_modules_to_filelist, func_emit_lib_Makefile_am.
83432
83433 2004-10-15  Bruno Haible  <bruno@clisp.org>
83434
83435         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
83436
83437 2004-10-15  Bruno Haible  <bruno@clisp.org>
83438
83439         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
83440         the portions belonging to each module.
83441         Suggested by Derek Robert Price <derek@ximbiot.com>.
83442
83443 2004-10-12  Simon Josefsson  <jas@extundo.com>
83444
83445         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83446         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
83447         to real functions.
83448
83449 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83450
83451         * modules/vsnprintf: New file.
83452
83453 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83454
83455         * m4/vsnprintf.m4: New file.
83456
83457 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83458
83459         * lib/vsnprintf.h: New file.
83460         * lib/vsnprintf.c: New file.
83461
83462 2004-10-11  Bruno Haible  <bruno@clisp.org>
83463
83464         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
83465         vsnprintf.
83466
83467 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83468
83469         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
83470
83471 2004-10-07  Bruno Haible  <bruno@clisp.org>
83472
83473         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
83474         fits into the provided buffer.
83475
83476 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83477
83478         * lib/diacrit.c, diacrit.h: Add GPL notice.
83479
83480         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
83481         notice.
83482         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
83483         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
83484         This avoids a potential constant-folding bug.
83485
83486 2004-10-05  Bruno Haible  <bruno@clisp.org>
83487
83488         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
83489         for the declaration of strsep.
83490
83491 2004-10-05  Bruno Haible  <bruno@clisp.org>
83492
83493         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
83494
83495 2004-10-04  Simon Josefsson  <jas@extundo.com>
83496
83497         * modules/memmem: New file.
83498         * tests/test-memmem.c: New file.
83499         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
83500
83501 2004-10-04  Simon Josefsson  <jas@extundo.com>
83502
83503         * m4/memmem.m4: New file.
83504
83505 2004-10-04  Simon Josefsson  <jas@extundo.com>
83506
83507         * lib/memmem.h: New file.
83508         * lib/memmem.c: New file, taken from glibc.
83509
83510 2004-10-04  Simon Josefsson  <jas@extundo.com>
83511
83512         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
83513         '#ifdef USE_UNLOCKED_IO'.
83514
83515 2004-10-04  Simon Josefsson  <jas@extundo.com>
83516
83517         * config/srclist.txt: Add memmem from glibc.
83518
83519 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83520
83521         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
83522
83523         * modules/argmatch, modules/argp, modules/closeout, modules/error,
83524         modules/exclude, modules/getdate, modules/getline,
83525         modules/getndelim2, modules/getpass, modules/getpass-gnu,
83526         modules/getusershell, modules/linebuffer, modules/md5,
83527         modules/mountlist, modules/posixtm, modules/readtokens,
83528         modules/readutmp, modules/regex, modules/sha1,
83529         modules/version-etc, modules/yesno:
83530         Remove dependency on unlocked-io.
83531
83532 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83533
83534         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
83535
83536         * m4/unlocked-io.m4: Add copyright notice.
83537         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
83538
83539 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83540
83541         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
83542         * lib/xmalloc.c (xmemdup): Likewise.
83543         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
83544         XFREE): Remove these long-obsolescent macros.
83545         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
83546         * lib/xstrdup.c: Remove.
83547
83548         * lib/regex.c (re_comp): Cast gettext return value to char *,
83549         Problem reported by Martin Neitzel via Mark D. Baushke.
83550
83551 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83552
83553         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
83554         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
83555         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
83556         regex.c, sha1.c, version-etc.c, yesno.c:
83557         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
83558         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
83559         the includer's responsibility.
83560
83561         Sync from coreutils.
83562
83563         * lib/modechange.c (mode_compile): Don't decrement a pointer that
83564         points to the start of a string, as the C Standard says the
83565         resulting behavior is undefined.
83566
83567         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
83568         simple -> simple_backups, numbered_existing ->
83569         numbered_existing_backups, numbered -> numbered_backups
83570         to avoid shadowing problems.  All uses changed.
83571         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
83572         * lib/backupfile.c (check_extension, numbered_backup):
83573         Rename locals to avoid shadowing 'basename'.
83574         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
83575         once.
83576
83577         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
83578         * lib/.cvsignore: Add getopt.h.
83579
83580 2004-10-04  Bruno Haible  <bruno@clisp.org>
83581
83582         * modules/README: New file.
83583         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
83584         not a module.
83585
83586 2004-10-02  Jim Meyering  <jim@meyering.net>
83587
83588         * lib/dirfd.h, getpagesize.h: Add copyright notice.
83589
83590 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83591
83592         * modules/strsep: New file.
83593
83594 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83595
83596         * m4/strsep.m4: New file.
83597
83598 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83599
83600         * lib/strsep.h: New file.
83601         * lib/strsep.c: New file.
83602
83603 2004-10-01  Simon Josefsson  <jas@extundo.com>
83604
83605         * lib/snprintf.c (snprintf): Handle size==0.
83606
83607 2004-10-01  Simon Josefsson  <jas@extundo.com>
83608             Bruno Haible  <bruno@clisp.org>
83609
83610         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
83611         (snprintf): Declare 'args'.
83612
83613 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
83614
83615         * lib/snprintf.c: Remove comments as to why each header is needed.
83616
83617 2004-10-01  Bruno Haible  <bruno@clisp.org>
83618
83619         * MODULES.html.sh: Add strsep.
83620
83621 2004-09-30  Simon Josefsson  <jas@extundo.com>
83622
83623         * modules/snprintf: New file.
83624
83625 2004-09-30  Simon Josefsson  <jas@extundo.com>
83626
83627         * m4/snprintf.m4: New file.
83628
83629 2004-09-30  Simon Josefsson  <jas@extundo.com>
83630
83631         * lib/snprintf.h, lib/snprintf.c: New files.
83632
83633 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83634
83635         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
83636         (hol_entry_help): Never translate an empty string.
83637         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
83638         * lib/argp.h (OPTION_NO_TRANS): New option.
83639
83640 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83641
83642         * modules/argp (Maintainer): Replace Simon Josefsson
83643         by Sergey Poznyakoff.
83644
83645 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83646
83647         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
83648         changes merged back into glibc.
83649
83650 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83651
83652         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
83653
83654 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
83655
83656         * lib/xvasprintf.c: Include xalloc.h.
83657         (xvasprintf): Use xalloc_die, not xmalloc_die.
83658
83659 2004-09-29  Bruno Haible  <bruno@clisp.org>
83660
83661         * modules/alloca-opt: New file, derived from modules/alloca.
83662         * modules/allocsa: Depend on alloca-opt instead of alloca.
83663         * modules/setenv: Likewise.
83664         * modules/vasnprintf: Likewise.
83665         * MODULES.html.sh: Add alloca-opt.
83666
83667 2004-09-28  Simon Josefsson  <jas@extundo.com>
83668
83669         * gnulib-tool: New parameter --lgpl, to asseert that modules are
83670         LGPL, and to replace license template from GPL to LGPL.
83671
83672 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83673
83674         * modules/dummy: Change license to LGPL.
83675
83676 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83677
83678         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
83679
83680 2004-09-24  Simon Josefsson  <jas@extundo.com>
83681
83682         * modules/minmax (License): Change from GPL to LGPL.
83683
83684 2004-09-23  Simon Josefsson  <jas@extundo.com>
83685
83686         * gnulib-tool (--import): Typo.
83687
83688 2004-09-23  Simon Josefsson  <jas@extundo.com>
83689
83690         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
83691
83692 2004-09-22  Bruno Haible  <bruno@clisp.org>
83693
83694         * modules/*: Add 'License' field.
83695         * gnulib-tool: Accept --extract-license option.
83696         (func_get_license): New function.
83697
83698 2004-09-21  Bruno Haible  <bruno@clisp.org>
83699
83700         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
83701         Reported by Simon Josefsson.
83702
83703 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83704
83705         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
83706         gl_AC_TYPE_LONG_LONG.
83707
83708 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83709
83710         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
83711
83712 2004-09-18  Simon Josefsson  <jas@extundo.com>
83713         and  Paul Eggert  <eggert@cs.ucla.edu>
83714
83715         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
83716         calls with autoreconf.  Define GL_LIB.
83717
83718 2004-09-14  Karl Berry  <karl@gnu.org>
83719
83720         * config/srclist.txt: unsync setenv.c, sigh.
83721
83722 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83723
83724         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
83725         Problem reported by Bruno Haible in:
83726         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
83727
83728 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83729
83730         * config/srclist.txt: Comment out argp-pvh.c.
83731
83732 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
83733
83734         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
83735         in case some system header has #define'd it.  Problem reported by
83736         Soeren D. Schulze in
83737         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
83738
83739 2004-09-09  Karl Berry  <karl@gnu.org>
83740
83741         * regex.[ch]: delete from the root.  These were supposed to be
83742                 synced with emacs cvs, but this has not happened for about
83743                 a year, and anyway nothing else uses emacs regex.[ch].
83744                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
83745                 lib/regex[.ch] is untouched.
83746
83747 2004-09-09  Bruno Haible  <bruno@clisp.org>
83748
83749         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
83750
83751 2004-09-09  Bruno Haible  <bruno@clisp.org>
83752
83753         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
83754         modifications.
83755         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
83756
83757 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83758
83759         * modules/xvasprintf: New file.
83760         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
83761
83762 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83763
83764         * lib/xvasprintf.h: New file.
83765         * lib/xvasprintf.c: New file.
83766         * lib/xasprintf.c: New file.
83767
83768 2004-09-08  Bruno Haible  <bruno@clisp.org>
83769
83770         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
83771
83772 2004-09-08  Bruno Haible  <bruno@clisp.org>
83773
83774         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
83775         length is > INT_MAX.
83776         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
83777         more.
83778
83779 2004-09-08  Bruno Haible  <bruno@clisp.org>
83780
83781         * lib/stdint_.h: New file, taken from GNU clisp.
83782
83783 2004-09-08  Bruno Haible  <bruno@clisp.org>
83784             Oskar Liljeblad  <oskar@osk.mine.nu>
83785
83786         * modules/stdint: New file.
83787         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
83788
83789 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83790
83791         Import from coreutils.
83792         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
83793         strings on unbounded length.  alloca's performance benefits aren't
83794         that important here.
83795         (V_STRDUP): Remove.
83796         (parse_with_separator): New function, with most of the internals
83797         of the old parse_user_spec.  Allow user to omit both user and group,
83798         for compatibility with FreeBSD.
83799         Clone only the user name, not the entire spec.
83800         Do not set *uid, *gid unless entirely successful.
83801         Avoid memory leak in some failing cases.
83802         Fix regression for USER.GROUP reported by Dmitry V. Levin in
83803         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
83804         (parse_user_spec): Rewrite to use parse_with_separator.
83805
83806 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83807
83808         * modules/userspec: Don't depend on alloca.
83809
83810 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83811
83812         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
83813
83814 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83815
83816         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
83817         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
83818         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
83819
83820 2004-08-16  Simon Josefsson  <jas@extundo.com>
83821
83822         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
83823         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
83824         Add --dry-run for --import.
83825         Let user provided command line parameters override configure.ac
83826         settings.
83827
83828 2004-08-12  Simon Josefsson  <jas@extundo.com>
83829
83830         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
83831         as discussed with Paul Eggert in threads rooted at
83832         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
83833         and
83834         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
83835         Before, the test was empty, and relied on ELIDE_CODE in source
83836         code.)
83837         (gl_PREREQ_GETOPT): New macro.
83838         (gl_GETOPT): Use them.
83839
83840 2004-08-12  Simon Josefsson  <jas@extundo.com>
83841
83842         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
83843         * lib/getopt_.h: Renamed from getopt.h.
83844
83845 2004-08-12  Simon Josefsson  <jas@extundo.com>
83846
83847         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
83848         Change default library name from libfoo to libgnu.
83849         Now, if you have a configure.ac that says:
83850                 gl_SOURCE_BASE(gl)
83851                 gl_M4_BASE(gl/m4)
83852                 gl_MODULES(error getopt etcetera)
83853                 gl_INIT
83854         you can import all you need by running:
83855                 ../gnulib/gnulib-tool --import
83856
83857         * modules/getopt (Files): Rename getopt.h to getopt_.h.
83858         (Makefile.am): Rewrite, use logic from argz.
83859         (Include): Use <getopt.h> instead of "getopt.h".
83860
83861 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83862
83863         * modules/argp (Files): Add m4/unlocked-io.m4.
83864         (Depends-on): Add extensions.
83865
83866 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83867
83868         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
83869         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
83870         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
83871         Check for program_invocation_name, program_invocation_short_name,
83872         flockfile, funlockfile, features.h, _getopt_long_only_r.
83873
83874 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83875
83876         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
83877         its complicated substitute.
83878         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
83879         and program_invocation_name.
83880         (__argp_basename) [!_LIBC]: Remove; the only use was
83881         replaced by its body.
83882         (__argp_short_program_name): Change condition from
83883         !defined __argp_short_program_name to
83884         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
83885         to match argp-namefrob.h.
83886         (__argp_failure): Don't assume strerror_r returns char *.
83887         * lib/argp-parse.c (N_): Define unconditionally.
83888         (argp_default_options): Fill out initializers with 0 to avoid
83889         gcc warnings.
83890
83891 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83892
83893         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
83894         getopt1.c.
83895
83896 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83897
83898         Merge from coreutils.
83899
83900         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
83901
83902         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
83903         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
83904
83905 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83906
83907         Merge from coreutils.
83908
83909         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
83910         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
83911         for Reliant Unix 5.43.
83912
83913         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
83914         (union fooround): Use uintmax_t, not long int.
83915         The rest is a merge from libc:
83916         [defined _LIBC]: Include <shlib-compat.h>.
83917         (_obstack) [defined _LIBC]: Remove after 2.3.4.
83918
83919         * lib/settime.c (settime): Recode to avoid warning with
83920         Sun Forte C 6U2.
83921
83922         * lib/strverscmp.c: Convert to UTF-8.
83923
83924 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83925
83926         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
83927         m4/uintmax_t.m4.
83928
83929 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83930
83931         * modules/xalloc-die: New file.
83932         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
83933
83934         * modules/md5 (Files): Add m4/uint32_t.m4.
83935         * modules/sha1: Renamed from modules/sha.
83936         (Files):
83937         Rename lib/sha.h to lib/sha1.h.
83938         Rename lib/sha.c to lib/sha1.c.
83939         Rename m4/sha.m4 to m4/sha1.m4.
83940         (lib_SOURCES): Likewise.
83941         (configure.ac): Rename gl_SHA to gl_SHA1.
83942         (Include): sha.h -> sha1.h.
83943
83944 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83945
83946         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
83947         * m4/sha1.m4: Renamed from sha.m4.
83948         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
83949
83950 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83951
83952         * lib/obstack.h (obstack_empty_p):
83953         Don't assume that chunk->contents is suitably aligned.
83954         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
83955         Likewise. Problem reported by Benno in
83956         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
83957
83958         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
83959         readable.  This could be improved further but it'd take some work.
83960
83961 2004-08-08  Simon Josefsson  <jas@extundo.com>
83962
83963         * modules/xgethostname (Depends-on): Remove exit and error (not
83964         used).
83965
83966         * modules/getpass-gnu: Add getpass.h.
83967         (Depends-on): Add stdbool.
83968         * modules/getpass: Add getpass.h.
83969
83970 2004-08-08  Simon Josefsson  <jas@extundo.com>
83971
83972         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
83973         Check getpass declaration.
83974
83975 2004-08-08  Simon Josefsson  <jas@extundo.com>
83976
83977         * lib/xgethostname.c: Don't include error.h (not used).
83978
83979         * lib/getpass.h: Add.
83980         * lib/getpass.c: Include getpass.h first.
83981
83982 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
83983
83984         * lib/xalloc-die.c: New file.
83985         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
83986         All uses removed.
83987         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
83988         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
83989         xalloc-die.c.
83990         (_, N_, xalloc_die): Move to xalloc-die.c.
83991         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
83992         so that we needn't mess with xalloc_msg_memory_exhausted.
83993
83994         * lib/sha1.h: Renamed from sha.h.
83995         (SHA1_H): Renamed from _SHA_H.
83996         (sha1_ctx): Renamed from sha_ctx.
83997         (sha1_init_ctx): Renamed from sha_init_ctx.
83998         (sha1_process_block): Renamed from sha_process_block.
83999         (sha1_process_bytes): Renamed from sha_process_bytes.
84000         (sha1_finish_ctx): Renamed from sha_finish_ctx.
84001         (sha1_read_ctx): Renamed from sha_read_ctx.
84002         (sha1_stream): Renamed from sha_stream.
84003         (sha1_buffer): Renamed from sha_buffer.
84004         * lib/sha1.c: Likewise; renamed from sha.c.
84005         Do not include <sys/types.h>.
84006         Include <stddef.h> rather than <stdlib.h>.
84007
84008 2004-08-08  Bruno Haible  <bruno@clisp.org>
84009
84010         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
84011         FILESYSTEM_PREFIX_LEN.
84012         * lib/progreloc.c: Likewise.
84013         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
84014
84015 2004-08-06  Simon Josefsson  <jas@extundo.com>
84016
84017         * modules/progname (Depends-on): Don't depend on stdbool.
84018
84019 2004-08-06  Simon Josefsson  <jas@extundo.com>
84020
84021         * modules/getsubopt: New file.
84022         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84023         getsubopt.
84024
84025 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84026
84027         More merge from coreutils.
84028
84029         * m4/utimens.m4, m4/utimecmp.m4: New files.
84030         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
84031         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
84032         prereq.m4, sha.m4: Import changes from coreutils.
84033
84034 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84035
84036         More merge from coreutils.
84037         * modules/raise, modules/readtokens0, modules/utimens:
84038         * modules/utimecmp, module/xnanosleep: New files.
84039         * modules/strftime: Add lib/strftime.h.
84040         Change include from <time.h> to "strftime.h".
84041         * modules/yesno: Add lib/yesno.h.
84042         * modules/backupfile: Remove lib/addext.c.
84043         * modules/euidaccess: Add stat-macros.h.
84044         * modules/canonicalize, modules/euidaccess,
84045         modules/filemode, modules/lchown, modules/makepath,
84046         modules/rmdir, modules/stat: Likewise.
84047
84048 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84049
84050         Merge from tar.
84051         * lib/argp-help.c (make_hol, hol_append): Don't assume that
84052         SIZE_MAX is a valid preprocessor constant.
84053         (__argp_basename): Change from "#ifndef _LIBC"
84054         to "#ifndef __argp_short_program_name", so that
84055         we don't compile these functions for tar.
84056
84057         More merges from coreutils.
84058         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
84059         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
84060         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
84061         * lib/addext.c: Remove; no longer needed.
84062         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
84063         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
84064         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
84065         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
84066         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
84067         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
84068         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
84069         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
84070         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
84071         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
84072         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
84073         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
84074         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
84075         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
84076         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
84077         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
84078         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
84079         Import changes from coreutils.
84080
84081 2004-08-05  Simon Josefsson  <jas@extundo.com>
84082
84083         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
84084
84085 2004-08-05  Simon Josefsson  <jas@extundo.com>
84086
84087         * m4/getsubopt.m4: New file.
84088
84089 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84090
84091         Merge from coreutils.
84092
84093         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
84094         * m4/getcwd-path-max.m4: New files.
84095
84096         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
84097         FILESYSTEM_PREFIX_LEN ->
84098         FILE_SYSTEM_PREFIX_LEN.
84099         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
84100         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
84101         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
84102         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
84103
84104         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
84105         prerequisite modules now handle the DOS stuff.
84106         Don't check for unistd.h.
84107
84108 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84109
84110         Merge from coreutils.
84111
84112         * lib/.gdb-history: Remove; this doesn't belong here.
84113
84114         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
84115         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
84116         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
84117         * lib/getcwd.c: New files.
84118
84119         * lib/dirname.h: Include <stdbool.h>.
84120         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
84121         for consistency with POSIX terminology.  All uses changed.
84122         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
84123         (strip_trailing_slashes): Use bool for booleans.
84124         * lib/stripslash.c (strip_trailing_slashes): Likewise.
84125
84126         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
84127         sometimes returns a positive errno value even when it succeeds.
84128         (print_errno_message) [!LIBC]: Fall back on strerror if
84129         __strerror_r fails.
84130
84131         * lib/path-concat.c (mempcpy): Don't define if a system header defines
84132         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
84133         (longest_relative_suffix): New function.
84134         (path_concat): Use it.  Assume first argument is not NULL.
84135         Port to DOS.  Omit redundant separators.
84136         Report an error instead of returning NULL.
84137         Use mempcpy instead of memcpy.
84138         (xpath_concat): Remove: not declared or used.
84139
84140         * lib/same.h: Include <stdbool.h>
84141         (same_name): Return bool, not int.
84142         * lib/same.c (same_name): Likewise.
84143         (errno): Don't declare; we assume C89 or better now.
84144
84145         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
84146         if not already defined.
84147
84148         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
84149         * lib/dup-safer.c (errno): Likewise.
84150
84151 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84152
84153         Merge from coreutils.
84154         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
84155         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
84156         * modules/path-concat: Don't depend on strdup.
84157
84158 2004-08-03  Simon Josefsson  <jas@extundo.com>
84159
84160         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
84161         * lib/progname.h: Don't include stdbool.h.
84162
84163 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84164
84165         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
84166         * MODULES.html.sh (func_all_modules): Remove fatal.
84167
84168 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84169
84170         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
84171
84172 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84173
84174         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
84175         working.
84176
84177 2004-08-02  Simon Josefsson  <jas@extundo.com>
84178
84179         * lib/getsubopt.h: New file, with comments from Bruno Haible.
84180         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
84181         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
84182
84183 2004-08-01  Simon Josefsson  <jas@extundo.com>
84184
84185         * lib/xgetdomainname.c: Include stdlib.h, for free().
84186
84187 2004-07-19  Bruno Haible  <bruno@clisp.org>
84188
84189         * MODULES.html.sh (func_all_modules): Add dummy.
84190
84191 2004-07-16  Simon Josefsson  <jas@extundo.com>
84192
84193         * modules/dummy: New file.
84194
84195 2004-07-16  Simon Josefsson  <jas@extundo.com>
84196
84197         * lib/dummy.c: New file.
84198
84199 2004-07-16  Bruno Haible  <bruno@clisp.org>
84200
84201         * lib/backupfile.h: Add extern "C" for C++.
84202         * lib/closeout.h: Likewise.
84203         * lib/copy-file.h: Likewise.
84204         * lib/findprog.h: Likewise.
84205         * lib/full-write.h: Likewise.
84206         * lib/pathname.h: Likewise.
84207         * lib/progname.h: Likewise.
84208         * lib/stpcpy.h: Likewise.
84209         * lib/stpncpy.h: Likewise.
84210         * lib/strcase.h: Likewise.
84211         * lib/strstr.h: Likewise.
84212         * lib/xalloc.h: Likewise.
84213
84214         * lib/mbswidth.h: Add extern "C" for C++.
84215         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
84216
84217 2004-07-13  Robert Millan  <robertmh@gnu.org>
84218
84219         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
84220
84221 2004-07-09  Simon Josefsson  <jas@extundo.com>
84222
84223         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
84224         failed without this.)
84225
84226 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84227
84228         * modules/chown (Files): Add lib/fchown-stub.c, since
84229         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
84230
84231 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84232
84233         * lib/fchown-stub.c: New file.
84234
84235 2004-06-24  Jim Meyering  <jim@meyering.net>
84236
84237         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
84238
84239 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84240
84241         * modules/argz: Omit "#include".
84242
84243         * MODULES.html.sh (func_all_modules): Add calloc, to match
84244         2004-06-01 addition of calloc module.
84245
84246 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84247
84248         * m4/argz.m4: New file, which is autoupdated from libtool.
84249
84250 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84251
84252         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
84253         libtool.
84254
84255 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84256
84257         * config/srclist-update: Don't insist on "USA." before the
84258         close-comment, as libtool omits the period and puts the */ on a
84259         separate line.
84260         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
84261         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
84262
84263 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
84264
84265         * modules/argz: New file.
84266         * MODULES.html.sh (func_all_modules): Add argz.
84267
84268 2004-06-12  Jim Meyering  <jim@meyering.net>
84269         and  Paul Eggert  <eggert@cs.ucla.edu>
84270
84271         * modules/hash (Files): Add lib/xalloc.h.
84272         * modules/pipe (Depends-on): Add wait-process.
84273         * modules/stat (Depends-on): Add xalloc.
84274         * modules/userspec (Files): Add lib/userspec.h.
84275         * modules/xstrto
84276
84277         Upgrade from gettext-0.13.
84278         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
84279         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
84280         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
84281
84282 2004-06-10  Jim Meyering  <jim@meyering.net>
84283
84284         * lib/calloc.c: New file.
84285
84286 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
84287
84288         * lib/getdate.y (yylex): Allow space between sign and number.
84289         Problem reported by Dan Jacobson.
84290
84291 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84292
84293         Merge from coreutils CVS.
84294
84295         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
84296         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
84297         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
84298         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
84299         xstrtol.m4: Fix copyright date and/or serial number.
84300
84301         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
84302         See if we need an fchown replacement.
84303         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
84304         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
84305         and use the replacement function if we detect either defect.
84306
84307         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
84308         gl_UTIMECMP.
84309
84310 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84311         and  Jim Meyering  <jim@meyering.net>
84312
84313         Merge from coreutils CVS.
84314
84315         * lib/stat-macros.h: New file, with contents from file-type.h
84316         and coreutils' system.h.
84317         * lib/file-type.c: Include "stat-macros.h".
84318         * lib/file-type.h (file_type): Move all macro definitions to new file,
84319         stat-macros.h.
84320
84321         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
84322         Wrap old code with this conditional.
84323         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
84324         function that does not dereference symlinks.
84325         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
84326
84327         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
84328         dependency problems.
84329         (xreadlink): Accept new arg SIZE, for efficiency.
84330         All decls and uses changed.
84331         * lib/xreadlink.h: Include <stddef.h>, for size_t.
84332
84333         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
84334         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
84335
84336         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
84337         sysexits.h.
84338
84339 2004-06-01  Jim Meyering  <jim@meyering.net>
84340
84341         * m4/calloc.m4: New file.
84342
84343 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
84344
84345         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
84346         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
84347         Also, fix a typo in a diagnostic.
84348
84349 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84350
84351         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
84352         or AC_FUNC_REALLOC.
84353
84354 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84355
84356         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
84357         macros to be defined.
84358         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
84359         the allocator returns NULL because the requested size is zero.
84360
84361 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84362
84363         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
84364         var.  Add comment explaining why libc still defines it.  This
84365         merges the following patch from glibc:
84366         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
84367
84368 2004-05-20  Andreas Schwab  <schwab@suse.de>
84369
84370         * m4/free.m4: Replace free if it not known to work, not the other
84371         way round.
84372
84373 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
84374
84375         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
84376         present in glibc since revision 1.1 of this file.
84377         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
84378         obstack_alignment_mask, obstack_alloc, obstack_base,
84379         obstack_blank, obstack_blank_fast, obstack_chunk_size,
84380         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
84381         obstack_grow0, obstack_init, obstack_int_grow,
84382         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
84383         obstack_next_free, obstack_object_size, obstack_ptr_grow,
84384         obstack_ptr_grow_fast, obstack_room): Remove declarations of
84385         nonexistent functions.
84386
84387 2004-05-18  Karl Berry  <karl@gnu.org>
84388
84389         * config/srclist.txt: break link for vasnprintf.c.
84390
84391 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84392
84393         Port obstack to the AS/400, where pointers are 16 bytes wide and
84394         you cannot cast an integer to a valid pointer.  This patch is
84395         currently waiting to be integrated into glibc; see
84396         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
84397
84398         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
84399         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
84400         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
84401         (struct obstack): temp member is now a union of a pointer and
84402         an integer, instead of an integer.  All integer uses changed.
84403         This does not affect the physical layout of struct obstack,
84404         except on hosts (like the AS/400) where the size or alignment of
84405         void * is greater than that of ptrdiff_t.
84406         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
84407         __STDC__)]: Store temporary in pointer member of union, not
84408         integer member.
84409         * lib/obstack.c: Include <stddef.h>, for offsetof.
84410         (struct fooalign): Remove; it doesn't need a name.
84411         (union fooround): Change double to long double, and add void *.
84412         (DEFAULT_ALIGNMENT): Use offsetof to compute.
84413         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
84414         not a macro.  Hence the values are always int; so remove all
84415         casts-to-int in uses.
84416
84417 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84418
84419         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
84420         we can get this patch merged into glibc.
84421
84422 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84423             Paul Eggert  <eggert@cs.ucla.edu>
84424
84425         * m4/argp: Depend on alloca.
84426
84427 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84428             Paul Eggert  <eggert@cs.ucla.edu>
84429
84430         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
84431         freecoding.
84432
84433 2004-05-17  Bruno Haible  <bruno@clisp.org>
84434
84435         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
84436         precision that consists of a '.' followed by an empty digit string.
84437         Patch by Tor Lillqvist <tml@iki.fi>.
84438
84439 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84440
84441         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
84442         for backward compatibility with older code.  We need our own
84443         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
84444         it under some other name, and our alloca.h will define it.
84445
84446 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84447             Derek Price  <derek@ximbiot.com>
84448
84449         * lib/alloca.c: Include <alloca.h>, to get our interface.
84450         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
84451         include <alloca.h> first.  Use C89 prototype for alloca; this
84452         requires including <stddef.h> for size_t.  Use extern "C" if C++.
84453         Use #elif for simplicity, since we can assume C89 now.
84454         Don't try to source the system alloca.h since it will not be found
84455         and to prevent recursively including its replacement.
84456         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
84457         * lib/regex.c: Likewise.
84458
84459 2004-05-16  Derek Price  <derek@ximbiot.com>
84460             Paul Eggert  <eggert@cs.ucla.edu>
84461
84462         getline cleanup.  This changes the getndelim2 API: both order of
84463         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
84464         no delimiter).
84465
84466         * lib/getline.c: Don't include stddef.h or stdio.h, since our
84467         interface does that.
84468         (getline): Always use getdelim, so that we don't have two
84469         copies of this code.
84470         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
84471         if available.
84472         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
84473         (GETNDELIM2_MAXIMUM): New macro.
84474         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
84475         instead of the old practice of delim2==0.  All callers changed.
84476         Return -1 on overflow, instead of returning junk.
84477         Do not set *linesize unless allocation succeeds.
84478         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
84479         that we include sys/types.h.
84480         * lib/getnline.h: Likewise.
84481         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
84482         (getndelim2): Reorder arguments.
84483         * lib/getnline.c (getnline, getndelim):
84484         Don't discard the NMAX argument.
84485         (getnline): Invoke getndelim, to avoid code duplication.
84486         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
84487         of (size_t) -1 by callers of the getnline family.
84488
84489 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84490
84491         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
84492         Check for gettimeofday.
84493         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
84494         Check for settimeofday, stime.
84495
84496 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84497
84498         * lib/nanosleep.c (suspended): Change its type from int to
84499         sig_atomic_t volatile.
84500         (first_call): Make it private to rpl_nanosleep, and have it
84501         be zero initially as that's a bit faster.
84502         (my_usleep): Round up fractional times instead of truncating them,
84503         as this is the usual meaning for 'sleep'.
84504
84505         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
84506         doesn't work.
84507         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
84508         (ENOSYS): Define if not defined.
84509         (settime): Fall back on stime if it exists and settimeofday fails.
84510         But don't bother with fallbacks if a method fails with errno == EPERM.
84511
84512 2004-05-11  Jim Meyering  <jim@meyering.net>
84513
84514         Prior to this change, the save_cwd caller required read access to the
84515         current directory on most systems (ones with the fchdir function).
84516
84517         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
84518         fails, try write-only, and finally, resort to using xgetcwd.
84519
84520 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84521
84522         * lib/obstack.c, obstack.h: Import changes from libc.
84523
84524 2004-04-28  Bruno Haible  <bruno@clisp.org>
84525
84526         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
84527         also implicitly appends .exe to executables.
84528         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
84529         accepts Windows pathnames.
84530         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84531         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84532         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84533         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84534         Reported by Derek Robert Price <derek@ximbiot.com>.
84535
84536 2004-04-21  Karl Berry  <karl@gnu.org>
84537
84538         * config/srclist.txt (localcharset.c): break sync.
84539
84540 2004-04-20  Paul Eggert  <eggert@twinsun.com>
84541
84542         * m4/host-os.m4: Add a copyright notice.
84543
84544 2004-04-20  Jim Meyering  <jim@meyering.net>
84545
84546         Change UTILS_ to gl_ in AC_DEFINE'd names.
84547         Change utils_- and jm_-prefixed variables, too.
84548         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
84549         UTILS_FUNC_MKDIR_TRAILING_SLASH.
84550         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
84551
84552         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
84553         Don't emit trailing blanks.
84554         Also rename jm_-prefixed variables to have gl_ prefix.
84555
84556         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
84557         Also rename jm_-prefixed variables to have gl_ prefix.
84558
84559         * m4/jm-macros.m4: Reflect the renamings.
84560         * m4/prereq.m4: Likewise.
84561
84562 2004-04-20  Jim Meyering  <jim@meyering.net>
84563
84564         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
84565         memory.
84566
84567 2004-04-20  Jim Meyering  <jim@meyering.net>
84568             Bruno Haible  <bruno@clisp.org>
84569
84570         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
84571         memory when realloc fails.
84572
84573 2004-04-19  Jim Meyering  <jim@meyering.net>
84574
84575         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
84576         now that readutmp.c may call `free (0)'.
84577
84578 2004-04-19  Bruno Haible  <bruno@clisp.org>
84579
84580         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
84581         * m4/inttypes_h.m4: Likewise.
84582         * m4/stdint_h.m4: Likewise.
84583         * m4/intmax_t.m4: Likewise.
84584         * m4/uintmax_t.m4: Likewise.
84585
84586 2004-04-18  Jim Meyering  <jim@meyering.net>
84587
84588         * m4/prereq.m4: Don't forbid jm_ prefix.
84589
84590         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
84591         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
84592         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
84593         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
84594         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
84595         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
84596         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
84597         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
84598         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
84599         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
84600         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
84601         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
84602         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
84603         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
84604         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
84605         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
84606         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
84607         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
84608         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
84609
84610 2004-04-18  Jim Meyering  <jim@meyering.net>
84611
84612         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
84613         failure, don't leak memory and do call END_UTMP_ENT.
84614
84615 2004-04-16  Jim Meyering  <jim@meyering.net>
84616
84617         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
84618         coreutils' stat program.
84619         (gl_PREREQ): Don't require jm_PREREQ_STAT.
84620
84621 2004-04-11  Paul Eggert  <eggert@twinsun.com>
84622
84623         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
84624         C89.
84625         (CHAR_BIT): Remove, since we assume C89.
84626         Include <stdint.h> if available, as per current Autoconf CVS advice.
84627
84628 2004-03-31  Jim Meyering  <jim@meyering.net>
84629
84630         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
84631         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
84632         * m4/xalloc.m4: Likewise.
84633
84634 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84635
84636         Merge from coreutils.
84637
84638         * m4/inttostr.m4: New file.
84639         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
84640         Require AM_STDBOOL_H and gl_TIMESPEC instead.
84641         Require gl_CLOCK_TIME.
84642         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
84643
84644 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84645
84646         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
84647         not bool, to be more consistent with Unix conventions.
84648         Suggested by Bruno Haible.
84649
84650         Merge from coreutils.
84651
84652         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
84653         * lib/umaxtostr.c: New files.
84654
84655         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
84656         the usual <time.h> dance.
84657         (get_date): Change signature to support fractional time stamps.
84658         All callers changed.
84659         * lib/getdate.y: Include "getdate.h" first, as we can now
84660         assume C89 and don't need to worry about 'const'.
84661         Similarly, include "unlocked-io.h" near start, not in middle.
84662         Include <limits.h>.
84663         (textint.value): Use long int rather than int.
84664         (textint.digits): Use size_t rather than int.
84665         (BILLION, LOG10_BILLION): New constants.
84666         (parser_control): New member rel_ns.  Members day_ordinal,
84667         time_zone, month, day, hour, minutes, rel_year, rel_month,
84668         rel_day, rel_hour, rel_minutes, rel_seconds
84669         are now long int, not int.  Member seconds is now struct timespec,
84670         not int.  New member timespec_seen.  Members dates_seen, days_seen,
84671         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
84672         not int.
84673         (%union.intval): Now long int, not int.
84674         New member timespec.
84675         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
84676         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
84677         (spec): Now is a timespec or an item list.
84678         (timespec, items): New nonterminals.
84679         (time, rel, relunit, number, get_date):
84680         Add support for fractional seconds.
84681         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
84682         (gmtime, localtime, mktime): Remove decls; not needed with C89.
84683         (to_hour): First arg is now long int, not int.
84684         (to_year): Returns long int, not int.
84685         Don't treat year -70 like 70.
84686         (tm_diff): Returns long int, not int.
84687         (lookup_word): Use bool instead of int when appropriate.
84688         (yylex): Use size_t for count, not int.
84689         Detect overflow when parsing large integer constants.
84690         Add support for fractions.
84691         (get_date): Make pointers 'const' if possible.
84692         Use more-portable code to detect integer overflow.
84693         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
84694         Don't use ctime; it's not reliable if the year has >4 digits.
84695
84696         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
84697         This is for compatibility with BSD.
84698
84699         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
84700         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
84701         From coreutils' system.h.
84702
84703         * lib/userspec.c: Don't include "posixver.h".
84704         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
84705         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
84706         compatible extension.  Simplify code by removing a boolean int
84707         that was always nonzero if a string was nonnull.
84708
84709 2004-03-30  Jim Meyering  <jim@meyering.net>
84710
84711         Merge from coreutils.
84712
84713         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
84714         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
84715         on some systems one must include <grp.h> before it.
84716         Reported by Christian Krackowizer.
84717
84718 2004-03-30  Jim Meyering  <jim@meyering.net>
84719
84720         Merge from coreutils.
84721
84722         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
84723
84724         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
84725         an empty input stream.
84726
84727         * lib/readtokens.c: Include <stdbool.h>.
84728         (readtoken): Use `size_t' rather than int/long.
84729         All callers adjusted.
84730         Use `bool' rather than `int' where appropriate.
84731         Use memset rather than an explicit loop.
84732         Use x2nrealloc rather than xrealloc.
84733         Allow the use of `\0' as a delimiter.
84734         (readtokens): Likewise.
84735         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
84736
84737 2004-03-30  Jim Meyering  <jim@meyering.net>
84738
84739         * m4/realloc.m4: Remove file, since now it does no more than
84740         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
84741         the `configure.ac' section of module/realloc.
84742         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
84743
84744 2004-03-30  Bruno Haible  <bruno@clisp.org>
84745
84746         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
84747         nonnull.
84748
84749 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84750
84751         Merge changes to getloadavg.c from coreutils and Emacs.
84752
84753         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
84754         Define to an expression, not to the empty string.
84755         Include cloexec.h and xalloc.h.
84756         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
84757         Use set_cloexec_flag rather than rolling our own.
84758         * lib/cloexec.c, lib/cloexec.h: New files.
84759
84760 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84761
84762         * m4/cloexec.m4: New file.
84763
84764 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84765
84766         * lib/getopt.h: Sync with libc CVS.
84767
84768 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84769             Bruno Haible  <bruno@clisp.org>
84770
84771         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
84772         mbswidth.
84773
84774 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84775             Bruno Haible  <bruno@clisp.org>
84776
84777         * lib/mbswidth.h: Include <wchar.h> only if
84778         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
84779         <wchar.h>.
84780         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
84781
84782 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84783
84784         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
84785         Sync with libc CVS.
84786         * lib/getopt_int.h: New file, also synced from libc.
84787
84788 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84789
84790         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
84791         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
84792         Bring back getopt.c, getopt.h, getopt1.c.
84793
84794 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84795
84796         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
84797         All uses changed.  Check for sa_sigaction member; this fixes
84798         a bug first reported by Jason Andrade in
84799         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84800
84801 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84802
84803         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
84804         '#if' expressions.  Unlike the code it replaces, it does not
84805         depend on (defined _SC_PAGESIZE).  However, it does depend on
84806         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
84807         first reported by Jason Andrade in
84808         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84809
84810 2004-02-25  Simon Josefsson  <jas@extundo.com>
84811
84812         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
84813
84814 2004-02-25  Simon Josefsson  <jas@extundo.com>
84815
84816         * lib/strdup.h: New file.
84817         * lib/strdup.c: Include it.
84818         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
84819         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
84820
84821 2004-02-23  Karl Berry  <karl@gnu.org>
84822
84823         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
84824         (from fencepost.gnu.org:/gd/gnuorg).
84825
84826 2004-02-23  Karl Berry  <karl@gnu.org>
84827
84828         * config/srclistvars.sh (GNUORG) [karl]: redefine.
84829         * config/srclist.txt: add maintain/standards documents.
84830
84831 2004-02-18  Bruno Haible  <bruno@clisp.org>
84832
84833         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
84834         Reported by Derek Robert Price <derek@ximbiot.com>.
84835
84836 2004-02-16  Karl Berry  <karl@gnu.org>
84837
84838         * config/mkinstalldirs, install-sh: update from automake.
84839
84840 2004-02-06  Karl Berry  <karl@gnu.org>
84841
84842         * m4/po.m4: update from gettext 0.14.1.
84843
84844 2004-02-06  Karl Berry  <karl@gnu.org>
84845
84846         * lib/config.charset: update from gettext 0.14.1.
84847
84848 2004-02-05  Paul Eggert  <eggert@twinsun.com>
84849
84850         Add comments and code, prompted by suggestions from Bruno Haible
84851         for sh-quote.
84852         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
84853         describing the enum quoting_style values.
84854         * lib/quotearg.c (quotearg_alloc): New function.
84855         (quotearg_buffer_restyled): Treat lone { and } as special.
84856         Treat = as special.  Work around bug with older shells
84857         that "see" a '\' that is really the 2nd byte of a multibyte char.
84858         Quote empty string with shell_quoting_style.
84859
84860 2004-02-03  Bruno Haible  <bruno@clisp.org>
84861
84862         * m4/pipe.m4: New file, from GNU gettext.
84863
84864 2004-02-03  Bruno Haible  <bruno@clisp.org>
84865
84866         * lib/pipe.h: New file, from GNU gettext.
84867         * lib/pipe.c: New file, from GNU gettext.
84868
84869 2004-01-27  Bruno Haible  <bruno@clisp.org>
84870
84871         * m4/execute.m4: New file, from GNU gettext.
84872
84873 2004-01-27  Bruno Haible  <bruno@clisp.org>
84874
84875         * lib/execute.h: New file, from GNU gettext.
84876         * lib/execute.c: New file, from GNU gettext.
84877         * lib/w32spawn.h: New file, from GNU gettext.
84878
84879 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84880
84881         Merge from diffutils.
84882
84883         * lib/file-type.c (file_type): Add typed memory objects.
84884         * lib/file-type.h (S_TYPEISTMO): New macro.
84885
84886         * lib/c-stack.h (c_stack_action): Remove argv argument.
84887         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
84888         (die): Don't calculate message unless segv_action returns.
84889         (get_stack_location, min_address_from_argv, max_address_from_argv,
84890         volatile stack_base, volatile_stack_size): Remove.
84891         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
84892         that every segmentation violation is a stack overflow.  (Ouch!)
84893         See Debian bug 136249 (still outstanding) for more info about why
84894         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
84895
84896 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84897
84898         Exit-status fix from coreutils.
84899
84900         Use exit_failure consistently in place of EXIT_FAILURE,
84901         so that program exit statuses are consistent on failure.
84902
84903         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
84904         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
84905         * lib/argmatch.h: Comment fix to match the above.
84906         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
84907         Now a macro referring to exit_failure, instead of a separate
84908         variable.  Include "exitfail.h" to get it.
84909         * lib/xstrtol.h: Include "exitfail.h".
84910         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
84911
84912         * lib/long-options.c (parse_long_options): Use prototype
84913         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
84914         for clarity.
84915
84916 2004-01-21  Jim Meyering  <jim@meyering.net>
84917
84918         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
84919         so as not to conflict with a different-sized __mktime_internal
84920         function in GNU libc.
84921         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
84922         Problem building statically-linked `ls' reported by Michael Brunnbauer.
84923
84924 2004-01-20  Karl Berry  <karl@gnu.org>
84925
84926         * config/config.guess: update from config.
84927
84928         * config/srclistvars.sh: GNUWWWLICENSES for karl.
84929
84930 2004-01-20  Bruno Haible  <bruno@clisp.org>
84931
84932         Safer stack allocation.
84933         * lib/setenv.c: Include allocsa.h.
84934         (alloca): Remove fallback definition.
84935         (freea): Remove macro.
84936         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
84937         instead of freea.
84938
84939 2004-01-20  Bruno Haible  <bruno@clisp.org>
84940
84941         * m4/eealloc.m4: New file, from GNU gettext.
84942
84943 2004-01-20  Bruno Haible  <bruno@clisp.org>
84944
84945         * m4/allocsa.m4: New file, from GNU gettext.
84946
84947 2004-01-20  Bruno Haible  <bruno@clisp.org>
84948
84949         * lib/xallocsa.h: New file, from GNU gettext.
84950         * lib/xallocsa.c: New file, from GNU gettext.
84951
84952 2004-01-20  Bruno Haible  <bruno@clisp.org>
84953
84954         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
84955
84956 2004-01-20  Bruno Haible  <bruno@clisp.org>
84957
84958         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
84959         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
84960         specially.
84961
84962 2004-01-20  Bruno Haible  <bruno@clisp.org>
84963
84964         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
84965         patch.
84966
84967 2004-01-20  Bruno Haible  <bruno@clisp.org>
84968
84969         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
84970
84971 2004-01-20  Bruno Haible  <bruno@clisp.org>
84972
84973         * lib/eealloc.h: New file.
84974
84975 2004-01-20  Bruno Haible  <bruno@clisp.org>
84976
84977         * lib/binary-io.h: Avoid warnings on Cygwin.
84978
84979 2004-01-20  Bruno Haible  <bruno@clisp.org>
84980
84981         * lib/allocsa.h: New file, from GNU gettext.
84982         * lib/allocsa.c: New file, from GNU gettext.
84983
84984 2004-01-18  Karl Berry  <karl@gnu.org>
84985
84986         * doc/gpl.texi, doc/lgpl.texi: new files.
84987
84988 2004-01-18  Karl Berry  <karl@gnu.org>
84989
84990         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
84991         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
84992
84993 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84994
84995         Merge from coreutils.
84996
84997         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
84998         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
84999         (gl_DEFAULT_POSIX2_VERSION): Move
85000         the documentation from 'configure' into 'config.hin',
85001         so that 'configure --help' isn't burdened by it and
85002         we don't have to worry about its formatting there.
85003         Reword the documentation so that it's more succinct
85004         and can be run together into a single paragraph.
85005         * m4/same.m4 (gl_SAME): Check for pathconf.
85006
85007 2004-01-15  Paul Eggert  <eggert@twinsun.com>
85008
85009         Merge from coreutils.
85010
85011         * lib/posixver.c: Include posixver.h.
85012
85013         * lib/same.c: Include <stdbool.h>, <limits.h>.
85014         (_POSIX_NAME_MAX): Define if not defined.
85015         (MIN): New macro.
85016         (same_name): If file names are silently truncated, report
85017         that the file names are the same if they are the same after
85018         the silent truncation.
85019
85020         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
85021         conversion function.
85022         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
85023         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
85024         longer needed.
85025
85026 2004-01-15  Jim Meyering  <jim@meyering.net>
85027
85028         Merge from coreutils.
85029
85030         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
85031         if no library is required.
85032         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
85033         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
85034         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
85035         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
85036         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
85037         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
85038         value, $ac_cv_search_crypt, if it's "none required".
85039         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
85040         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
85041         not gl_FUNC_GETLOADAVG.
85042         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
85043         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
85044
85045 2004-01-15  Jim Meyering  <jim@meyering.net>
85046
85047         Merge from coreutils.
85048
85049         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
85050         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
85051         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
85052
85053         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
85054         optional configure-time default.
85055
85056         * lib/version-etc.c (version_etc_copyright): Update copyright date.
85057
85058         * lib/xreadlink.c (xreadlink): Correct outdated comment.
85059
85060 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
85061
85062         Merge from coreutils.
85063
85064         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
85065         value, $ac_cv_search_nanosleep, if it's "none required".
85066
85067 2004-01-14  Paul Eggert  <eggert@twinsun.com>
85068
85069         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
85070         with like-named macro in fnmatch.c.
85071         (EXT): Use an internal constant instead.
85072
85073         Merge fnmatch patches from glibc.
85074         * lib/fnmatch.c (mbsinit): Remove define.
85075         Add libc_hidden_ver (__fnmatch, fnmatch).
85076         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
85077         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
85078
85079 2004-01-14  Karl Berry  <karl@gnu.org>
85080
85081         * config/install-sh: update from automake.
85082
85083 2004-01-13  Karl Berry  <karl@gnu.org>
85084
85085         * config/install-sh: update from automake.
85086
85087 2004-01-09  Karl Berry  <karl@gnu.org>
85088
85089         * config/install-sh: update from automake.
85090
85091 2004-01-05  Karl Berry  <karl@gnu.org>
85092
85093         * config/config.{sub,guess}: update from config.
85094
85095 2003-12-31  Karl Berry  <karl@gnu.org>
85096
85097         * config/depcomp: update from automake.
85098
85099 2003-12-14  Karl Berry  <karl@gnu.org>
85100
85101         * lib/config.charset: update from gettext-runtime.
85102
85103 2003-12-03  Paul Eggert  <eggert@twinsun.com>
85104
85105         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
85106         Bug reported by Alfred M. Szmidt.
85107
85108 2003-12-03  Bruno Haible  <bruno@clisp.org>
85109
85110         * m4/gettext.m4: Upgrade from gettext-0.13.
85111         * m4/po.m4: Upgrade from gettext-0.13.
85112         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
85113         * m4/intmax.m4: New file, from gettext-0.13.
85114         * m4/printf-posix.m4: New file, from gettext-0.13.
85115
85116 2003-11-29  Karl Berry  <karl@gnu.org>
85117
85118         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
85119
85120 2003-11-25  Paul Eggert  <eggert@twinsun.com>
85121             Bruno Haible  <bruno@clisp.org>
85122
85123         * lib/printf-parse.h: Don't include sys/types.h.
85124         (ARG_NONE): New macro.
85125         (char_directive): Change type of *arg_index fields to size_t.
85126         * lib/printf-parse.c: Don't include sys/types.h.
85127         (SSIZE_MAX): Remove macro.
85128         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
85129         Remove unnecessary overflow check.
85130         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
85131         fields.
85132
85133 2003-11-25  Bruno Haible  <bruno@clisp.org>
85134
85135         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
85136
85137 2003-11-25  Bruno Haible  <bruno@clisp.org>
85138
85139         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
85140         gt_TYPE_SSIZE_T.
85141
85142 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85143
85144         * modules/alloca: Remove dependency on xalloc.
85145
85146 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85147
85148         * lib/alloca.c: Remove dependency on xalloc module.
85149         (xalloc_die): Remove.
85150         (memory_full) [!defined emacs]: New macro.
85151         [!defined emacs]: Don't include xalloc.h.
85152         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
85153         address arithmetic overflows.  Change datatypes a bit to avoid
85154         unnecessary casts.
85155
85156 2003-11-22  Jim Meyering  <jim@meyering.net>
85157
85158         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
85159         s/size/size_t/.
85160
85161 2003-11-21  Karl Berry  <karl@gnu.org>
85162
85163         * config/config.{sub,guess}: update from config.
85164
85165 2003-11-18  Karl Berry  <karl@gnu.org>
85166
85167         * config/config.{sub,guess}: update from config.
85168
85169         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
85170
85171 2003-11-17  Paul Eggert  <eggert@twinsun.com>
85172
85173         * README: Mention that S+T cannot overflow if S is the size of
85174         an existing object and T is sufficiently small.
85175
85176 2003-11-17  Jim Meyering  <jim@meyering.net>
85177
85178         On systems without utime and without a utimes function capable of
85179         dealing with a NULL struct utimbuf* argument, this utime replacement
85180         could -- in unusual circumstances -- leak a file descriptor.
85181         * lib/utime.c: Include <unistd.h> and <errno.h>.
85182         (utime_null): Be sure to close `fd' and to preserve errno.
85183         Reported by Geoff Collyer via Arnold Robbins.
85184
85185 2003-11-17  Bruno Haible  <bruno@clisp.org>
85186
85187         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
85188         (Depends-on): Add xsize.
85189
85190 2003-11-17  Bruno Haible  <bruno@clisp.org>
85191
85192         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
85193
85194 2003-11-17  Bruno Haible  <bruno@clisp.org>
85195
85196         * lib/vasnprintf.c (alloca): Remove fallback definition.
85197         (freea): Remove definition.
85198         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
85199         Reported by Paul Eggert.
85200
85201 2003-11-16  Paul Eggert  <eggert@twinsun.com>
85202             Bruno Haible  <bruno@clisp.org>
85203
85204         Protect against address arithmetic overflow.
85205         * lib/printf-args.h: Include stddef.h.
85206         (arguments): Change type of field 'count' to size_t.
85207         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
85208         'unsigned int' where appropriate.
85209         * lib/printf-parse.h: Include sys/types.h.
85210         (char_directive): Change type of *arg_index fields to ssize_t.
85211         (char_directives): Change type of fields 'count', max_*_length to
85212         size_t.
85213         * lib/printf-parse.c: Include sys/types.h and xsize.h.
85214         (SSIZE_MAX): Define fallback value.
85215         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
85216         instead of 'int' where appropriate. Check a_allocated, d_allocated
85217         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
85218         * lib/vasnprintf.c: Include xsize.h.
85219         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
85220         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
85221         overflow. Avoid wraparound when converting a width or precision from
85222         decimal to binary.
85223
85224 2003-11-16  Bruno Haible  <bruno@clisp.org>
85225
85226         Update from GNU gettext.
85227         * lib/printf-parse.c: Generalize to it can be compiled for wide
85228         strings.
85229         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
85230         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
85231         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
85232         SNPRINTF): New macros.
85233         Don't include <alloca.h> if the file is used inside libintl.
85234         (local_wcslen): New function, for Solaris 2.5.1.
85235         (VASNPRINTF): Use it instead of wcslen.
85236
85237 2003-11-16  Bruno Haible  <bruno@clisp.org>
85238
85239         * lib/xsize.h (xmax): New function.
85240         (xsum, xsum3, xsum4): Declare as "pure" functions.
85241
85242 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85243
85244         * modules/xalloc (Files): Undo latest change, since xalloc.h
85245         no longer needs SIZE_MAX or PTRDIFF_MAX.
85246
85247 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85248
85249         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
85250         gl_PTRDIFF_MAX.
85251
85252 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85253
85254         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
85255         "return", to pacify some unknown compiler.  Problem reported
85256         by Joerg Schilling.
85257
85258 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85259
85260         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
85261         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
85262         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
85263         heuristic is just as accurate as far as we know, and it removes a
85264         dependency on size_max.m4 and ptrdiff_max.m4.
85265
85266 2003-11-11  Bruno Haible  <bruno@clisp.org>
85267
85268         * modules/xsize (Files): Add m4/size_max.m4.
85269         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
85270
85271 2003-11-11  Bruno Haible  <bruno@clisp.org>
85272
85273         * m4/size_max.m4: New file.
85274         * m4/ptrdiff_max.m4: New file.
85275         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
85276         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
85277         (gl_XALLOC): Invoke it.
85278
85279 2003-11-11  Bruno Haible  <bruno@clisp.org>
85280
85281         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
85282         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
85283         defined.
85284
85285 2003-11-10  Paul Eggert  <eggert@twinsun.com>
85286
85287         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
85288         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
85289         rejected some allocations of exactly SIZE_MAX - 2 bytes.
85290         From Bruno Haible.
85291         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
85292         not (size_t) -1, since it's defined here.
85293
85294 2003-11-09  Karl Berry  <karl@gnu.org>
85295
85296         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
85297
85298 2003-11-06  Paul Eggert  <eggert@twinsun.com>
85299
85300         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
85301         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
85302         Reject sizes of exactly SIZE_MAX bytes.
85303         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
85304         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
85305
85306 2003-11-05  Bruno Haible  <bruno@clisp.org>
85307
85308         * lib/xsize.h: Include limits.h, to avoid a possible collision with
85309         SIZE_MAX defined in <limits.h> on Solaris.
85310
85311 2003-11-04  Jim Meyering  <jim@meyering.net>
85312
85313         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
85314         variable names, rather than @VAR@.
85315         * modules/poll: Likewise.
85316
85317 2003-11-04  Bruno Haible  <bruno@clisp.org>
85318
85319         * modules/xsize: New file.
85320         * modules/linebreak: Depend on xsize.
85321         * MODULES.html.sh (func_all_modules): Add xsize.
85322
85323 2003-11-04  Bruno Haible  <bruno@clisp.org>
85324
85325         * m4/xsize.m4: New file.
85326
85327 2003-11-04  Bruno Haible  <bruno@clisp.org>
85328
85329         * lib/xsize.h: New file.
85330         * lib/linebreak.c: Include xsize.h.
85331         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
85332         argument for overflow.
85333         Suggested by Paul Eggert.
85334
85335 2003-11-03  Karl Berry  <karl@gnu.org>
85336
85337         * config/config.{guess,sub}: update from config.
85338
85339 2003-11-03  Jim Meyering  <jim@meyering.net>
85340
85341         * modules/userspec (lib_SOURCES): Add userspec.h.
85342         (Include): Add "userspec.h".
85343         Improve description.
85344
85345 2003-11-03  Jim Meyering  <jim@meyering.net>
85346
85347         * lib/userspec.c: Include "userspec.h".
85348         * lib/userspec.h: New file.
85349
85350 2003-11-03  Bruno Haible  <bruno@clisp.org>
85351
85352         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
85353
85354 2003-11-03  Bruno Haible  <bruno@clisp.org>
85355
85356         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
85357         available, to avoid (extremely rare) race condition.
85358         Suggested by Paul Eggert.
85359
85360 2003-11-02  Karl Berry  <karl@gnu.org>
85361
85362         * config/srclist.txt (vasprintf.c): sync broken, sigh.
85363
85364 2003-10-31  Paul Eggert  <eggert@twinsun.com>
85365
85366         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
85367         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
85368         (read_filesystem_list): Set and use me_type_malloced.
85369         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
85370         whatever the type happens to be), for brevity and consistency.
85371         Check for size calculation overflow on Alphas running OSF/1.
85372
85373 2003-10-31  Jim Meyering  <jim@meyering.net>
85374
85375         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
85376
85377         * lib/linebuffer.c: Include <string.h> for declaration of memset.
85378
85379 2003-10-30  Paul Eggert  <eggert@twinsun.com>
85380             Bruno Haible  <bruno@clisp.org>
85381
85382         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
85383         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
85384
85385 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
85386
85387         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
85388         netbsd*-gnu*.  Suggested by Robert Millan.
85389
85390 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85391
85392         * modules/group-member: Depend on stdbool.
85393
85394 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85395
85396         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
85397
85398 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85399
85400         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
85401         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
85402         after the 'gnu' in these cases.  This fixes some bugs in the
85403         previous change, and is based on suggestions by Robert Millan.
85404
85405 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85406
85407         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
85408         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
85409         no longer needed.
85410         * lib/quotearg.c (quotearg_n_options): Use it.
85411         * lib/group-member.c: Include <stdbool.h>.
85412         (free_group_info): Arg is now const *; don't free arg.
85413         (get_group_info): Now returns bool and accepts struct group_info *,
85414         rather than returning a malloc'ed struct group_info *.
85415         All uses changed.  Check for overflow in internal size calculation.
85416
85417         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
85418         rather than xmalloc/xrealloc.
85419         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
85420         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
85421         conformance bug: the old code used a pointer after freeing the
85422         storage that it addressed.
85423         * lib/hash.c (hash_initialize): Simplify the code by using
85424         xalloc_oversized rather than doing it by hand.
85425         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
85426         the buffer preserved.  Use free and xmalloc instead.
85427         * lib/quotearg.c (quotearg_n_options): Likewise.
85428         Use a simpler test for size overflow.  Don't use xalloc_oversized
85429         because unsigned int might be wider than size_t (!); this suggests
85430         that we should switch from unsigned int to size_t for slot numbers.
85431
85432 2003-10-28  Paul Eggert  <eggert@twinsun.com>
85433
85434         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
85435         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
85436         NetBSD kernels.  Requested by Richard Stallman.
85437
85438 2003-10-27  Paul Eggert  <eggert@twinsun.com>
85439
85440         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
85441         to allocate the returned structure.  Do not allocate a subarray,
85442         as x2nrealloc will do that.
85443         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
85444         instead of xnrealloc.
85445         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
85446
85447 2003-10-27  Bruno Haible  <bruno@clisp.org>
85448
85449         * lib/stdbool_.h: Better support for BeOS.
85450
85451 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85452
85453         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
85454         now uses inline.
85455
85456 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85457
85458         * lib/xalloc.h (xalloc_oversized): New static inline function, for
85459         callers that want to do their own size-overflow checking.  Include
85460         <stdbool.h>, since xalloc_oversized returns bool.
85461         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
85462         to use xalloc_oversized.
85463
85464         Add two functions x2realloc, x2nrealloc, for programs that grow
85465         arrays dynamically by doubling their sizes.
85466         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
85467         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
85468         New functions.
85469
85470         Port to C99 semantics for 'inline' of external functions.
85471         Bug reported by Bruno Haible.
85472         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
85473         with the old contents of xnmalloc.
85474         (xnmalloc, xmalloc): Use it.
85475         (xnrealloc_inline): New static inline function,
85476         with the old contents of xnrealloc.
85477         (xnrealloc, xrealloc): Use it.
85478
85479         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
85480         that.
85481
85482 2003-10-26  Karl Berry  <karl@gnu.org>
85483
85484         * config/srclist.txt (COPYING.DOC): no longer available from
85485         /gd/gnuorg; don't know where the ultimate source is.
85486
85487 2003-10-25  Paul Eggert  <eggert@twinsun.com>
85488
85489         Fix several address-calculation bugs in the hash modules,
85490         plus some minor code cleanup.
85491
85492         * lib/hash.h: Include <stdbool.h>, for bool.
85493         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
85494         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
85495         hash_get_n_entries, hash_get_max_bucket_length,
85496         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
85497         hash_rehash): Use size_t rather than unsigned.
85498         * lib/hash.c (struct hash_table, hash_get_n_buckets,
85499         hash_get_n_buckets_used, hash_get_n_entries,
85500         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
85501         hash_get_entries, hash_do_for_each, hash_string, is_prime,
85502         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
85503         Likewise.
85504         (SIZE_MAX): Define if not defined.
85505         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
85506         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
85507         hash_print):
85508         Use const * when possible.
85509         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
85510         (check_tuning): Fix bug: if tuning parameters were very close to
85511         0 or 1, rounding errors could have caused subscript violations.
85512         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
85513         (hash_initialize): Add 'fail:' label
85514         to free table and return NULL, and use it to simplify code.
85515         Use calloc rather than clearing the storage ourself.
85516         (hash_initialize, hash_rehash): Check for arithmetic overflow in
85517         buffer size calculations.
85518         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
85519         Include <stddef.h>, for size_t.
85520         * lib/hash-pjw.c (hash_pjw): Likewise.
85521         Switch to method described by Bruno Haible.
85522         Include <limits.h>, for CHAR_BIT.
85523         (SIZE_BITS): New macro.
85524
85525 2003-10-23  Paul Eggert  <eggert@twinsun.com>
85526
85527         * m4/getline.m4 (AM_FUNC_GETLINE):
85528         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
85529         hosts.  Problem reported by Derek Robert Price in
85530         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
85531         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
85532         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
85533
85534 2003-10-21  Paul Eggert  <eggert@twinsun.com>
85535
85536         * lib/getndelim2.c (getndelim2): When size calculation overflows,
85537         ceiling the allocation at NMAX bytes rather than silently
85538         discarding input bytes before NMAX is reached.  This makes
85539         a difference only if NMAX exceeds SIZE_MAX / 2.
85540
85541         * lib/obstack.c: Merge from glibc.
85542         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
85543         Add libc_hidden_def (_obstack_newchunk).
85544         (_obstack_free) [! defined _LIBC]: Remove.
85545         [defined _LIBC]: Make a strong alias from obstack_free, rather than
85546         a clone of the function body.
85547         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
85548         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
85549
85550         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
85551         glibc.
85552         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
85553         arg to memcpy.
85554
85555         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
85556         (obstack_ptr_grow_fast, obstack_int_grow_fast):
85557         Don't use lvalue casts, as GCC plans to remove support for them
85558         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
85559         was also present in the non-GCC version, indicating that this
85560         code had always been buggy and had never been widely used.
85561         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
85562         Use the fast variant of each macro, rather than copying the
85563         definiens of the fast variant; that way, we'll be more likely to
85564         catch future bugs in the fast variants.
85565
85566 2003-10-20  Bruno Haible  <bruno@clisp.org>
85567
85568         * modules/wait-process: New file.
85569         * MODULES.html.sh (func_all_modules): Add wait-process.
85570
85571 2003-10-20  Bruno Haible  <bruno@clisp.org>
85572
85573         * m4/wait-process.m4: New file.
85574
85575 2003-10-20  Bruno Haible  <bruno@clisp.org>
85576
85577         * lib/wait-process.h: New file, from GNU gettext.
85578         * lib/wait-process.c: New file, from GNU gettext.
85579
85580 2003-10-19  Jim Meyering  <jim@meyering.net>
85581
85582         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
85583         HPUX 10.20.
85584
85585 2003-10-18  Karl Berry  <karl@gnu.org>
85586
85587         * config/config.guess: update from config.
85588
85589 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85590
85591         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
85592         (getgroups): First arg is int, not size_t.
85593         Don't let 'free' mangle errno.
85594
85595 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85596
85597         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
85598
85599 2003-10-16  Karl Berry  <karl@gnu.org>
85600
85601         * config/config.{guess,sub}: update from config.
85602
85603 2003-10-16  Jim Meyering  <jim@meyering.net>
85604
85605         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
85606         memcpy.
85607
85608 2003-10-15  Paul Eggert  <eggert@twinsun.com>
85609
85610         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
85611         (SIZE_MAX): Remove.
85612         (new_exclude, add_exclude_file): Initial size no longer needs to
85613         be a power of 2.
85614         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
85615         our own address arithmetic overflow checking.
85616
85617         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
85618         (fnmatch): Do not alloca more than 2000 wide characters;
85619         instead, use malloc for large buffers.
85620         Check for address arithmetic overflow, and return -1
85621         with errno set to ENOMEM in that case.
85622         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
85623         (NEW_PATTERN): Do not alloca more than 8000 bytes;
85624         instead, return -1.  Check for address arithmetic overflow.
85625
85626 2003-10-14  Paul Eggert  <eggert@twinsun.com>
85627
85628         Handle invalid suffixes and overflow independently, so that
85629         callers can treat them independently as needed.  Fix some bugs in
85630         suffix handling, e.g., "100k@" was not diagnosed as an invalid
85631         suffix for a human-readable blocksize.  The major caller-visible
85632         change is the addition of a new
85633         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
85634         that both overflow and suffix chars were found.
85635
85636         * lib/human.c (humblock): Don't check separately for invalid suffix
85637         char; that is xstrtoumax's job (now that its bug is fixed).
85638         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
85639         INTMAX_MAX]: New macros.
85640         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
85641         TYPE_MAXIMUM): New macros.
85642         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
85643         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
85644         if overflow occurs, as it's what __strtol does and it's more useful
85645         in practice.
85646         (__xstrtol): If __strtol reports some error other than ERANGE,
85647         reflect it to the caller as LONGINT_INVALID.  If it reports
85648         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
85649         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
85650         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
85651         value.
85652         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
85653         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
85654         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
85655         [defined UINTMAX_MAX]: New macros.
85656
85657 2003-10-14  Bruno Haible  <bruno@clisp.org>
85658
85659         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
85660
85661 2003-10-14  Bruno Haible  <bruno@clisp.org>
85662
85663         * m4/sig_atomic_t: New file, from GNU gettext.
85664         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
85665
85666 2003-10-14  Bruno Haible  <bruno@clisp.org>
85667
85668         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
85669         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
85670         Also use volatile where needed.
85671
85672 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85673
85674         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
85675         Change maintainer from Bruno Haible to 'all'.
85676
85677 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85678
85679         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
85680
85681 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85682
85683         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
85684         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
85685         and define in terms of the other primitives.
85686         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
85687         (SIZE_MAX): Define if not already defined.
85688         (array_size_overflow): New function.
85689         (xalloc_die): Abort instead of exiting if 'error' returns.
85690         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
85691         (xmalloc, xrealloc): Use them.
85692         (xcalloc): Check for address arithmetic overflow.
85693         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
85694         a bit faster than strcpy.
85695
85696 2003-10-10  Simon Josefsson  <jas@extundo.com>
85697
85698         * modules/argp (Depends-on): Add restrict and strcase.
85699
85700 2003-10-10  Simon Josefsson  <jas@extundo.com>
85701
85702         * m4/argp.m4: Add AC_C_INLINE.
85703
85704 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85705
85706         Merge getpass from libc, plus a few fixes.
85707
85708         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
85709         Include <stdbool.h>.
85710         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
85711         __fsetlocking to empty.
85712         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
85713         do include <bits/libc-lock.h>.
85714         Do not include <fcntl.h>; not needed.
85715         [_LIBC]: Include <wchar.h>.
85716         (NOTCANCEL_MODE): New macro.
85717         (flockfile, funlockfile) [_LIBC]: New macros.
85718         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
85719         [!_LIBC]: New macros.
85720         (call_fclose): New function.
85721         (getpass): Use it.  Save tty stream separately; this simplifies the
85722         code and makes it more reliable if stdin happens to equal stdout.
85723         Invoke __fsetlocking on tty.
85724         Handle thread cancellation if needed.
85725         Namespace cleanup (use __tcgetattr, __getline).
85726         Use bool for Booleans.
85727         [USE_IN_LIBIO]: Handle wide streams.
85728         [!_LIBC]: Unconditionally do the fseek, since we don't know what
85729         stream might go where.
85730
85731         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
85732         doesn't have to include <stdio.h> before us.
85733         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
85734         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
85735         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
85736         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
85737         if not declared, so that we can use getpass.c code from libc without
85738         rewriting it.
85739         (flockfile, ftrylockfile, funlockfile): New macros.
85740
85741 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85742
85743         * modules/getpass: Depend on stdbool.
85744
85745 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85746
85747         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
85748
85749 2003-10-07  Karl Berry  <karl@gnu.org>
85750
85751         * config/config.{guess,sub}: update from config.
85752
85753 2003-10-06  Jim Meyering  <jim@meyering.net>
85754             Bruno Haible  <bruno@clisp.org>
85755
85756         This lets translators provide better translations for the
85757         "Written by ..." part of --version output.
85758         * lib/version-etc.h: Include stdarg.h.
85759         (version_etc_copyright): Declare as readonly.
85760         (version_etc): Make this function variadic with a NULL-terminated list
85761         of author name strings.
85762         (version_etc_va): New declaration.
85763         * lib/version-etc.c: Include stdarg.h, stdlib.h.
85764         (version_etc_copyright): Declare as readonly.
85765         (version_etc_va): New function. Provide a different translatable string
85766         for each possible number of authors < 10. Abbreviate when there are 10
85767         authors or more.
85768         (version_etc): Make this function variadic. Call version_etc_va.
85769         Suggestion from Gary V. Vaughan.
85770
85771         * lib/long-options.h (parse_long_options): Change prototype: the
85772         authors string is moved to the end and becomes variadic.
85773         * lib/long-options.c: Include stdarg.h.
85774         (parse_long_options): Make this function variadic, too.
85775         Call version_etc_va, not version_etc.
85776
85777 2003-10-06  Bruno Haible  <bruno@clisp.org>
85778
85779         * modules/version-etc-2: Remove file.
85780         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
85781
85782 2003-10-06  Bruno Haible  <bruno@clisp.org>
85783
85784         * modules/fatal-signal: New file.
85785         * MODULES.html.sh (func_all_modules): Add fatal-signal.
85786
85787 2003-10-06  Bruno Haible  <bruno@clisp.org>
85788
85789         * m4/fatal-signal.m4: New file.
85790         * m4/signalblocking.m4: New file, from GNU gettext.
85791
85792 2003-10-06  Bruno Haible  <bruno@clisp.org>
85793
85794         * lib/version-etc-2.h: Remove file.
85795         * lib/version-etc-2.c: Remove file.
85796
85797 2003-10-06  Bruno Haible  <bruno@clisp.org>
85798
85799         * lib/fatal-signal.h: New file, from GNU gettext.
85800         * lib/fatal-signal.c: New file, from GNU gettext.
85801
85802 2003-10-05  Paul Eggert  <eggert@twinsun.com>
85803
85804         * README: Rework advice for preventing empty .o files.
85805         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
85806         not <sys/types.h>.
85807
85808 2003-10-04  Karl Berry  <karl@gnu.org>
85809
85810         * lib/argp*: update from libc.
85811
85812 2003-10-04  Karl Berry  <karl@gnu.org>
85813
85814         * config/config.{guess,sub}: update from config.
85815
85816 2003-10-02  Bruno Haible  <bruno@clisp.org>
85817
85818         * modules/lchown (Include): Add lchown.h.
85819         * modules/time_r (Include): Use "..." syntax.
85820         * modules/xgetdomainname (Include): Add xgetdomainname.h.
85821
85822 2003-10-01  Simon Josefsson  <jas@extundo.com>
85823
85824         * MODULES.html.sh (func_all_modules): Move gethostname from section
85825         'based on' to section 'lacking' POSIX:2001.
85826
85827 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
85828
85829         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
85830         to output mode on the same stream.
85831
85832 2003-09-29  Paul Eggert  <eggert@twinsun.com>
85833
85834         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
85835         Fix arg typo in previous patch.
85836
85837 2003-09-28  Jim Meyering  <jim@meyering.net>
85838
85839         * lib/error.c: Correct cpp indentation.
85840
85841 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85842
85843         * modules/free: New file.
85844
85845 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85846
85847         * m4/free.m4: New file.
85848
85849 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85850
85851         * lib/minmax.h (MIN, MAX)
85852         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
85853         Omit the special code that used __typeof__, since we worry that
85854         it could be more trouble than it's worth.  See:
85855         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
85856         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
85857
85858         * lib/free.c: New file.
85859
85860 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
85861
85862         Trivial fixes to Makefile.am parts of module listings.
85863         * modules/strstr: Append strstr.h to lib_SOURCES.
85864         * modules/strcase: Likewise, for strcase.h.
85865
85866 2003-09-27  Karl Berry  <karl@gnu.org>
85867
85868         * config/mkinstalldirs: update from automake.
85869
85870 2003-09-26  Paul Eggert  <eggert@twinsun.com>
85871
85872         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
85873         (error_tail): Do not loop, reallocating temporary buffer, since
85874         the output cannot contain more wide characters than the input
85875         contains bytes, the size must be big enough already.  This avoids
85876         one potential size overflow calculation.  Check for size overflow
85877         when calculating temporary buffer size.  Free temporary buffer
85878         when done, if it was allocated with malloc; this plugs a memory
85879         leak.  Remove casts from void * to pointers, that are no longer
85880         needed now that we're assuming C89 or better.
85881
85882         Merge error changes from glibc.
85883
85884         * lib/error.c, error.h: Update copyright notice header to match glibc.
85885         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
85886         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
85887         Disable cancellation while printing error.
85888         * lib/error.h: Prepend __ to parameter names.
85889
85890 2003-09-26  Jim Meyering  <jim@meyering.net>
85891
85892         * lib/error.c (error_tail): Move some declarations
85893         into inner scope where the local variables are used.
85894
85895 2003-09-26  Bruno Haible  <bruno@clisp.org>
85896
85897         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
85898         stpncpy().
85899         Don't define stpncpy through config.h; it's now done through stpncpy.h.
85900
85901 2003-09-26  Bruno Haible  <bruno@clisp.org>
85902
85903         * lib/stpncpy.h (gnu_stpncpy): New declaration.
85904         (stpncpy): Define as alias for gnu_stpncpy.
85905         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
85906
85907 2003-09-25  Simon Josefsson  <jas@extundo.com>
85908
85909         * lib/xgetdomainname.h: New file.
85910         * lib/xgetdomainname.c: New file.
85911
85912 2003-09-25  Simon Josefsson  <jas@extundo.com>
85913             Bruno Haible  <bruno@clisp.org>
85914
85915         * modules/getdomainname: New file.
85916         * modules/xgetdomainname: New file.
85917         * MODULES.html.sh (func_all_modules): Add getdomainname,
85918         xgetdomainname.
85919
85920 2003-09-25  Simon Josefsson  <jas@extundo.com>
85921             Bruno Haible  <bruno@clisp.org>
85922
85923         * m4/getdomainname.m4: New file.
85924
85925 2003-09-25  Simon Josefsson  <jas@extundo.com>
85926             Bruno Haible  <bruno@clisp.org>
85927
85928         * lib/getdomainname.h: New file.
85929         * lib/getdomainname.c: New file.
85930
85931 2003-09-25  Karl Berry  <karl@gnu.org>
85932
85933         * lib/argp-fmtstream.c, argp-help.c: update from libc.
85934
85935 2003-09-25  Karl Berry  <karl@gnu.org>
85936
85937         * config/install-sh: update from automake.
85938
85939 2003-09-25  Bruno Haible  <bruno@clisp.org>
85940
85941         * modules/version-etc-2: New file, from modules/version-etc with
85942         modifications.
85943         * MODULES.html.sh (func_all_modules): Add version-etc-2.
85944
85945 2003-09-25  Bruno Haible  <bruno@clisp.org>
85946
85947         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
85948         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
85949
85950 2003-09-24  Simon Josefsson  <jas@extundo.com>
85951
85952         * modules/xgethostname: Add xgethostname.h.
85953
85954 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85955
85956         * lib/linebuffer.c (freebuffer): Don't free the argument, just
85957         the buffer associated with the argument.  Bug reported by
85958         Simon Josefsson.
85959
85960 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85961
85962         * README: Document assumptions that 'int' is at least 32 bits
85963         wide, that integer arithmetic is 2's complement without overflow,
85964         that there are no holes in integer values, that adding sizes of
85965         two nonoverlapping objects can't overflow, and that all-bits-zero
85966         yields scalar zero.  Fix spelling and capitalization typos.
85967
85968 2003-09-19  Karl Berry  <karl@gnu.org>
85969
85970         * lib/argp.h: update from libc.
85971
85972 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85973
85974         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
85975         to avoid spurious warnings like "AC_RUN_IFELSE was called before
85976         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
85977
85978 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85979
85980         * gnulib-tool: Use "test -h", not "test -L", for portability
85981         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
85982         (tags_regexp): Remove, since \| doesn't conform to POSIX.
85983         (sed_extract_prog): Issue s commands one-by-one, rather than
85984         using \| in one s command.
85985
85986 2003-09-16  Paul Eggert  <eggert@twinsun.com>
85987
85988         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
85989         input error, instead of returning NULL the next time we are called
85990         (and therefore losing track of errno).
85991
85992 2003-09-16  Bruno Haible  <bruno@clisp.org>
85993
85994         * gnulib-tool (func_create_testdir): Warn about duplicated
85995         dependencies.
85996
85997 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85998
85999         * modules/argmatch, modules/fatal, modules/obstack,
86000         modules/xalloc, modules/xgethostname: Sort dependencies by
86001         importance, not alphabetically.
86002
86003 2003-09-15  Paul Eggert  <eggert@twinsun.com>
86004
86005         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
86006         fails, so that the caller gets the proper errno.
86007
86008         * lib/readutmp.c (read_utmp): Likewise.
86009         Check for fstat error.  Close stream and free storage
86010         when failing.
86011
86012 2003-09-14  Karl Berry  <karl@gnu.org>
86013
86014         * config/srclist.txt (strdup.c): disable for c89 changes.
86015
86016 2003-09-14  Jim Meyering  <jim@meyering.net>
86017
86018         * lib/getloadavg.c: Correct cpp indentation.
86019         * lib/strdup.c: Likewise.
86020         * lib/vasnprintf.c: Likewise.
86021
86022 2003-09-14  Bruno Haible  <bruno@clisp.org>
86023
86024         * modules/fwriteerror: New file.
86025         * MODULES.html.sh (func_all_modules): Add fwriteerror.
86026
86027 2003-09-14  Bruno Haible  <bruno@clisp.org>
86028
86029         * lib/fwriteerror.h: New file.
86030         * lib/fwriteerror.c: New file.
86031
86032 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86033
86034         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
86035         modules/xgethostname, modules/xalloc: Depend on exit.
86036
86037 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86038
86039         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
86040
86041         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
86042         and AC_MINIX, too, so that their extensions are available.
86043
86044         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
86045         This macro has been superseded by gl_BACKUPFILE.
86046
86047         More patches to assume C89 or better.
86048
86049         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
86050
86051         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
86052         unconditionally.
86053         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
86054         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
86055         Include <string.h>, <stdlib.h> unconditionally.
86056         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
86057         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
86058         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
86059         headers or for string.h.
86060         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
86061         or strtoul.
86062
86063         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
86064         headers.
86065         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
86066         * m4/userspec.m4 (gl_USERSPEC): Likewise.
86067         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
86068         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
86069         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
86070         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
86071         memcpy, memset.
86072         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
86073         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
86074         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
86075         strtol.
86076         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
86077         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
86078         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
86079         strtoul.
86080
86081 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86082
86083         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
86084         * lib/obstack.c [!defined _LIBC]: Likewise.
86085         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
86086         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
86087         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
86088
86089         More changes to assume C89 or better.
86090
86091         * lib/error.c (error_tail): Assume vprintf.
86092
86093         * lib/argmatch.c (getenv): Remove decl.
86094         * lib/progreloc.c (get_full_program_name): Define via prototype.
86095         * lib/setenv.c (clearenv): Likewise.
86096         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
86097         needed.
86098         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
86099         (malloc, memcpy): Remove decls.
86100         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
86101         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
86102         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86103         (memcpy): Remove macro.
86104         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
86105         (__P): Remove.  All uses removed.
86106         (PTR): Remove.  All uses changed to void *.
86107         (CHAR_BIT, NULL): Remove.
86108         (spaces, zeros, memset_space, memset_zero)
86109         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
86110         Remove.
86111         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
86112         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
86113         Define with prototype.
86114         Remove now-unnecessary prototype decl.
86115         (extra_args_spec): Assume ANSI C.  All uses changed.
86116         (extra_args_spec_iso): Remove.
86117         (my_strftime, emacs_strftimeu): Define via prototype.
86118         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
86119         unconditionally.
86120         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
86121         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
86122         (strtoul, strtol): Remove decls.
86123         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
86124         LONG_MAX): Remove.
86125         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86126         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
86127         (LOCALE_PARAM_PROTO): New macro.
86128         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
86129         (INTERNAL (strtol), strtol): Define with a prototype.
86130         (PARAMS): Remove.  All uses removed.
86131         * lib/tempname.c: Include <string.h> unconditionally.
86132         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
86133         * lib/xgethostname.c (main): Define with a prototype.
86134         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
86135         Include <stdlib.h> unconditionally.
86136         (calloc, malloc, realloc, free): Remove decls.
86137         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
86138         Include <stdlib.h> unconditionally.  Sort include file names.
86139         (strtod): Remove.
86140         (xstrtod): Define with a prototype.
86141         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
86142         (strtol, strtoul): Remove decls.
86143
86144 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86145
86146         More patches to assume C89 or better.
86147         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
86148         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
86149         string.h, memchr, STDC_HEADERS.
86150
86151 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86152
86153         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
86154         Include <stdlib.h>, <string.h> unconditionally.
86155         Remove now-unnecessary cast to char *.
86156         * lib/strnlen.c: Include <string.h> unconditionally.
86157         * lib/yesno.c (yesno): Define with a prototype.
86158
86159 2003-09-11  Bruno Haible  <bruno@clisp.org>
86160
86161         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
86162
86163 2003-09-10  Jim Meyering  <jim@meyering.net>
86164
86165         * lib/error.c: Correct indentation of cpp directives.
86166
86167 2003-09-10  Bruno Haible  <bruno@clisp.org>
86168
86169         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
86170         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
86171         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
86172         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
86173         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
86174         <stdlib.h> and <string.h> checks.
86175         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
86176         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
86177
86178 2003-09-10  Bruno Haible  <bruno@clisp.org>
86179
86180         * lib/strcspn.c: Include <string.h> unconditionally.
86181         * lib/strpbrk.c: Include <string.h> unconditionally.
86182         * lib/strstr.c: Include <string.h> unconditionally.
86183         * lib/unicodeio.c: Include <string.h> unconditionally.
86184         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
86185         * lib/unsetenv.c: Likewise.
86186         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
86187         * lib/yesno.c: Include <stdlib.h> unconditionally.
86188         (rpmatch): Add prototype.
86189
86190 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86191
86192         More patches to assume C89 or better.
86193         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
86194         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
86195         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
86196         or for string.h.
86197         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
86198         stdlib.h.
86199         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
86200         C headers.
86201         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
86202         string.h.
86203         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
86204         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
86205         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
86206         or for string.h.
86207         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
86208         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
86209         C headers.
86210         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
86211         memcpy.
86212         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
86213         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
86214         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
86215         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
86216         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
86217         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
86218         string.h, free.
86219         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
86220         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
86221         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
86222         C headers, or for string.h.
86223         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
86224         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
86225         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
86226         headers, memory.h, stdlib.h, string.h, strings.h.
86227         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
86228         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
86229         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
86230         strchr.
86231         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
86232         headers, memory.h, string.h.
86233         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
86234         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
86235         free.
86236         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
86237         headers.
86238         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
86239         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
86240         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
86241         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
86242         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
86243
86244 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86245
86246         More K&R removal.
86247
86248         * lib/acosl.c (main): Use a prototype.
86249         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
86250         tanl.c: Likewise.
86251
86252         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
86253
86254         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
86255         (getopt, etopt_long, getopt_long_only, _getopt_internal)
86256         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
86257         with a prototype.
86258         * lib/getopt.c (const): Remove macro.
86259         Include <string.h> unconditionally.
86260         (my_index): Remove; all uses changed to strchr.
86261         (strlen): Remove decl.
86262         (exchange): Remove forward decl; no longer needed.
86263         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
86264         Define with prototype.
86265         * lib/getopt1.c (const): Remove macro.
86266         (getopt_long, getopt_long_only, main): Define with prototype.
86267
86268         * lib/getugroups.c: Include <string.h> unconditionally.
86269
86270         * lib/getusershell.c: Include <stdlib.h> unconditionally.
86271         (getusershell, setusershell, endusershell, readname, main):
86272         Define with prototypes.
86273
86274         * lib/group-member.c: Include group-member.h first.
86275         Include <stdlib.h> unconditionally.
86276
86277         * lib/hard-locale.c: Include hard-locale.h first.
86278         Include <stdlib.h>, <string.h> unconditionally.
86279
86280         * lib/hash.c (free, malloc): Remove decls.
86281         Include <stdlib.h> unconditionally.
86282
86283         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
86284         (getenv): Do not declare.
86285
86286         * lib/idcache.c: Include <string.h> unconditionally.
86287
86288         * lib/long-options.c: Include long-options.h first, to test interface.
86289         Include <stdlib.h> unconditionally.
86290
86291         * lib/makepath.c: Include makepath.h first, to test interface.
86292         Include <stdlib.h> and <string.h> unconditionally.
86293
86294         * lib/linebuffer.c: Include <stdlib.h>.
86295         (free): Remove decl.
86296
86297         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
86298         stddef.h. rpl_malloc returns void *, not char *.
86299         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
86300         prototype.
86301
86302         * lib/md5.h: Include <limits.h> unconditionally.
86303         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
86304         (__P): Remove; all uses removed.
86305         * lib/md5.c: Include "md5.h" first.
86306         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
86307         md5_buffer, md5_process_bytes, md5_process_block):
86308         Define with prototypes.
86309         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
86310         * lib/sha.c: Include "sha.h" first.
86311         Include <stdlib.h>, <string.h> unconditionally.
86312
86313         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
86314         * lib/memcmp.c (__ptr_t): Likewise.
86315         * lib/memrchr.c (__ptr_t): Likewise.
86316         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
86317         Include <string.h> unconditionally.
86318         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
86319         * lib/memchr.c: Include <stdlib.h> unconditionally.
86320         * lib/memchr.c (LONG_MAX): Remove.
86321         * lib/memrchr.c (LONG_MAX): Likewise.
86322         * lib/memchr.c (__memchr): Define via a prototype.
86323         * lib/memrchr.c (__memrchr): Likewise.
86324         * lib/memcmp.c (__P): Remove, and remove all uses.
86325         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
86326         Remove forward decls; no longer needed.
86327         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
86328         Use types required by C89 in prototype.
86329
86330         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
86331         * lib/savedir.c: Likewise.
86332         * lib/mkdir.c (free): Remove decl.
86333         * lib/rmdir.c (rmdir): Define with a prototype.
86334         * lib/savedir.c: Include savedir.h first, to test interface.
86335
86336         * lib/mktime.c (STDC_HEADERS): Remove.
86337         Include <stdlib.h>, <string.h> unconditionally.
86338
86339         * lib/modechange.c: Include <stdlib.h> unconditionally.
86340         (malloc): Remove decl.
86341
86342         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
86343         (free): Remove decl.
86344
86345         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
86346         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
86347         (This type really should be intptr_t, but that's a C99ism.)
86348         (_obstack_memcpy): Remove: all uses changed to memcpy.
86349         Include <string.h> unconditionally.
86350         (struct obstack): Assume __STDC__ for types of members
86351         chunkfun, freefun, extra_arg.
86352         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
86353         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
86354         obstack_begin, obstack_specify_allocation,
86355         obstack_specify_allocation_with_arg, obstack_chunkfun,
86356         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
86357         Remove unprototyped decls and the macros that use them.
86358         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
86359         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
86360         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
86361         (defined __STDC__ && __STDC__)]:
86362         Remove nonprototyped code.
86363         Include <stdlib.h> unconditionally.
86364         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
86365         _obstack_allocated_p, _obstack_free, obstack_free,
86366         _obstack_memory_used, print_and_abort):
86367         Define using prototypes.
86368         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
86369         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
86370         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
86371         obstack_next_free, obstack_object_size, obstack_room) [0]:
86372         Remove unused, unprototyped code.
86373
86374         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
86375
86376         * lib/physmem.c (physmem_total, physmem_available, main): Define
86377         with prototypes.
86378
86379         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
86380         (main): Define with a prototype.
86381
86382         * lib/posixver.c (getenv): Remove decl.
86383
86384         * lib/putenv.c (malloc): Returns void *, not char *.
86385         Include <string.h> unconditionally.
86386         (strchr, memcpy, NULL): Do not define.
86387
86388         * lib/readtokens.c: Include readtokens.h first, to test interface.
86389         Include <stdlib.h>, <string.h> unconditionally.
86390         (init_tokenbuffer): Define with a prototype.
86391
86392         * lib/regex.c (PARAMS): Remove.  All uses removed.
86393         All uses of _RE_ARGS removed, too.
86394         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86395         unconditionally.
86396         (bzero): Assume memset exists.
86397         (memcmp, memcpy, NULL): Remove.
86398         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
86399         char, or assignments to local vars of type signed char.
86400         (init_syntax_once, PREFIX(extract_number_and_incr),
86401         PREFIX(print_partial_compiled_pattern),
86402         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
86403         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
86404         PREFIX(regex_grow_registers), PREFIX(regex_compile),
86405         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
86406         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
86407         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
86408         wcs_compile_range, byte_compile_range, truncate_wchar,
86409         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
86410         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
86411         count_mbs_length, wcs_re_match_2_internal,
86412         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
86413         PREFIX(alt_match_null_string_p),
86414         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
86415         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
86416         regfree, PREFIX(extract_number)): Define with prototype.  Remove
86417         now-unnecessary declaration, if any.
86418         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
86419         regcomp, regexec):
86420         Remove now-unnecessary casts among pointer types.
86421         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
86422
86423         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
86424         (free): Remove decl.
86425
86426         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
86427
86428         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
86429         (free): Remove decl.
86430
86431         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
86432         * lib/xgetcwd.c: Likewise.
86433
86434         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
86435         (free): Remove decl.
86436
86437         * lib/strchrnul.c (strchrnul): Define with a prototype.
86438         Fix bug: c_in was not converted to char before searching.
86439
86440         The following changes are not K&R related:
86441
86442         * lib/group-member.h: Include <sys/types.h>, so that this file is
86443         self-contained.
86444         * lib/makepath.h: Likewise.
86445
86446         * lib/getusershell.c (readname, default_index, line_size, readname):
86447         Use size_t, not int, for sizes.
86448         (readname): If the size overflows, report an error instead of
86449         looping forever.
86450
86451 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86452
86453         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
86454         libc.
86455
86456 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86457
86458         * README: New section: portability guidelines.
86459
86460 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86461
86462         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
86463         C89 spec.
86464
86465 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86466
86467         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
86468
86469 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86470
86471         Assume C89 or better; remove K&R cruft.
86472         A few of these changes were first proposed by Derek Robert Price
86473         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
86474
86475         * lib/addext.c: Include <string.h> unconditionally.
86476         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
86477         Don't declare getenv or malloc.
86478
86479         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
86480         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
86481         (NULL): Remove.
86482         (find_stack_direction, alloca): Use prototypes.
86483
86484         * lib/atexit.c (atexit): Define using a prototype.
86485
86486         * lib/basename.c, dirname.c, stripslash.c:
86487         Include <string.h> unconditionally.
86488
86489         * lib/bcopy.c: Include <stddef.h>.
86490         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
86491
86492         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
86493
86494         * lib/error.h (error, error_at_line, error_print_progname)
86495         [! (defined (__STDC__) && __STDC__)]: Remove decls.
86496         * lib/error.c: Include error.h first, to check interface.
86497         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86498         (VA_START): Remove; all uses changeed to va_start.
86499         (exit, strerror): Remove decls.
86500         (error_print_progname): Prototype uncondionally.
86501         Don't include <errno.h>; no longer needed.
86502         (private_strerror): Remove.
86503         (error_tail): Always define.
86504         (error, error_at_line): Assume C89 or better; always use prototypes.
86505         * lib/fatal.c: Include "fatal.h" first, to test interface.
86506         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86507         (VA_START): Remove; all uses changed to va_start.
86508         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
86509         this case.
86510         (exit): Remove decl.
86511         (fatal): Prototype unconditionally.  Assume va_start works.
86512         Abort at end, to pacify gcc.
86513
86514         * lib/euidaccess.c (main): Define with a prototype.
86515
86516         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
86517
86518         * lib/exitfail.c: Include <stdlib.h> unconditionally.
86519
86520         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
86521         prototypes.
86522         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
86523         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
86524         (getenv): Remove decl.
86525         (fnmatch): Define using a prototype.
86526         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
86527         (FCT): Define using a prototype.
86528
86529         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
86530
86531         * lib/gethostname.c: Include <stddef.h>.
86532         (gethostname): Define with prototype.  Length is size_t, not int.
86533
86534 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86535
86536         Assume C89 or better; remove K&R cruft.
86537         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
86538         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
86539         string.h, getenv, malloc.
86540         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
86541         headers.
86542         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
86543         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
86544         do not check for strerror.
86545         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
86546         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
86547         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
86548         do not check for doprnt or vprintf.
86549         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
86550         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
86551
86552 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86553
86554         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
86555         getversion.c should have been removed then, but was accidentally
86556         preserved.
86557
86558         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
86559         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
86560
86561 2003-09-08  Karl Berry  <karl@gnu.org>
86562
86563         * config/config.sub, config.guess, srclistvars.sh: update from savannah
86564                 config, forget about prep.
86565
86566         * config/depcomp, missing: update from automake.
86567
86568 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86569
86570         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
86571         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86572
86573 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86574
86575         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
86576         copy_tm_result.  Bug reported by Simon Josefsson in
86577         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86578
86579 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86580
86581         * m4/time_r.m4: New file.
86582         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
86583         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
86584         is. Check for timegm declaration.
86585         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
86586         Do not check for gmtime_r.
86587         Replace mktime if __mktime_internal does not exist and if mktime
86588         hasn't been replaced already.
86589
86590 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86591
86592         * lib/time_r.c, lib/time_r.h: New files.
86593
86594         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
86595         __localtime_r.
86596         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
86597         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
86598
86599         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
86600         __gmtime_r.
86601         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
86602         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
86603         Include <time_r.h>.
86604
86605         * lib/timegm.c: Switch to glibc implementation, with the following
86606         changes:
86607         [defined HAVE_CONFIG_H]: Include <config.h>.
86608         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
86609         (__mktime_internal) [!defined _LIBC]: New decl.
86610         (__gmtime_r) [!defined _LIBC]: New macro and function.
86611         (timegm): Use a prototype, since gnulib assumes C89.
86612         Do not bother declaring tmp to be const, as it's not really usefu.
86613         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
86614         (timegm): Declare only if HAVE_DECL_TIMEGM.
86615
86616 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86617
86618         * MODULES.html.sh (func_all_modules): Add time_r.
86619         * modules/time_r: New file.
86620         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
86621         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
86622
86623 2003-09-03  Paul Eggert  <eggert@twinsun.com>
86624
86625         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
86626         Bug reported by Lute Kamstra in
86627         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
86628
86629         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
86630         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
86631         course with correspondingly smaller numbers for tomorrow and
86632         yesterday.  From Tadayoshi Funaba.  Originally installed into
86633         sh-utils on 1999-08-07, but the patch got lost (I guess during the
86634         coreutils merge?).
86635
86636 2003-08-31  Simon Josefsson  <jas@extundo.com>
86637
86638         * modules/timegm: New file.
86639         * MODULES.html.sh (func_all_modules): Add timegm.
86640
86641 2003-08-31  Simon Josefsson  <jas@extundo.com>
86642
86643         * m4/timegm.m4: New file.
86644
86645 2003-08-31  Simon Josefsson  <jas@extundo.com>
86646
86647         * lib/timegm.h: New file.
86648         * lib/timegm.c: New file.  Based on
86649         wget-1.8.2/src/http.c:mktime_from_utc.
86650
86651 2003-08-31  Karl Berry  <karl@gnu.org>
86652
86653         * lib/argp.h: update from libc.
86654
86655 2003-08-28  Bruno Haible  <bruno@clisp.org>
86656
86657         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
86658         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
86659         followed by '#define fnmatch fnmatch_posix' gives an error.
86660
86661 2003-08-28  Bruno Haible  <bruno@clisp.org>
86662
86663         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
86664         warning on QNX, which defines O_BINARY to 000000.
86665
86666 2003-08-27  Jim Meyering  <jim@meyering.net>
86667
86668         * m4/mkstemp.m4: Require that the system mkstemp be able to create
86669         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
86670         would fail after 32.  Reported by Danny Levinson.  Details here:
86671         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
86672
86673 2003-08-24  Bruno Haible  <bruno@clisp.org>
86674
86675         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
86676         MSVC7 <stdio.h> is included later.
86677
86678 2003-08-22  Simon Josefsson  <jas@extundo.com>
86679
86680         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
86681
86682 2003-08-20  Karl Berry  <karl@gnu.org>
86683
86684         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
86685
86686 2003-08-20  Bruno Haible  <bruno@clisp.org>
86687
86688         * modules/progname: New file.
86689         * MODULES.html.sh (func_all_modules): Add progname.
86690
86691 2003-08-20  Bruno Haible  <bruno@clisp.org>
86692
86693         * lib/progname.h: New file, from GNU gettext.
86694         * lib/progname.c: New file, from GNU gettext.
86695         * lib/progreloc.c: New file, from GNU gettext.
86696
86697 2003-08-19  Jim Meyering  <jim@meyering.net>
86698
86699         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
86700         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
86701
86702 2003-08-19  Bruno Haible  <bruno@clisp.org>
86703
86704         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
86705         more.
86706
86707 2003-08-19  Bruno Haible  <bruno@clisp.org>
86708
86709         * lib/xstrdup.c: Assume <string.h> exists.
86710
86711 2003-08-18  Paul Eggert  <eggert@twinsun.com>
86712
86713         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
86714         in makefile rules.
86715
86716 2003-08-18  Jim Meyering  <jim@meyering.net>
86717
86718         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
86719         * m4/lib-ld.m4: Likewise.
86720
86721 2003-08-18  Jim Meyering  <jim@meyering.net>
86722
86723         * lib/setenv.h: Indent nested cpp directive.
86724         * lib/vasnprintf.c: Remove trailing blanks.
86725
86726 2003-08-17  Simon Josefsson  <jas@extundo.com>
86727
86728         * modules/xstrndup: New file.
86729         * MODULES.html.sh (func_all_modules): Add xstrndup.
86730
86731 2003-08-17  Simon Josefsson  <jas@extundo.com>
86732
86733         * modules/argp: Fix autoconf macro name. Add more dependencies.
86734
86735 2003-08-17  Simon Josefsson  <jas@extundo.com>
86736
86737         * m4/xstrndup.m4: New file.
86738
86739 2003-08-17  Simon Josefsson  <jas@extundo.com>
86740
86741         * m4/argp.m4: New file.
86742
86743 2003-08-17  Simon Josefsson  <jas@extundo.com>
86744             Bruno Haible  <bruno@clisp.org>
86745
86746         * lib/xstrndup.h: New file.
86747         * lib/xstrndup.c: New file.
86748
86749 2003-08-17  Bruno Haible  <bruno@clisp.org>
86750
86751         * modules/strndup (Files, Include): Add lib/strndup.h.
86752
86753 2003-08-17  Bruno Haible  <bruno@clisp.org>
86754
86755         * modules/euidaccess (Files): Add lib/euidaccess.h.
86756
86757 2003-08-17  Bruno Haible  <bruno@clisp.org>
86758
86759         * lib/strndup.h: New file.
86760
86761 2003-08-17  Bruno Haible  <bruno@clisp.org>
86762
86763         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
86764         like AC_GNU_SOURCE.
86765         * modules/extensions (configure.ac): Comment out the invocation of
86766         gl_USE_SYSTEM_EXTENSIONS.
86767
86768 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86769
86770         Merges from coreutils, etc.
86771         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
86772         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
86773         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
86774         fixing a typo.
86775         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
86776         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
86777
86778 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86779
86780         Document merge from coreutils.
86781         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
86782         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
86783         * modules/utime: Add m4/utimes-null.m4.
86784
86785 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86786
86787         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
86788         space, undoing this 2003-08-12 change:
86789         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86790
86791 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86792
86793         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
86794         strtoul.c from libc, undoing this 2003-08-12 change:
86795         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86796
86797 2003-08-16  Jim Meyering  <jim@meyering.net>
86798
86799         Merges from coreutils.
86800         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
86801         prefix.  Adjust cache variables similarly.  Create 500 rather than
86802         just 300 files, to exercise bug on Darwin6.5, too.
86803         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
86804         $missing_dir.
86805         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
86806         AM_SYS_POSIX_TERMIOS.
86807         Reported by mkc@mathdogs.com.
86808         Also change use of $am_cv_sys_posix_termios
86809         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
86810         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
86811         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
86812         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
86813         in /proc/mounts until it finds one with matching device number.  This
86814         is unnecessary when the FILE argument *is* a mount point.  No stat call
86815         is necessary in that case.  So, disable the statvfs-testing code on
86816         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
86817         as RedHat bug# 84846.
86818         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86819         to 1MB, so as not to render systems with no stack size limit (e.g.,
86820         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86821         Include <unistd.h>.  On some systems,
86822         it is required for the definition of _SC_PAGESIZE.
86823
86824 2003-08-16  Jim Meyering  <jim@meyering.net>
86825
86826         Merge from coreutils.
86827         * lib/xstrtoimax.c: #else #if -> #elif.
86828         * lib/xstrtoumax.c: Likewise.
86829
86830 2003-08-16  Jim Meyering  <jim@meyering.net>
86831
86832         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
86833         * m4/utimes.m4: Removed.
86834         * m4/utimes-null.m4: Renamed from utimes.m4.
86835
86836         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86837         to 1MB, so as not to render systems with no stack size limit (e.g.,
86838         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86839         Include <unistd.h>.  On some systems,
86840         it is required for the definition of _SC_PAGESIZE.
86841
86842 2003-08-16  Jim Meyering  <jim@meyering.net>
86843         and Paul Eggert  <eggert@cs.ucla.edu>
86844
86845         Merges from coreutils, etc.
86846
86847         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
86848         using the latest version from cvs.  This avoids problems with #line
86849         directives using a vendor (Sun) compiler.
86850         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
86851         Don't set GETGROUPS_LIB here; now it's
86852         done via getgroups.m4's wrapper function.
86853         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
86854         rather than just in sh-util/configure.in, so that the
86855         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
86856         same.
86857         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
86858         AC_FUNC_GETLOADAVG where to find getloadavg.c.
86859         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
86860         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
86861         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
86862         Remove code that is now done by the newly-required macros.
86863         Append $(EXEEXT) to DF_PROG.
86864         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
86865         Do not invoke or require the following here,
86866         since prereq.m4 or some gnulib .m4 now does this for us:
86867         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
86868         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
86869         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
86870         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
86871         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
86872         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
86873         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
86874         AC_FUNC_OBSTACK.
86875         Do not replace the following functions, as this is now the job
86876         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
86877         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
86878         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
86879         atexit getpass, strdup, getpagesize.
86880         Replace 'raise'.
86881         Do not check for the following functions, as this is now the job
86882         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
86883         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
86884         setregid.
86885         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
86886         Check for sys/sysctl.h.
86887         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
86888         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
86889         of checking for ssize_t ourselves.
86890
86891         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
86892         Require every macro that gnulib/modules/* suggests for us.
86893         (jm_PREREQ_ADDEXT): New macro.
86894         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
86895         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
86896
86897         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
86898         (gl_PHYSMEM): Use it.
86899         Also check for `table' function.
86900         Check for new headers and functions.
86901         Add check for sys/sysmp.h.
86902         With suggestions from Kaveh Ghazi.
86903         Ignore headers that are present but cannot be compiled.  This
86904         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
86905         C 5.4.
86906
86907 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86908
86909         Document merge from coreutils.
86910         * modules/userspec: Depend on posixver.
86911         * modules/strftime: Depend on tzset.
86912
86913 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86914
86915         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
86916         rather than tab, after '#' in shell-script copyright notices.
86917         Suggested by Bruno Haible.
86918
86919 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86920
86921         * config/srclist-update: Use three spaces, rather than tab, after '#'
86922         in shell-script copyright notices.  Suggested by Bruno Haible.
86923         Remove unnecessary parenthesization in regular expression.
86924
86925 2003-08-15  Jim Meyering  <jim@meyering.net>
86926
86927         Merge from coreutils.
86928         * lib/xgethostname.c: Include <stdlib.h>.
86929         (xghostname): Don't exit for anything other than memory-related
86930         failure; just return NULL.
86931         * lib/userspec.c: Include "posixver.h".
86932         (parse_user_spec): Accept `.' as a separator only
86933         in pre-POSIX-200112 mode.
86934         * lib/strtoimax.c: Use #elif rather than #else #if.
86935         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
86936         Remove function, now that we can rely on a working tzset function.
86937         [!_LIBC]: Ensure that the required autoconf test has been run.
86938         [!defined _NL_CURRENT && HAVE_STRFTIME]:
86939         Use underlying_strftime for %r.
86940         * lib/sha.c: Merge in some clean-up and optimization changes from
86941         glibc.
86942         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
86943         Ensure that it is a multiple of 64.
86944         Rearrange loop exit tests so as to avoid performing an
86945         additional fread after encountering an error or EOF.
86946         * lib/realloc.c: Update copyright date.
86947
86948 2003-08-15  Jim Meyering  <jim@meyering.net>
86949         and Paul Eggert  <eggert@twinsun.com>
86950
86951         Merge from coreutils.
86952         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
86953         member but strut utmpx does not.  Needed for AIX 4.3.3.
86954         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
86955
86956 2003-08-15  Jim Meyering  <jim@meyering.net>
86957         and Paul Eggert  <eggert@cs.ucla.edu>
86958
86959         Merges from coreutils, etc.
86960         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
86961         Require gl_FUNC_TZSET_CLOBBER.
86962         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
86963         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
86964         members.
86965
86966 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86967
86968         Help the merge from coreutils.
86969         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
86970         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
86971         * m4/tzset.m4: Use it too.
86972
86973 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86974
86975         * modules/tzset: New file.
86976
86977 2003-08-14  Jim Meyering  <jim@meyering.net>
86978
86979         Merges from coreutils.
86980         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
86981         variable names, rather than @FNMATCH_H@.
86982         * modules/alloca: Likewise for $(ALLOCA_H).
86983
86984         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
86985         the three copies of the literal target, `fnmatch.h'.
86986         * modules/alloca (alloca.h): Likewise.
86987
86988 2003-08-14  Jim Meyering  <jim@meyering.net>
86989
86990         Merge from coreutils.
86991         * m4/tzset.m4: New file.
86992         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
86993         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
86994         otherwise, AIX 5.1 systems would end up using the latter.
86995         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
86996         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
86997         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
86998         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
86999
87000 2003-08-14  Jim Meyering  <jim@meyering.net>
87001
87002         Merge from coreutils.
87003         * lib/obstack.h: Whitespace changes.
87004         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
87005         and xcalloc return values.
87006         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
87007         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
87008         hang on OSF/1 5.1 for DIR on both local and remote file systems.
87009         Reported by (and fix confirmed by) Nelson H. F. Beebe.
87010         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
87011         error from mntctl.
87012         Use mntctl's return value to drive the entry-processing loop, since
87013         we can't rely on the value of the vmt_length member in the last
87014         entry.  On some systems doing so could result in exhausting
87015         virtual memory.  Based in part on a patch from Mike Jetzer.
87016
87017 2003-08-14  Jim Meyering  <jim@meyering.net>
87018         and Paul Eggert  <eggert@twinsun.com>
87019
87020         Merges from coreutils, plus other fixes.
87021         * lib/physmem.c: Merge in portability changes from gcc/libiberty
87022         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
87023         for credits and details.  Thanks to Kaveh Ghazi for helping
87024         to keep these files in sync.
87025         (ARRAY_SIZE): Define it.
87026         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
87027         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
87028         (memcasecmp): Don't assume size_t fits in unsigned int.
87029         Remove casts and duplicate code.
87030         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
87031         (memcpy): Remove definition.
87032         Merge in some clean-up and optimization changes from glibc.
87033         [BLOCKSIZE]: Move definition to top of file.
87034         Ensure that it is a multiple of 64.
87035         Rearrange loop exit tests so as to avoid performing an
87036         additional fread after encountering an error or EOF.
87037         * lib/md5.h (md5_uintptr): Define.
87038         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
87039         return to the initial working directory.  Preserve errno
87040         for caller.
87041         * lib/idcache.c: Include "xalloc.h".
87042         (xmalloc, xrealloc): Remove decls.
87043         (getuser): Remove casts no longer required in C89.
87044         * lib/human.c: Include stdio.h, for sprintf.
87045         * lib/group-member.c: Include "xalloc.h".
87046         (xmalloc, xrealloc): Remove decls.
87047         (get_group_info): Remove casts no longer required in C89.
87048         * lib/getusershell.c (readname): Remove casts no longer required in
87049         C89.
87050         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
87051         * lib/getline.c: Whitespace fix, from coreutils.
87052
87053 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87054
87055         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
87056         Check for isascii.
87057
87058         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87059         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87060         Undo previous (whitespace-only) change.
87061
87062 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87063
87064         * lib/exclude.c: Include <ctype.h>
87065         (IN_CTYPE_DOMAIN): New macro.
87066         (is_space): New fn.
87067         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
87068         and empty lines.
87069
87070         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87071         Undo previous (whitespace-only) change.
87072
87073 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87074
87075         * config/srclist-update: Change update back to the old behavior,
87076         leaving whitespace alone.  Use one 'sed' command rather than a
87077         pipeline.
87078         (fixlicense): Now a variable, not a function.
87079         (remove_trailing_blanks): Remove.
87080         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
87081         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87082         Undo previous (whitespace-only) change.
87083
87084 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87085
87086         Merge from coreutils.
87087         * modules/euidaccess: Add lib_SOURCES, include for new
87088         file euidaccess.h
87089
87090 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87091
87092         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87093         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87094         Normalize leading white space and remove trailing white space.
87095
87096         Merge from coreutils
87097         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
87098
87099         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
87100         0.12.1.  These files are now being upgraded automatically by
87101         ../config/srclist-update.
87102
87103 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87104
87105         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87106         Normalize leading white space and remove trailing white space.
87107         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
87108         notice, as per ../config/srclist-update.
87109
87110         Merge from coreutils.
87111         * lib/euidaccess.h: New file.
87112         * lib/euidaccess.c: Include it.
87113         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
87114         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
87115         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
87116
87117 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87118
87119         * config/srclist-update: Add copyright notice.
87120         (remove_id_lines, remove_trailing_blanks): New constants.
87121         (fixfile): Use them to normalize spacing a bit in copied files.
87122         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87123         Normalize leading white space and remove trailing white space.
87124
87125         * config/texinfo.tex: Sync with texinfo.
87126
87127         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
87128         strtoul.c from libc, to merge coreutils whitespace changes.
87129
87130         * config/srclist.txt: Get the following m4 files from gettext:
87131         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
87132         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
87133         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
87134         wint_t.m4.
87135
87136 2003-08-12  Karl Berry  <karl@gnu.org>
87137
87138         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
87139         been made.
87140
87141 2003-08-11  Paul Eggert  <eggert@twinsun.com>
87142
87143         * modules/gnu-source, m4/gnu-source.m4:
87144         Remove; we're assuming Autoconf 2.54 or later now.
87145         Suggested by Bruno Haible.
87146         * MODULES.html.sh (func_all_modules): Remove gnu-source.
87147
87148 2003-08-11  Bruno Haible  <bruno@clisp.org>
87149
87150         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
87151
87152 2003-08-11  Bruno Haible  <bruno@clisp.org>
87153
87154         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
87155         (vasnprintf): Use it instead of wcslen.
87156
87157 2003-08-11  Bruno Haible  <bruno@clisp.org>
87158
87159         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
87160         value to ensure that _Bool promotes to int. Use #define for _Bool when
87161         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
87162
87163 2003-08-10  Karl Berry  <karl@gnu.org>
87164
87165         * lib/regex.h: update from libc (whitespace fix).
87166
87167 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87168
87169         Merge some files from coreutils.  These changes were
87170         originally made by Jim Meyering.
87171         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
87172         many older Unixes require this.
87173         * lib/alloca.c (alloca): Remove cast to argument of free;
87174         no longer needed in C89.
87175         * lib/alloca_.h, regex.h: Fix white space to match
87176         what GNU indent does.
87177
87178 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87179
87180         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
87181         apparently Emacs's Unicode mode got confused before my 2003-08-05
87182         checkin.
87183
87184 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87185
87186         * m4/extensions.m4: New file.
87187         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
87188         Require gl_USE_SYSTEM_EXTENSIONS.
87189         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
87190         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
87191
87192 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87193
87194         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
87195         * modules/extensions, modules/gnu-source: New files.
87196         * modules/timespec, modules/unlocked-io: Depend on extensions.
87197
87198 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87199
87200         * modules/restrict: New file.
87201         * MODULES.html.sh (func_all_modules): Add restrict.
87202         * modules/regex: Depend on restrict.
87203
87204 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87205
87206         * m4/restrict.m4: New file.
87207         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
87208
87209 2003-08-07  Bruno Haible  <bruno@clisp.org>
87210
87211         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
87212         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
87213
87214 2003-08-07  Bruno Haible  <bruno@clisp.org>
87215
87216         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
87217         makes the module 'getndelim2' compatible with the module 'getline'.
87218
87219 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87220
87221         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
87222         byte with "\201" to avoid glitches when editing that source file
87223         with multi-gnome-terminal.
87224
87225 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87226
87227         * lib/bumpalloc.h: Remove.
87228
87229 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87230
87231         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
87232         * modules/bumpalloc: Remove.
87233
87234 2003-08-04  Paul Eggert  <eggert@twinsun.com>
87235
87236         * lib/getloadavg.c: Change copyright notice and spacing to conform to
87237         GNU coding style.
87238
87239         Merge from coreutils.
87240         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
87241         1. From glibc.
87242         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
87243         from Karl Berry, implemented by Jim Meyering.
87244         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
87245         from Dmitry V. Levin.
87246         Remove anachronistic cast of xrealloc.
87247         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
87248         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
87249         type. Otherwise, it wouldn't compile with at least /bin/cc on
87250         ymp-cray-unicos9.0.2.X.
87251         Combine two mostly-identical uses of alloca into one.
87252         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
87253
87254 2003-08-04  Dave Love  <d.love@dl.ac.uk>
87255
87256         [From Emacs.]
87257
87258         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
87259         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
87260         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
87261         obsolete NLIST_NAME_UNION.
87262         [__GNU__]: Undef BSD and FSCALE.
87263         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
87264
87265 2003-08-03  Paul Eggert  <eggert@twinsun.com>
87266
87267         * lib/stdbool_.h (_Bool): Make it signed char, instead of
87268         an enum type, so that it's guaranteed to promote to int.  See:
87269         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
87270
87271 2003-08-03  Karl Berry  <karl@gnu.org>
87272
87273         * config/depcomp: update from automake.
87274
87275 2003-07-31  Paul Eggert  <eggert@twinsun.com>
87276
87277         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
87278         (strerror): Don't assume that a printable int fits in 14 bytes.
87279
87280 2003-07-31  Bruno Haible  <bruno@clisp.org>
87281
87282         * modules/getpass-gnu: New file.
87283         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
87284
87285 2003-07-31  Bruno Haible  <bruno@clisp.org>
87286
87287         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
87288
87289 2003-07-24  Karl Berry  <karl@gnu.org>
87290
87291         * config/missing: update from automake.
87292
87293 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
87294             Bruno Haible  <bruno@clisp.org>
87295
87296         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
87297         * lib/getline.c (getline, getdelim): Likewise.
87298         Remove _GNU_SOURCE define; now it's defined in config.h through
87299         m4/getline.m4.
87300
87301 2003-07-23  Karl Berry  <karl@gnu.org>
87302
87303         * config/config.sub: update from prep.
87304
87305 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87306
87307         * modules/xalloc (Depends-on): Add exitfail.
87308         * modules/xmemcoll: Likewise.
87309
87310 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87311
87312         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
87313         over-parenthesization in macros.
87314
87315         Sync with coreutils.
87316
87317         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
87318         required by C99.
87319
87320         Use `exit_failure' for xalloc and xmemcoll instead of their own
87321         private exit-failure variables.
87322         * lib/xalloc.h (xalloc_exit_failure): Remove.
87323         * lib/xmalloc.c: Likewise.  Include exitfail.h.
87324         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
87325         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
87326         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
87327         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
87328
87329 2003-07-20  Jim Meyering  <jim@meyering.net>
87330
87331         * modules/closeout (Depends-on): Add exitfail.
87332         Suggestion from Bruno Haible.
87333
87334 2003-07-19  Karl Berry  <karl@gnu.org>
87335
87336         * config/config.sub: update from prep.
87337
87338 2003-07-18  Paul Eggert  <eggert@twinsun.com>
87339
87340         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
87341         Remove.
87342         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
87343         to test that it can stand by itself.  Include "exitfail.h".
87344         Clients should set exit_failure instead.
87345         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
87346
87347 2003-07-18  Bruno Haible  <bruno@clisp.org>
87348
87349         * modules/getndelim2: New file.
87350         * modules/getline: Share files with module getndelim2.
87351         * modules/getnline: Depend on getndelim2 instead of sharing files with
87352         it. Add getnline.c to lib_SOURCES.
87353         * MODULES.html.sh (func_all_modules): Add getndelim2.
87354
87355 2003-07-18  Bruno Haible  <bruno@clisp.org>
87356
87357         * m4/getndelim2.m4: New file.
87358         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
87359         invoke gl_PREREQ_GETNDELIM2.
87360         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
87361         gl_PREREQ_GETNDELIM2.
87362         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
87363         gl_GETNDELIM2.
87364
87365 2003-07-18  Bruno Haible  <bruno@clisp.org>
87366
87367         * lib/getndelim2.h: New file.
87368         * lib/getndelim2.c: Make into a module of its own. Include config.h,
87369         getndelim2.h.
87370         (getndelim2): Make non-static. Change return type to ssize_t.
87371         * lib/getline.h: Change argument names.
87372         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
87373         * lib/getnline.c: Include getndelim2.h.
87374
87375 2003-07-18  Andreas Schwab  <schwab@suse.de>
87376
87377         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
87378
87379 2003-07-17  Karl Berry  <karl@gnu.org>
87380
87381         * config/config.sub: update from prep.
87382
87383 2003-07-17  Bruno Haible  <bruno@clisp.org>
87384
87385         * modules/getnline: New file.
87386         * modules/getline: Add lib/getndelim2.c to source file list.
87387         * MODULES.html.sh (func_all_modules): Add getnline.
87388
87389 2003-07-17  Bruno Haible  <bruno@clisp.org>
87390
87391         * m4/getnline.m4: New file.
87392
87393 2003-07-17  Bruno Haible  <bruno@clisp.org>
87394
87395         * m4/Makefile.am.in: Remove file.
87396         * m4/Makefile.am: Remove file.
87397         * m4/Makefile.in: Remove file.
87398
87399 2003-07-17  Bruno Haible  <bruno@clisp.org>
87400
87401         * lib/getnline.h: New file.
87402         * lib/getnline.c: New file.
87403         * lib/getndelim2.c: New file, extracted from getline.c.
87404         (getndelim2): Renamed from getdelim2, with added nmax argument.
87405         * lib/getline.c: Include getndelim2.c.
87406         (getdelim2): Moved out to getndelim2.c.
87407         (getline, getdelim): Update.
87408
87409 2003-07-17  Bruno Haible  <bruno@clisp.org>
87410
87411         * lib/Makefile.am: Remove file.
87412         * lib/Makefile.in: Remove file.
87413
87414 2003-07-17  Bruno Haible  <bruno@clisp.org>
87415
87416         * configure.in: Remove file.
87417         * Makefile.in: Remove file.
87418
87419 2003-07-17  Bruno Haible  <bruno@clisp.org>
87420
87421         * MODULES.html.sh: Put the </BODY> right before </HTML>.
87422
87423 2003-07-16  Karl Berry  <karl@gnu.org>
87424
87425         * config/srclist-update: was running fixlicense twice, which caused
87426                 texinfo.tex to be nullified for some reason.  Simplify,
87427                 $gplsrc is no longer needed as far as I can see?
87428
87429 2003-07-16  Jim Meyering  <jim@meyering.net>
87430
87431         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
87432
87433 2003-07-15  Paul Eggert  <eggert@twinsun.com>
87434
87435         * config/srclist.txt: Get the following files from gettext-runtime/intl
87436         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
87437         ref-del.sin.  From Bruno Haible.
87438         * config/srclist-update (fixfile): Change grep pattern again, since the
87439         previous fix didn't work (there was another trailing $).  Use
87440         '[$]' to escape the $s.
87441
87442 2003-07-15  Karl Berry  <karl@gnu.org>
87443
87444         * lib/vasnprintf.c: update from gettext.
87445
87446 2003-07-15  Karl Berry  <karl@gnu.org>
87447
87448         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
87449         gets expanded when surrounded by '$'.
87450
87451 2003-07-15  Jim Meyering  <jim@meyering.net>
87452
87453         * modules/save-cwd: Don't depend on error.  From Derek Price.
87454
87455 2003-07-15  Jim Meyering  <jim@meyering.net>
87456
87457         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
87458
87459 2003-07-14  Simon Josefsson  <jas@extundo.com>
87460
87461         * modules/mempcpy: New file.
87462         * MODULES.html.sh (func_all_modules): Add mempcpy.
87463
87464 2003-07-14  Simon Josefsson  <jas@extundo.com>
87465
87466         * m4/mempcpy.m4: New file.
87467
87468 2003-07-14  Simon Josefsson  <jas@extundo.com>
87469
87470         * lib/mempcpy.h: New file.
87471         * lib/mempcpy.c: New file.
87472
87473 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87474
87475         * modules/getdate, modules/posixtm: Depend on mktime.
87476
87477 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87478
87479         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
87480         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
87481         unicodeio.c, unicodeio.h, unlocked-io.h:
87482         Switch from LGPL to GPL.
87483
87484 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87485
87486         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
87487         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
87488         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
87489         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
87490         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
87491         updated automatically by ../config/srclist-update.  This changes
87492         their license from LPGL to GPL.
87493
87494 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87495
87496         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
87497         assumed to refer to the root of the most recent stable gettext version.
87498         * config/srclistvars.sh: Add defaults for eggert.
87499         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
87500         Match "This program" as well as "The program".  This is needed
87501         for gettext.
87502
87503 2003-07-14  Jim Meyering  <jim@meyering.net>
87504
87505         Don't emit diagnostics.  Let callers do that.
87506         * lib/save-cwd.c: Don't include "error.h".
87507         (save_cwd): Don't call error.  Ensure that errno is valid
87508         when returning nonzero.
87509
87510         * lib/save-cwd.h (restore_cwd): Update prototype.
87511         * lib/save-cwd.c (restore_cwd): Remove two parameters.
87512         Simplify.  Don't call error upon failure.  Let callers do that.
87513         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
87514         when auditing is enabled.  But don't bother updating the #if.
87515
87516 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
87517
87518         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
87519         it breaks C++ compilation.
87520         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
87521
87522 2003-07-10  Simon Josefsson  <jas@extundo.com>
87523
87524         * modules/strchrnul (Makefile.am): Add strchrnul.h.
87525
87526 2003-07-10  Jim Meyering  <jim@meyering.net>
87527
87528         * m4/clock_time.m4: Remove trailing blank.
87529         * m4/intmax_t.m4: Likewise.
87530
87531 2003-07-10  Jim Meyering  <jim@meyering.net>
87532
87533         * lib/vasnprintf.c: Remove trailing blanks.
87534         Make cpp indentation consistent.
87535
87536 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87537
87538         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
87539         posixver.c, strftime.c, strnlen.c, strverscmp.c:
87540         Switch from LGPL to GPL.
87541
87542 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87543
87544         * config/srclist.txt: Sort sublists.  Add
87545         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
87546         that differ from gnulib for one reason or another; we'd like this list
87547         to be smaller but for now let's document what we have.
87548
87549 2003-07-08  Paul Eggert  <eggert@twinsun.com>
87550
87551         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
87552         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
87553         and sweeter "eval x=$x".
87554         * config/srclist.txt: Get lib/argp* from glibc.
87555
87556 2003-07-07  Paul Eggert  <eggert@twinsun.com>
87557
87558         * lib/mktime.c: Fix some boundary cases and remove need for floating
87559         point.
87560
87561         Issue a compile-time diagnostic if time_t is floating point, or if
87562         two's complement arithmetic is not in effect, or if arithmetic
87563         right shift does not propagate the sign.  These assumptions were
87564         all in the original code but they weren't checked.
87565
87566         (TIME_T_MIDPOINT, verify): New macros.
87567         (__isleap): Remove; it has integer overflow problems.
87568         (leapyear): New function, without those problems.
87569         (ydhms_tm_diff): Remove; splitting into two parts.
87570         (ydhms_diff): New function, containing the arithmetic part of
87571         the old ydhms_tm_diff function.  Issue a compile-time
87572         diagnostic if we are not using C99 integer division.
87573         Avoid casts when possible.
87574         (guess_time_tm): New function, containing the checking part of
87575         the old ydhms_tm_diff function.  Return the new value, rather than
87576         the difference between it and the old.  Accept a new argument T
87577         so that *T specifies the old value.  Check for overflow in the result.
87578
87579         (__mktime_internal): Use a time_t offset, not a long int offset.
87580         This undoes the 2003-06-04 change, which is no longer needed now
87581         that we have better overflow checking.
87582         (localtime_offset): Likewise.
87583
87584         (__mktime_internal): Avoid harmful overflow on hosts where time_t
87585         and long are 64-bit but int is only 32-bit.
87586         (ydhms_diff): Use long int to store year1 and yday1.
87587         Issue a compile-time diagnostic if long int is not wide enough.
87588
87589         (__mktime_internal): Use long int to store adjusted year and yday.
87590         Use plain C rather than preprocessor commands, if that doesn't
87591         affect efficiency.
87592         Check for overflow (and try to repair) after each probe
87593         rather than checking only at the very end.  This avoids some bugs
87594         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
87595         does not equal GMT offset at maximum time).
87596         Use integer to check for overflow rather than floating point; this
87597         is more portable to non-IEEE hosts, and is a tad faster.
87598         When we detect that we are oscillating between two values,
87599         don't check whether tm_isdst has the requested value, since
87600         we already know the answer.  When tm_isdst has the wrong value,
87601         use a different heuristic to find the right one, based on the
87602         extreme values actually observed in practice in tz2003a,
87603         rather than the (overly optimistic) "previous 3 calendar quarters".
87604
87605         (not_equal_tm, print_tm, check_result): Use "const T" rather than
87606         "T const" to accommodate glibc style.
87607         (check_result): Use less-confusing report format.  "long" -> "long int.
87608         (main): Likewise.
87609         Don't loop if the iteration overflows time_t.
87610         Allow a negative step in the iteration.
87611
87612 2003-07-06  Karl Berry  <karl@gnu.org>
87613
87614         * config/depcomp: update from automake.
87615         * config/config.sub: update from prep.
87616
87617 2003-07-03  Karl Berry  <karl@gnu.org>
87618
87619         * config/config.guess: update from prep.
87620
87621 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87622
87623         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
87624         xreadlink.c now includes it unconditionally.
87625
87626 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87627
87628         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
87629         having it depend on HAVE_SYS_TYPES_H.
87630
87631 2003-07-01  Bruno Haible  <bruno@clisp.org>
87632
87633         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
87634         <sys/types.h> should be sufficient.
87635         Reported by Paul Eggert.
87636
87637 2003-06-26  Karl Berry  <karl@gnu.org>
87638
87639         * config/depcomp: update from automake.
87640
87641 2003-06-26  Bruno Haible  <bruno@clisp.org>
87642
87643         * modules/human: Depend on module stdbool.
87644
87645 2003-06-25  Bruno Haible  <bruno@clisp.org>
87646
87647         * modules/readlink: New file.
87648         * modules/xreadlink: Depend on it.
87649         * MODULES.html.sh (func_all_modules): Add readlink.
87650
87651 2003-06-25  Bruno Haible  <bruno@clisp.org>
87652
87653         * m4/readlink.m4: New file.
87654
87655 2003-06-25  Bruno Haible  <bruno@clisp.org>
87656
87657         * lib/readlink.c: New file.
87658
87659 2003-06-22  Karl Berry  <karl@gnu.org>
87660
87661         * config/srclist.txt: update mkinstalldirs from automake.
87662         * config/mkinstalldirs: update.
87663
87664 2003-06-22  Bruno Haible  <bruno@clisp.org>
87665
87666         Portability to mingw32.
87667         * m4/ssize_t.m4: New file, from GNU gettext.
87668         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
87669         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
87670
87671 2003-06-22  Bruno Haible  <bruno@clisp.org>
87672
87673         * modules/safe-read: Add m4/ssize_t.m4.
87674         * modules/xreadlink: Add m4/ssize_t.m4.
87675
87676 2003-06-20  Bruno Haible  <bruno@clisp.org>
87677
87678         Assume C89, so PARAMS isn't needed.
87679         * lib/unicodeio.h (PARAMS): Remove.
87680         * lib/unicodeio.c: Don't use PARAMS.
87681
87682 2003-06-18  Karl Berry  <karl@gnu.org>
87683
87684         * config/config.{guess,sub}: update from prep.
87685
87686 2003-06-18  Jim Meyering  <jim@meyering.net>
87687
87688         Merge changes from coreutils.
87689         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
87690         Remove explicit declarations of xmalloc and realloc.
87691         Include xalloc.h.
87692         (read_utmp): Remove anachronistic cast of xmalloc.
87693
87694 2003-06-17  Paul Eggert  <eggert@twinsun.com>
87695
87696         Assume C89, so PARAMS isn't needed.
87697         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
87698         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
87699         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
87700         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
87701         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
87702         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
87703         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
87704         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
87705         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
87706         lib/xstrtod.h, lib/xstrtol.h: Likewise.
87707         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
87708         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
87709         no longer needed. Anyway, config.h should always be included before any
87710         other file.
87711
87712 2003-06-11  Simon Josefsson  <jas@extundo.com>
87713
87714         * modules/sysexits: New file.
87715         * MODULES.html.sh (func_all_modules): Add sysexits.
87716
87717 2003-06-11  Simon Josefsson  <jas@extundo.com>
87718
87719         * lib/sysexit_.h: New file.
87720
87721 2003-06-11  Derek Price  <derek@ximbiot.com>
87722
87723         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
87724         necessary.
87725
87726 2003-06-11  Bruno Haible  <bruno@clisp.org>
87727
87728         * m4/sysexits.m4: New file.
87729
87730 2003-06-10  Simon Josefsson  <jas@extundo.com>
87731
87732         * lib/argp.h: New file, from glibc.
87733         * lib/argp-ba.c: New file, from glibc.
87734         * lib/argp-eexst.c: New file, from glibc.
87735         * lib/argp-fmtstream.c: New file, from glibc.
87736         * lib/argp-fmtstream.h: New file, from glibc.
87737         * lib/argp-fs-xinl.c: New file, from glibc.
87738         * lib/argp-help.c: New file, from glibc.
87739         * lib/argp-namefrob.h: New file, from glibc.
87740         * lib/argp-parse.c: New file, from glibc.
87741         * lib/argp-pv.c: New file, from glibc.
87742         * lib/argp-pvh.c: New file, from glibc.
87743         * lib/argp-xinl.c: New file, from glibc.
87744
87745 2003-06-10  Simon Josefsson  <jas@extundo.com>
87746
87747         * modules/strchrnul: New file.
87748
87749 2003-06-10  Simon Josefsson  <jas@extundo.com>
87750
87751         * modules/argp: New file.
87752
87753 2003-06-10  Simon Josefsson  <jas@extundo.com>
87754
87755         * m4/strchrnul.m4: New file.
87756
87757 2003-06-10  Simon Josefsson  <jas@extundo.com>
87758
87759         * lib/strchrnul.h: New file.
87760         * lib/strchrnul.c: New file.
87761
87762 2003-06-10  Bruno Haible  <bruno@clisp.org>
87763
87764         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
87765
87766 2003-06-07  Karl Berry  <karl@gnu.org>
87767
87768         * config/config.{guess,sub}: update from prep.
87769
87770 2003-06-07  Jim Meyering  <jim@meyering.net>
87771
87772         * modules/strtod: Use $(...) notation, not @...@ for
87773         AC_REPLACE'd variables.
87774         * modules/localcharset: Likewise.
87775
87776 2003-06-07  Jim Meyering  <jim@meyering.net>
87777
87778         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
87779         in place of my name in the copyright comment.
87780         Remove definition and uses of __P.
87781
87782         From coreutils.
87783         * lib/stat.c: Don't declare xmalloc explicitly.
87784         Instead, include "xalloc.h".
87785         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
87786         xrealloc, and xcalloc return values.
87787         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
87788         Improve comment.
87789         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
87790
87791 2003-06-07  Bruno Haible  <bruno@clisp.org>
87792
87793         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
87794         avoid AC_CONFIG_LINKS.
87795         * modules/fnmatch (Makefile.am): Use explicit creation rule for
87796         fnmatch.h, to avoid AC_CONFIG_LINKS.
87797         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
87798
87799 2003-06-07  Bruno Haible  <bruno@clisp.org>
87800
87801         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
87802         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
87803         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87804         directory.
87805         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
87806         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87807         directory.
87808
87809 2003-06-06  Jim Meyering  <jim@meyering.net>
87810
87811         Merge from coreutils.
87812         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
87813         Consolidate declarations and initializations of *_base* locals.
87814
87815         Merge from coreutils.
87816         This avoids a core dump on systems without GNU putenv,
87817         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
87818         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
87819         (unsetenv): New static function, from GNU libc.
87820         (rpl_putenv): Use it.
87821
87822         * lib/modechange.c: Remove trailing blanks.
87823
87824         Merge from coreutils.
87825         * lib/fsusage.c: Remove declaration of statfs.
87826         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
87827
87828         * lib/posixtm.c: Include <stdbool.h> unconditionally.
87829
87830 2003-06-06  Jim Meyering  <jim@meyering.net>
87831
87832         * lib/stdbool_.h: Renamed from stdbool.h.in.
87833
87834 2003-06-06  Jim Meyering  <jim@meyering.net>
87835             Bruno Haible  <bruno@clisp.org>
87836
87837         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
87838         Adjust Makefile.am snippet not to redirect directly to target.
87839         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
87840
87841 2003-06-05  Paul Eggert  <eggert@twinsun.com>
87842
87843         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
87844         mismatch, look in future quarters as well as past.  This fixes a
87845         bug when processing fall-backwards gaps immediately after a long
87846         period of daylight-saving time.
87847
87848         * lib/mktime.c: Assume freestanding C89 or better.
87849         (HAVE_LIMITS_H): Remove.  Assume it's 1.
87850         (__P): Remove; not used.
87851         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
87852         (mktime, not_equal_tm, print_tm, check_result,
87853         main): Use prototypes.  Use const * where appropriate.
87854         (main): Fix typo in testing code that uncovered by above changes.
87855         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
87856
87857 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87858
87859         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
87860         locale.h, localeconv.  This merges changes from coreutils.
87861
87862         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
87863         It can be removed after the next Autoconf is released.
87864         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
87865         needed.
87866
87867 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87868
87869         * lib/mktime.c: Fix Debian bug 177940
87870         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
87871         (localtime_offset): Now long int, not time_t, because we want it
87872         to be guaranteed to be signed.  All uses changed.
87873         (__mktime_internal): If overflow would occur when adding offset,
87874         don't add it.
87875
87876         Merge 'human' changes from coreutils.  Rewrite to support
87877         locale-specific notations like thousands separators.
87878         * lib/human.c: Simplify authorship notice.
87879         Include human.h immediately after config.h.
87880         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
87881         <limits.h>: Do not include, since human.h does.
87882         (SIZE_MAX, UINTMAX_MAX): New macros.
87883         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
87884         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
87885         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
87886         (power_letter): Renamed from suffixes.
87887         (generate_suffix_backwards): Remove.
87888         (adjust_value): Now takes int style (because of human.h changes)
87889         and long double value (for greater precision on some platforms).
87890         (group_number): New function.
87891         (human_readable): Use it.  Use integer options, not enum.
87892         Put the options before the sizes in the arg list.
87893         Support all the new options.
87894         The old human_readable function has been removed;
87895         use inttostr.h instead.
87896         (human_readable, default_block_size, humblock):
87897         Use uintmax_t, not int, for block sizes.
87898         (human_readable_inexact, block_size_types): Remove.
87899         (block_size_opts): New constant.
87900         (human_options): Renamed from human_block_size, with new signature
87901         that allows block sizes up to UINTMAX_MAX.  All callers changed.
87902         * lib/human.h: Add copyright and authorship notice.
87903         Include <limits.h> and <stdbool.h> unconditionally.
87904         (PARAMS): Remove.  All uses removed.
87905         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
87906         (enum human_inexact_style): Remove tag; now a nameless enum.
87907         (human_floor, human_ceiling, human_round_to_even): Now have
87908         values 2, 0, 1 rather than -1, 1, 0.
87909         (human_group_digits, human_suppress_point_zero, human_autoscale,
87910         human_base_1024, human_SI, human_B): New constants.
87911         (human_readable_inexact, human_block_size): Remove.
87912         (human_readable): Size args are now uintmax_t, not int.
87913         (human_options): New decl.
87914
87915         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
87916         unnecessary now that we assume C89 or better.  This change
87917         imported from coreutils.
87918
87919         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87920         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
87921         in the 2003-05-30 sync from glibc.
87922
87923         .h files should stand alone, but we shouldn't include <sys/types.h>
87924         if we can get away with just <stddef.h>.
87925
87926         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
87927         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
87928         rather than <sys/types.h>, as we merely need size_t.
87929         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
87930         to get size_t.
87931         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
87932         Include <stdio.h>, to get FILE.
87933         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
87934         memcasecmp.h has included <stddef.h> and all we need is size_t.
87935         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
87936         our interface, instead of including <sys/types.h>
87937
87938 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87939
87940         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
87941         now, as glibc mktime is buggy on non-glibc systems.
87942
87943 2003-06-03  Karl Berry  <karl@gnu.org>
87944
87945         * config/config.sub: update from prep.
87946
87947 2003-06-02  Paul Eggert  <eggert@twinsun.com>
87948
87949         [from coreutils]
87950         Fix some minor time-related bugs with POSIX time arguments.
87951         Some valid time stamps were being rejected (notably -1, and
87952         time stamps before 1900 on 64-bit hosts).  And some invalid
87953         time stamps were being accepted, e.g. September 31.
87954
87955         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
87956         that we can return (time_t) -1 successfully.
87957         * lib/posixtm.c: Likewise.
87958         [HAVE_STDBOOL_H]: Include <stdbool.h>.
87959         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
87960         (t): Remove static var.
87961         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
87962         of static var.  All uses changed.
87963         (year): Do not reject years before 1900; they can occur with
87964         64-bit time_t.
87965         (posix_time_parse): Do not check for out-of-range components;
87966         that is now the caller's responsibility, since our checks were
87967         only approximations.
87968         (posixtime): Use mktime to check for out-of-range components,
87969         since it knows them exactly.
87970         If mktime returns (time_t) -1, check whether an error actually occurred
87971         by invoking localtime on -1.
87972         (main) [TEST_POSIXTIME]: Check for input data errors, and report
87973         posixtime failures better.
87974         Improve the test data (in comments only).
87975
87976 2003-06-02  Karl Berry  <karl@gnu.org>
87977
87978         * config/mkinstalldirs (version): new variable.
87979         (--version): new option.
87980         (usage): improve message.
87981
87982 2003-05-30  Karl Berry  <karl@gnu.org>
87983
87984         * lib/mktime.c: update from libc.
87985
87986 2003-05-30  Bruno Haible  <bruno@clisp.org>
87987
87988         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
87989         * config/config.rpath: Upgrade to gettext-0.12.1.
87990
87991 2003-05-30  Bruno Haible  <bruno@clisp.org>
87992
87993         * m4/gettext.m4: Upgrade to gettext-0.12.1.
87994         * m4/nls.m4: New file, from gettext-0.12.1.
87995         * m4/po.m4: New file, from gettext-0.12.1.
87996         * m4/progtest.m4: Upgrade to gettext-0.12.1.
87997
87998 2003-05-30  Bruno Haible  <bruno@clisp.org>
87999
88000         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
88001         * lib/localcharset.h: Likewise.
88002         * lib/localcharset.c: Likewise.
88003
88004 2003-05-29  Karl Berry  <karl@gnu.org>
88005
88006         * config/config.rpath: update from gettext.
88007
88008 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88009
88010         Assume the headers required for C89 freestanding compilers.
88011         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
88012         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
88013         * m4/human.m4 (gl_HUMAN): Likewise.
88014         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
88015         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
88016         * m4/userspec.m4 (gl_USERSPEC): Likewise.
88017         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
88018         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88019         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
88020
88021 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88022
88023         Assume the headers required for C89 freestanding compilers.
88024         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
88025         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
88026         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
88027         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
88028         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
88029         define, since <limits.h> is guaranteed to do that.
88030         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
88031         * lib/exclude.c: Include <stdbool.h> unconditionally.
88032         * lib/tempname.c: Include <stddef.h> unconditionally.
88033         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
88034         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
88035         <stddef.h> does that.
88036         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
88037         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
88038         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
88039         needed.
88040         * lib/xstrtol.c: Likewise.
88041         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
88042         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
88043
88044         * lib/addext.c (addext): Use assignment rather than cast, to avoid
88045         warnings on some platforms.
88046
88047         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88048         arbitrarily.
88049
88050 2003-05-26  Jim Meyering  <jim@meyering.net>
88051
88052         Merge in a change from coreutils:
88053         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
88054         that is guaranteed to be `no'.  Use `no_such_member' to indicate
88055         that condition, rather than `-1' which is slightly misleading.
88056         Change the name of the cache variable to have the gl_ prefix.
88057         Prompted by a patch from Richard Dawe for DJGPP.
88058
88059 2003-05-24  Karl Berry  <karl@gnu.org>
88060
88061         * config/config.guess: update from prep.
88062
88063 2003-05-22  Karl Berry  <karl@gnu.org>
88064
88065         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
88066
88067 2003-05-20  Karl Berry  <karl@gnu.org>
88068
88069         * config/config.guess: update from prep.
88070
88071 2003-05-18  Karl Berry  <karl@gnu.org>
88072
88073         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
88074         might actually be set by the user.
88075
88076         * config/depcomp, install-sh, mdate-sh: update from automake.
88077
88078 2003-05-17  Bruno Haible  <bruno@clisp.org>
88079
88080         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
88081         invalid expansion for AC_EGREP_CPP.
88082         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
88083         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
88084         Suggested by Akim Demaille <akim@epita.fr> in
88085         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
88086
88087 2003-05-12  Jim Meyering  <jim@meyering.net>
88088
88089         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
88090         the space-padded-by-default conversion specifiers, %e, %k, %l.
88091
88092 2003-05-12  Bruno Haible  <bruno@clisp.org>
88093
88094         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
88095         the string is longer than 4 KB.
88096
88097 2003-05-11  Karl Berry  <karl@gnu.org>
88098
88099         * config/config.{guess,sub}: update from prep.
88100
88101 2003-05-09  Bruno Haible  <bruno@clisp.org>
88102
88103         * modules/error: Add m4/strerror_r.m4 to file list.
88104
88105 2003-05-03  Bruno Haible  <bruno@clisp.org>
88106
88107         Upgrade to Unicode-4.0.
88108         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
88109         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
88110         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
88111         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
88112         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
88113         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
88114         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
88115         Change width of U+E0100..U+E01EF from 1 to 0.
88116
88117 2003-04-25  Jim Meyering  <jim@meyering.net>
88118
88119         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
88120         of type size_t, not int.
88121
88122 2003-04-25  Bruno Haible  <bruno@clisp.org>
88123
88124         * lib/copy-file.c: Include <stddef.h>, for size_t.
88125
88126 2003-04-21  Paul Eggert  <eggert@twinsun.com>
88127
88128         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
88129         code which expansion is under static control.  Patch imported from
88130         Akim Demaille's patch to Bison; see
88131         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
88132
88133 2003-04-14  Bruno Haible  <bruno@clisp.org>
88134
88135         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
88136
88137 2003-04-11  Jim Meyering  <jim@meyering.net>
88138
88139         Merge changes from Coreutils.
88140
88141         2003-03-22  Jim Meyering  <jim@meyering.net>
88142
88143         * lib/strftime.c (widen): Cast alloca return value to proper type.
88144
88145         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
88146
88147         From GNU libc.
88148         * lib/strftime.c (my_strftime): Handle very large width
88149         specifications for numeric values correctly.  Improve checks for
88150         overflow.
88151
88152         2003-01-19  Jim Meyering  <jim@meyering.net>
88153
88154         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
88155         definitions.
88156         (nl_get_alt_digit) [! defined my_strftime]: Define.
88157         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
88158         _nl_get_alt_digit and _nl_get_walt_digit.
88159
88160         * lib/strftime.c (my_strftime): Merge in locale-related changes from
88161         libc. These changes have no effect outside of _LIBC.
88162
88163 2003-04-10  Bruno Haible  <bruno@clisp.org>
88164
88165         * modules/findprog: New file.
88166         * MODULES.html.sh (func_all_modules): Add it.
88167
88168 2003-04-10  Bruno Haible  <bruno@clisp.org>
88169
88170         * m4/findprog.m4: New file.
88171         * m4/eaccess.m4: New file.
88172
88173 2003-04-10  Bruno Haible  <bruno@clisp.org>
88174
88175         * lib/findprog.h: New file, from GNU gettext.
88176         * lib/findprog.c: New file, from GNU gettext.
88177
88178 2003-04-05  Jim Meyering  <jim@meyering.net>
88179
88180         Merge changes from Coreutils.
88181
88182         * lib/exclude.h (PARAMS): Remove definition and uses.
88183         * lib/exclude.c: Remove uses of `PARAMS'.
88184
88185         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
88186         Add test-cases for DOS filenames. Declare program_name.
88187         (main): Set up program_name.  Patch by Rich Dawe.
88188
88189         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88190         error from mntctl.
88191         Use mntctl's return value to drive the entry-processing loop, since
88192         we can't rely on the value of the vmt_length member in the last
88193         entry.  On some systems doing so could result in exhausting
88194         virtual memory.  Based in part on a patch from Mike Jetzer.
88195
88196 2003-04-04  Bruno Haible  <bruno@clisp.org>
88197
88198         * modules/linebreak: New file.
88199         * MODULES.html.sh (func_all_modules): Add it.
88200
88201 2003-04-04  Bruno Haible  <bruno@clisp.org>
88202
88203         * m4/linebreak.m4: New file.
88204
88205 2003-04-04  Bruno Haible  <bruno@clisp.org>
88206
88207         * lib/linebreak.h: New file, from GNU gettext.
88208         * lib/linebreak.c: New file, from GNU gettext with slight
88209         modifications.
88210         * lib/lbrkprop.h: New file, from GNU gettext.
88211
88212 2003-04-03  Bruno Haible  <bruno@clisp.org>
88213
88214         * modules/utf8-ucs4: New file.
88215         * modules/utf16-ucs4: New file.
88216         * modules/ucs4-utf8: New file.
88217         * modules/ucs4-utf16: New file.
88218         * MODULES.html.sh (func_all_modules): Add them.
88219
88220 2003-04-03  Bruno Haible  <bruno@clisp.org>
88221
88222         * m4/utf-ucs4.m4: New file.
88223         * m4/ucs4-utf.m4: New file.
88224
88225 2003-04-03  Bruno Haible  <bruno@clisp.org>
88226
88227         * lib/utf8-ucs4.h: New file, from GNU gettext.
88228         * lib/utf16-ucs4.h: New file, from GNU gettext.
88229         * lib/ucs4-utf8.h: New file, from GNU gettext.
88230         * lib/ucs4-utf16.h: New file, from GNU gettext.
88231
88232 2003-04-02  Bruno Haible  <bruno@clisp.org>
88233
88234         * modules/binary-io: New file.
88235         * MODULES.html.sh (func_all_modules): Add it.
88236
88237 2003-04-02  Bruno Haible  <bruno@clisp.org>
88238
88239         * lib/binary-io.h: New file, from GNU gettext.
88240
88241 2003-04-01  Bruno Haible  <bruno@clisp.org>
88242
88243         * modules/pathname: New file.
88244         * MODULES.html.sh (func_all_modules): Add it.
88245
88246 2003-04-01  Bruno Haible  <bruno@clisp.org>
88247
88248         * lib/pathname.h: New file, from GNU gettext.
88249         * lib/concatpath.c: New file, from GNU gettext.
88250
88251 2003-03-30  Bruno Haible  <bruno@clisp.org>
88252
88253         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
88254
88255 2003-03-30  Bruno Haible  <bruno@clisp.org>
88256
88257         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
88258         function chown() doesn't exist.
88259
88260 2003-03-28  Bruno Haible  <bruno@clisp.org>
88261
88262         * modules/copy-file: New file.
88263         * MODULES.html.sh (func_all_modules): Add it.
88264
88265 2003-03-28  Bruno Haible  <bruno@clisp.org>
88266
88267         * m4/copy-file.m4: New file.
88268
88269 2003-03-28  Bruno Haible  <bruno@clisp.org>
88270
88271         * lib/copy-file.h: New file, from GNU gettext.
88272         * lib/copy-file.c: New file, from GNU gettext.
88273
88274 2003-03-18  Jim Meyering  <jim@meyering.net>
88275
88276         * lib/quote.c (quote_n): Fix typo in comment.
88277
88278 2003-03-18  Bruno Haible  <bruno@clisp.org>
88279
88280         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
88281         checking.
88282         * m4/onceonly_2_57.m4: Likewise.
88283
88284 2003-03-17  Bruno Haible  <bruno@clisp.org>
88285
88286         * m4/onceonly.m4: Require autoconf 2.54 or newer.
88287         (m4_quote): Remove macro.
88288         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
88289
88290 2003-03-14  Jim Meyering  <jim@meyering.net>
88291
88292         Merge changes from Coreutils.
88293         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
88294         to be const, in order to avoid warnings.
88295         (obstack_room): Likewise.
88296         (obstack_empty_p): Likewise.
88297
88298 2003-03-14  Bruno Haible  <bruno@clisp.org>
88299
88300         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
88301         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
88302
88303 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88304
88305         Merge changes from Bison.
88306         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
88307         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
88308         when compiling Bison 1.875's `bitset bset = obstack_alloc
88309         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
88310         * lib/hash.c: Include <stdbool.h> unconditionally.
88311
88312 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88313
88314         * m4/onceonly.m4 (m4_quote): New macro.
88315         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
88316         Quote AC_FOREACH variable-expansions properly.
88317
88318 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88319
88320         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
88321
88322 2003-03-09  Paul Eggert  <eggert@twinsun.com>
88323
88324         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
88325         Reported by Bruce Becker; see:
88326         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
88327
88328 2003-03-03  Paul Eggert  <eggert@twinsun.com>
88329             Bruno Haible  <bruno@clisp.org>
88330
88331         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
88332         Reported by John Hughes, see
88333         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
88334
88335 2003-02-20  Bruno Haible  <bruno@clisp.org>
88336
88337         * MODULES.html.sh (func_all_modules): Add poll.
88338
88339 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88340
88341         * modules/poll: New file.
88342
88343 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88344
88345         * lib/poll_.h: New file.
88346         * lib/poll.c: New file.
88347
88348 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88349
88350         * m4/poll.m4: New file.
88351
88352 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88353
88354         * modules/mathl: New file.
88355
88356 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88357
88358         * lib/mathl.h: New file.
88359         * lib/acosl.c: New file.
88360         * lib/asinl.c: New file.
88361         * lib/atanl.c: New file.
88362         * lib/ceill.c: New file.
88363         * lib/cosl.c: New file.
88364         * lib/expl.c: New file.
88365         * lib/floorl.c: New file.
88366         * lib/frexpl.c: New file.
88367         * lib/ldexpl.c: New file.
88368         * lib/logl.c: New file.
88369         * lib/sincosl.c: New file.
88370         * lib/sinl.c: New file.
88371         * lib/sqrtl.c: New file.
88372         * lib/tanl.c: New file.
88373         * lib/trigl.c: New file.
88374         * lib/trigl.h: New file.
88375
88376 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88377
88378         * m4/mathl.m4: New file.
88379
88380 2003-02-18  Bruno Haible  <bruno@clisp.org>
88381
88382         * MODULES.html.sh (func_all_modules): Add mathl.
88383
88384 2003-02-17  Bruno Haible  <bruno@clisp.org>
88385
88386         * modules/mkdtemp: New module.
88387         * MODULES.html.sh (func_all_modules): Add it.
88388
88389 2003-02-17  Bruno Haible  <bruno@clisp.org>
88390
88391         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
88392
88393 2003-02-17  Bruno Haible  <bruno@clisp.org>
88394
88395         * lib/mkdtemp.h: New file, from GNU gettext.
88396         * lib/mkdtemp.c: New file, from GNU gettext.
88397
88398 2003-02-02  Jim Meyering  <jim@meyering.net>
88399
88400         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
88401         e.g. glibc-2.2.93.
88402
88403 2003-01-31  Bruno Haible  <bruno@clisp.org>
88404
88405         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
88406         'rpl_rename'.
88407         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
88408         'rpl_strnlen'.
88409         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
88410         'rpl_strtod'.
88411         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
88412         'rpl_utime'.
88413
88414 2003-01-31  Bruno Haible  <bruno@clisp.org>
88415
88416         * lib/rename.c: #undef rename before defining rpl_rename.
88417         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
88418
88419 2003-01-30  Bruno Haible  <bruno@clisp.org>
88420
88421         * modules/vasnprintf, modules/vasprintf: New modules.
88422         * MODULES.html.sh (func_all_modules): Add them.
88423
88424 2003-01-30  Bruno Haible  <bruno@clisp.org>
88425
88426         * m4/signed.m4: New file, from GNU gettext.
88427         * m4/longdouble.m4: New file, from GNU gettext.
88428         * m4/wchar_t.m4: New file, from GNU gettext.
88429         * m4/wint_t.m4: New file, from GNU gettext.
88430         * m4/vasnprintf.m4: New file.
88431         * m4/vasprintf.m4: New file.
88432
88433 2003-01-30  Bruno Haible  <bruno@clisp.org>
88434
88435         * lib/printf-args.h: New file, from GNU gettext.
88436         * lib/printf-args.c: New file, from GNU gettext.
88437         * lib/printf-parse.h: New file, from GNU gettext.
88438         * lib/printf-parse.c: New file, from GNU gettext.
88439         * lib/vasnprintf.h: New file, from GNU gettext.
88440         * lib/vasnprintf.c: New file, from GNU gettext.
88441         * lib/asnprintf.c: New file, from GNU gettext.
88442         * lib/vasprintf.h: New file, from GNU gettext with modifications.
88443         * lib/vasprintf.c: New file, from GNU gettext.
88444         * lib/asprintf.c: New file, from GNU gettext.
88445
88446 2003-01-29  Bruno Haible  <bruno@clisp.org>
88447
88448         * modules/stpncpy: New module.
88449         * MODULES.html.sh (func_all_modules): Add it.
88450
88451 2003-01-29  Bruno Haible  <bruno@clisp.org>
88452
88453         * m4/stpncpy.m4: New file.
88454
88455 2003-01-29  Bruno Haible  <bruno@clisp.org>
88456
88457         * lib/stpncpy.h: New file, from GNU gettext with modifications.
88458         * lib/stpncpy.c: New file, from GNU gettext with modifications.
88459
88460 2003-01-28  Bruno Haible  <bruno@clisp.org>
88461
88462         * modules/c-ctype: New module.
88463         * MODULES.html.sh (func_all_modules): Add it.
88464
88465 2003-01-28  Bruno Haible  <bruno@clisp.org>
88466
88467         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
88468         Paul Eggert.
88469         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
88470         Paul Eggert.
88471
88472 2003-01-27  Bruno Haible  <bruno@clisp.org>
88473
88474         * modules/xsetenv: New module.
88475         * MODULES.html.sh (func_all_modules): Add it.
88476
88477 2003-01-27  Bruno Haible  <bruno@clisp.org>
88478
88479         * lib/xsetenv.h: New file, from GNU gettext.
88480         * lib/xsetenv.c: New file, from GNU gettext.
88481
88482 2003-01-23  Jim Meyering  <jim@meyering.net>
88483
88484         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
88485         from working on systems without dirfd (at least Irix and OSF1/Tru64).
88486
88487 2003-01-23  Bruno Haible  <bruno@clisp.org>
88488
88489         * modules/minmax: New module.
88490         * MODULES.html.sh (func_all_modules): Add it.
88491
88492 2003-01-23  Bruno Haible  <bruno@clisp.org>
88493
88494         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
88495         Eggert.
88496
88497 2003-01-22  Bruno Haible  <bruno@clisp.org>
88498
88499         * modules/exit: New module.
88500         * MODULES.html.sh (func_all_modules): Add it.
88501
88502 2003-01-22  Bruno Haible  <bruno@clisp.org>
88503
88504         * lib/exit.h: New file, from GNU gettext.
88505
88506 2003-01-19  Bruno Haible  <bruno@clisp.org>
88507
88508         * gnulib-tool: Recognize option --extract-maintainer.
88509         (func_get_maintainer): New function.
88510         * modules/*: Add Maintainer entry.
88511
88512 2003-01-16  Jim Meyering  <jim@meyering.net>
88513
88514         * m4/regex.m4: The `regex' struct is both input and output.
88515         Initialize it before each use.  Patch by Tim Waugh.
88516
88517 2003-01-16  Bruno Haible  <bruno@clisp.org>
88518
88519         * MODULES.html.sh: Add a table of contents. Add the module name as
88520         leftmost column. Add hyperlinks.
88521
88522 2003-01-15  Bruno Haible  <bruno@clisp.org>
88523
88524         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
88525
88526 2003-01-15  Bruno Haible  <bruno@clisp.org>
88527
88528         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
88529         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
88530         suffix.
88531
88532 2003-01-15  Bruno Haible  <bruno@clisp.org>
88533
88534         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
88535
88536 2003-01-15  Bruno Haible  <bruno@clisp.org>
88537
88538         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
88539         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
88540
88541 2003-01-14  Jim Meyering  <jim@meyering.net>
88542
88543         * lib/same.c (same_name): Tweak a comment.
88544
88545 2003-01-14  Bruno Haible  <bruno@clisp.org>
88546
88547         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
88548         when a string comparison is sufficient.
88549
88550 2003-01-14  Bruno Haible  <bruno@clisp.org>
88551
88552         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
88553         'unsigned int'.
88554
88555 2003-01-14  Bruno Haible  <bruno@clisp.org>
88556
88557         * lib/hash-pjw.c: Add comment about low quality of this function.
88558
88559 2003-01-13  Bruno Haible  <bruno@clisp.org>
88560
88561         * modules/stpcpy: Distribute lib/stpcpy.h.
88562         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
88563
88564 2003-01-13  Bruno Haible  <bruno@clisp.org>
88565
88566         * modules/*: Add a description.
88567         * modules/strpbrk: Fix Makefile.am snippet.
88568         * modules/strtoimax: Fix dependencies.
88569         * modules/strtoumax: Likewise.
88570
88571 2003-01-13  Bruno Haible  <bruno@clisp.org>
88572
88573         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
88574         * modules/alloca (Makefile.am): All object files depend on alloca.h.
88575         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
88576
88577 2003-01-13  Bruno Haible  <bruno@clisp.org>
88578
88579         * gnulib-tool (func_create_testdir): Store config/* files in the main
88580         directory.
88581         * config.rpath: Move to ...
88582         * config/config.rpath: ... here.
88583         * modules/gettext: Contains config/config.rpath, not config.rpath.
88584         * modules/iconv: Likewise.
88585
88586 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88587
88588         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88589         to avoid collisions with libcurses and libreadline.
88590
88591         * m4/getstr.m4: Remove.
88592         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
88593
88594 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88595
88596         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88597         to avoid collisions with libcurses and libreadline.
88598
88599         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
88600         * lib/getstr.h, getstr.c: Remove.
88601         * lib/getline.c: Include "getline.h", to check interface.
88602         Move body of old getstr.c here: this defines MIN_CHUNK and
88603         declares getdelim2, which is renamed from getstr.
88604         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
88605
88606         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
88607         All uses changed.
88608         * lib/linebuffer.h: Likewise.
88609         (readline): Remove backward-compatibility macro.
88610
88611 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88612
88613         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88614         to avoid collisions with libcurses and libreadline.
88615         * getstr: Remove.
88616         * MODULES.html.sh: Remove getstr.
88617         * modules/getline: Depend on unlocked-io, not getstr.
88618
88619 2003-01-12  Jim Meyering  <jim@meyering.net>
88620
88621         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
88622
88623 2003-01-10  Bruno Haible  <bruno@clisp.org>
88624
88625         * modules/alloca: Change Makefile.am requirements. Simplify Include
88626         requirements. Add lib/alloca_.h to file list.
88627
88628 2003-01-10  Bruno Haible  <bruno@clisp.org>
88629
88630         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
88631
88632 2003-01-10  Bruno Haible  <bruno@clisp.org>
88633
88634         * lib/alloca_.h: New file.
88635         * lib/getdate.y: Unconditionally include alloca.h.
88636         * lib/makepath.c: Likewise.
88637         * lib/setenv.c: Likewise.
88638         * lib/userspec.c: Likewise.
88639
88640 2003-01-09  Karl Berry  <karl@gnu.org>
88641
88642         * MODULES.html.sh: include `dirname $0` in PATH, to find
88643         gnulib-tool.
88644
88645 2003-01-09  Bruno Haible  <bruno@clisp.org>
88646
88647         * modules/stdbool: Change configure.ac, Makefile.am requirements.
88648         Simplify Include requirements. Add lib/stdbool.h.in to file list.
88649
88650 2003-01-09  Bruno Haible  <bruno@clisp.org>
88651
88652         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
88653
88654 2003-01-09  Bruno Haible  <bruno@clisp.org>
88655
88656         * lib/stdbool.h.in: New file.
88657
88658 2003-01-09  Bruno Haible  <bruno@clisp.org>
88659
88660         * gnulib-tool (func_all_modules): Ignore files ending in ~.
88661         * MODULES.html.sh: Likewise.
88662
88663 2003-01-08  Jim Meyering  <jim@meyering.net>
88664
88665         * lib/full-write.c: Undefine and define-away `const' after inclusion
88666         of errno.h, not before.  Suggestion from Bruno Haible.
88667
88668 2003-01-08  Bruno Haible  <bruno@clisp.org>
88669
88670         * modules/full-read: Depend on full-write.
88671
88672 2003-01-08  Bruno Haible  <bruno@clisp.org>
88673
88674         * lib/safe-read.c: Include specification header first, to ensure its
88675         selfcontainedness.
88676         * lib/full-write.c: Likewise.
88677
88678 2003-01-07  Jim Meyering  <jim@meyering.net>
88679
88680         * lib/full-write.c: Rework so that it may serve to define full_read,
88681         too.
88682         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
88683
88684 2003-01-07  Bruno Haible  <bruno@clisp.org>
88685
88686         * lib/strtoimax.c: Include <stdint.h> as an alternative to
88687         <inttypes.h>.
88688         * lib/xstrtol.h: Likewise.
88689         * lib/xstrtoimax.c: Likewise.
88690         * lib/xstrtoumax.c: Likewise.
88691         * lib/human.h: Likewise.
88692
88693         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
88694         on systems that have <inttypes.h> but not <stdint.h>.
88695
88696 2003-01-07  Bruno Haible  <bruno@clisp.org>
88697
88698         * MODULES.html.sh: Add copyright notice.
88699         (missed_files): Omit CVS directory entries.
88700         (func_module): Make it work with sed-3.02.
88701         * MODULES.txt: Remove file.
88702
88703 2003-01-06  Jim Meyering  <jim@meyering.net>
88704
88705         * lib/version-etc.c: Update year in translatable copyright string.
88706
88707 2003-01-03  Karl Berry  <karl@gnu.org>
88708
88709         * config/config.{guess,sub}: update from prep.
88710
88711 2003-01-02  Karl Berry  <karl@gnu.org>
88712
88713         * doc/COPYING.DOC: belatedly updated to 1.2.
88714
88715 2003-01-01  Karl Berry  <karl@gnu.org>
88716
88717         * gnulib-tool (func_verify_module): report module name $module in
88718         error message, not $1.
88719         * gnulib-tool (create-testdir): don't complain if destdir couldn't
88720         be created, only if it doesn't exist.
88721         * gnulib-tool (last_checkin_date): don't expand the $Date here.
88722
88723 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88724
88725         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
88726
88727 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88728
88729         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
88730         memcmp if strcoll doesn't work.
88731
88732 2002-12-31  Bruno Haible  <bruno@clisp.org>
88733
88734         * lib/utime.c (utime_null): No need to call ftruncate if the file was
88735         nonempty.
88736
88737 2002-12-31  Bruno Haible  <bruno@clisp.org>
88738
88739         * lib/memcoll.c (STRCOLL): New macro.
88740         (memcoll): Use it.
88741
88742 2002-12-31  Bruno Haible  <bruno@clisp.org>
88743
88744         * lib/localcharset.h: New file.
88745         * lib/localcharset.c: Include it.
88746         * lib/unicodeio.c: Likewise.
88747
88748 2002-12-31  Bruno Haible  <bruno@clisp.org>
88749
88750         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
88751         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
88752
88753 2002-12-31  Bruno Haible  <bruno@clisp.org>
88754
88755         * lib/getline.h: Include <stddef.h>, for size_t.
88756
88757         * lib/unicodeio.h: Include <stddef.h>, for size_t.
88758         * lib/unicodeio.c: Don't include <stddef.h>.
88759
88760 2002-12-31  Bruno Haible  <bruno@clisp.org>
88761
88762         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
88763         HAVE_TM_ZONE.
88764
88765 2002-12-24  Karl Berry  <karl@gnu.org>
88766
88767         * config/config.guess: update from prep.
88768
88769 2002-12-24  Bruno Haible  <bruno@clisp.org>
88770
88771         General infrasructure.
88772         * m4/README: Rewritten.
88773         * m4/onceonly.m4: New file.
88774         * m4/onceonly_2_57.m4: New file.
88775
88776         Module atexit.
88777         * m4/atexit.m4: New file.
88778
88779         Module strtod.
88780         * m4/strtod.m4: New file.
88781
88782         Module strtol.
88783         * m4/strtol.m4: New file.
88784
88785         Module strtoul.
88786         * m4/strtoul.m4: New file.
88787
88788         Module memchr.
88789         * m4/memchr.m4: New file.
88790
88791         Module memcmp.
88792         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
88793         (jm_FUNC_MEMCMP): Invoke it.
88794
88795         Module memcpy.
88796         * m4/memcpy.m4: New file.
88797
88798         Module memmove.
88799         * m4/memmove.m4: New file.
88800
88801         Module memset.
88802         * m4/memset.m4: New file.
88803
88804         Module strcspn.
88805         * m4/strcspn.m4: New file.
88806
88807         Module strpbrk.
88808         * m4/strpbrk.m4: New file.
88809
88810         Module strstr.
88811         * m4/strstr.m4: New file.
88812
88813         Module strerror.
88814         * m4/strerror.m4: New file.
88815
88816         Module mktime.
88817         * m4/mktime.m4: Renamed from jm-mktime.m4.
88818         (gl_PREREQ_MKTIME): New macro.
88819         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
88820
88821         Module malloc.
88822         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
88823         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
88824         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
88825
88826         Module realloc.
88827         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
88828         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
88829         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
88830
88831         Module strftime.
88832         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
88833         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
88834         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
88835         gl_TM_GMTOFF.
88836         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
88837
88838         Module xalloc.
88839         * m4/xalloc.m4: New file.
88840
88841         Module alloca.
88842         * m4/alloca.m4: New file.
88843
88844         Module putenv.
88845         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
88846         (jm_FUNC_PUTENV): Invoke it.
88847
88848         Module setenv.
88849         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
88850         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
88851         when invoked twice.
88852         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
88853         gt_FUNC_SETENV.
88854
88855         Module memrchr.
88856         * m4/memrchr.m4: New file.
88857
88858         Module stpcpy.
88859         * m4/stpcpy.m4: New file.
88860
88861         Module strcase.
88862         * m4/strcase.m4: New file.
88863
88864         Module strdup.
88865         * m4/strdup.m4: New file.
88866
88867         Module strnlen.
88868         * m4/strnlen.m4: New file.
88869
88870         Module strndup.
88871         * m4/strndup.m4: New file.
88872
88873         Module xstrtod.
88874         * m4/xstrtod.m4: New file.
88875
88876         Module xstrtol.
88877         * m4/xstrtol.m4: New file.
88878
88879         Module getdate.
88880         * m4/getdate.m4: New file.
88881
88882         Module unlocked-io.
88883         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
88884         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
88885         * m4/jm-glibc-io.m4n: Remove file.
88886
88887         Module long-options.
88888         * m4/long-options.m4: New file.
88889
88890         Module md5.
88891         * m4/md5.m4: New file.
88892
88893         Module sha.
88894         * m4/sha.m4: New file.
88895
88896         Module getstr.
88897         * m4/getstr.m4: New file.
88898
88899         Module getline.
88900         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
88901         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
88902         <sys/types.h>, for size_t. Use the function name gnu_getline, not
88903         simply getline. Infoke gl_PREREQ_GETLINE.
88904
88905         Module obstack.
88906         * m4/obstack.m4: New file.
88907
88908         Module hash.
88909         * m4/hash.m4: New file.
88910
88911         Module readtokens.
88912         * m4/readtokens.m4: New file.
88913
88914         Module strverscmp.
88915         * m4/strverscmp.m4: New file.
88916
88917         Module stdbool.
88918         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
88919         OSF/1.
88920
88921         Module strtoll.
88922         * m4/strtoll.m4: New file.
88923
88924         Module strtoull.
88925         * m4/strtoull.m4: New file.
88926
88927         Module strtoimax.
88928         * m4/strtoimax.m4: New file.
88929
88930         Module strtoumax.
88931         * m4/strtoumax.m4: New file.
88932
88933         Module xstrtoimax.
88934         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
88935         jm_AC_PREREQ_XSTRTOIMAX.
88936         Moved the strtol prerequisites to strtol.m4.
88937         Moved the strtoll prerequisites to strtoll.m4.
88938         Moved the strtoimax prerequisites to strtoimax.m4.
88939
88940         Module xstrtoumax.
88941         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
88942         jm_AC_PREREQ_XSTRTOUMAX.
88943         Moved the strtoul prerequisites to strtoul.m4.
88944         Moved the strtoull prerequisites to strtoull.m4.
88945         Moved the strtoumax prerequisites to strtoumax.m4.
88946
88947         Module chown.
88948         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
88949         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
88950
88951         Module dup2.
88952         * m4/dup2.m4: New file.
88953
88954         Module ftruncate.
88955         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
88956         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
88957
88958         Module getgroups.
88959         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
88960         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
88961
88962         Module gettimeofday.
88963         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
88964         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
88965         gl_PREREQ_GETTIMEOFDAY.
88966
88967         Module mkdir.
88968         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
88969         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
88970
88971         Module mkstemp.
88972         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
88973         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
88974         jm_AC_TYPE_UINTMAX_T.
88975         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
88976
88977         Module stat.
88978         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
88979         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
88980
88981         Module lstat.
88982         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
88983         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
88984
88985         Module timespec.
88986         * m4/timespec.m4 (gl_TIMESPEC): New macro.
88987         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
88988         * m4/st_mtim.m4: Indentation.
88989
88990         Module nanosleep.
88991         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
88992         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
88993         gl_PREREQ_NANOSLEEP.
88994
88995         Module regex.
88996         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
88997         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
88998         (gl_REGEX): New macro.
88999
89000         Module rename.
89001         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
89002         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
89003
89004         Module rmdir.
89005         * m4/rmdir.m4: New file.
89006
89007         Module utime.
89008         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
89009         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
89010         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
89011
89012         Module dirname.
89013         * m4/dirname.m4: New file.
89014
89015         Module getopt.
89016         * m4/getopt.m4: New file.
89017
89018         Module unistd-safer.
89019         * m4/unistd-safer.m4: New file.
89020
89021         Module fnmatch.
89022         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
89023         declaration.
89024         (gl_PREREQ_FNMATCH_EXTRA): New macro.
89025         (gl_FUNC_FNMATCH_POSIX): New macro.
89026         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
89027         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
89028         simply fnmatch.
89029
89030         Module exclude.
89031         * m4/exclude.m4: New file.
89032
89033         Module human.
89034         * m4/human.m4: New file.
89035
89036         Module acl.
89037         * m4/acl.m4: Nop.
89038
89039         Module backupfile.
89040         * m4/backupfile.m4: New file.
89041         * m4/d-ino.m4: Indentation.
89042
89043         Module fsusage.
89044         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
89045         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
89046         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
89047
89048         Module dirfd.
89049         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
89050         requirements.
89051
89052         Module euidaccess.
89053         * m4/euidaccess.m4: New file.
89054
89055         Module file-type.
89056         * m4/file-type.m4: New file.
89057
89058         Module fileblocks.
89059         * m4/fileblocks.m4: New file.
89060
89061         Module filemode.
89062         * m4/filemode.m4: New file.
89063
89064         Module isdir.
89065         * m4/isdir.m4: New file.
89066
89067         Module lchown.
89068         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
89069         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
89070
89071         Module makepath.
89072         * m4/makepath.m4: New file.
89073
89074         Module modechange.
89075         * m4/modechange.m4: New file.
89076
89077         Module mountlist.
89078         * m4/mountlist.m4: New file.
89079         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
89080         Indentation.
89081
89082         Module path-concat.
89083         * m4/path-concat.m4: New file.
89084
89085         Module pathmax.
89086         * m4/pathmax.m4: New file.
89087
89088         Module same.
89089         * m4/same.m4: New file.
89090
89091         Module save-cwd.
89092         * m4/save-cwd.m4: New file.
89093
89094         Module savedir.
89095         * m4/savedir.m4: New file.
89096
89097         Module xgetcwd.
89098         * m4/xgetcwd.m4: New file.
89099         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
89100
89101         Module xreadlink.
89102         * m4/xreadlink.m4: New file.
89103
89104         Module safe-read.
89105         * m4/safe-read.m4: New file.
89106
89107         Module safe-write.
89108         * m4/safe-write.m4: New file.
89109
89110         Module closeout.
89111         * m4/closeout.m4: New file.
89112
89113         Module stdio-safer.
89114         * m4/stdio-safer.m4: New file.
89115
89116         Module getpass.
89117         * m4/getpass.m4: New file.
89118
89119         Module getugroups.
89120         * m4/getugroups.m4: New file.
89121
89122         Module group-member.
89123         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
89124         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
89125
89126         Module idcache.
89127         * m4/idcache.m4: New file.
89128
89129         Module userspec.
89130         * m4/userspec.m4: New file.
89131
89132         Module gettime.
89133         * m4/clock_time.m4: New file.
89134         * m4/gettime.m4: New file.
89135
89136         Module settime.
89137         * m4/settime.m4: New file.
89138
89139         Module posixtm.
89140         * m4/posixtm.m4: New file.
89141
89142         Module gethostname.
89143         * m4/gethostname.m4: New file.
89144
89145         Module canon-host.
89146         * m4/canon-host.m4: New file.
89147
89148         Module gettext.
89149         * m4/codeset.m4: New file, from gettext-0.11.5.
89150         * m4/gettext.m4: New file, from gettext-0.11.5.
89151         * m4/glibc21.m4: New file, from gettext-0.11.5.
89152         * m4/iconv.m4: New file, from gettext-0.11.5.
89153         * m4/intdiv0.m4: New file, from gettext-0.11.5.
89154         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
89155         * m4/inttypes.m4: New file, from gettext-0.11.5.
89156         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
89157         * m4/isc-posix.m4: New file, from gettext-0.11.5.
89158         * m4/lcmessage.m4: New file, from gettext-0.11.5.
89159         * m4/lib-ld.m4: New file, from gettext-0.11.5.
89160         * m4/lib-link.m4: New file, from gettext-0.11.5.
89161         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
89162         * m4/progtest.m4: New file, from gettext-0.11.5.
89163         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
89164         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
89165         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
89166
89167         Module localcharset.
89168         * m4/localcharset.m4: New file.
89169
89170         Module hard-locale.
89171         * m4/hard-locale.m4: New file.
89172
89173         Module mbswidth.
89174         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
89175         onceonly macros.
89176         * m4/mbrtowc.m4: Add comment.
89177
89178         Module memcasecmp.
89179         * m4/memcasecmp.m4: New file.
89180
89181         Module memcoll.
89182         * m4/memcoll.m4: New file.
89183
89184         Module unicodeio.
89185         * m4/unicodeio.m4: New file.
89186
89187         Module rpmatch.
89188         * m4/rpmatch.m4: New file.
89189
89190         Module yesno.
89191         * m4/yesno.m4: New file.
89192
89193         Module exitfail.
89194         * m4/exitfail.m4: New file.
89195
89196         Module c-stack.
89197         * m4/c-stack.m4 (gl_C_STACK): New macro.
89198         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
89199
89200         Module error.
89201         * m4/error.m4 (gl_ERROR): New macro.
89202         (jm_PREREQ_ERROR): Use onceonly macros.
89203
89204         Module fatal.
89205         * m4/fatal.m4: New file.
89206
89207         Module getloadavg.
89208         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
89209         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
89210
89211         Module getpagesize.
89212         * m4/getpagesize.m4: New file.
89213
89214         Module getusershell.
89215         * m4/getusershell.m4: New file.
89216
89217         Module physmem.
89218         * m4/physmem.m4: New file.
89219
89220         Module posixver.
89221         * m4/posixver.m4: New file.
89222
89223         Module quotearg.
89224         * m4/quotearg.m4: New file.
89225
89226         Module quote.
89227         * m4/quote.m4: New file.
89228
89229         Module readutmp.
89230         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
89231
89232         Module sig2str.
89233         * m4/sig2str.m4: New file.
89234
89235         Other.
89236         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
89237         ulonglong.m4.
89238         * m4/intmax_t.m4: New file.
89239         * m4/d-type.m4: Indentation.
89240         * m4/jm-macros.m4: Update.
89241         * m4/prereq.m4 (jm_PREREQ): Update.
89242         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
89243         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
89244         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
89245         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
89246         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
89247         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
89248         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
89249         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
89250         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
89251         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
89252         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
89253         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
89254         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
89255         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
89256         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
89257         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
89258         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
89259         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
89260         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
89261
89262 2002-12-24  Bruno Haible  <bruno@clisp.org>
89263
89264         * MODULES.txt: Update according to m4/ changes.
89265
89266         Module gettext.
89267         * config.rpath: New file, from gettext-0.11.5.
89268
89269         * modules/*: New module descriptions.
89270         * gnulib-tool: New file.
89271         * MODULES.html.sh: New file.
89272
89273 2002-12-21  Karl Berry  <karl@gnu.org>
89274
89275         * doc/fdl.texi: update to version 1.2.
89276
89277 2002-12-19  Karl Berry  <karl@gnu.org>
89278
89279         * config/config.guess: update from prep.
89280
89281 2002-12-18  Bruno Haible  <bruno@clisp.org>
89282
89283         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
89284         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
89285
89286 2002-12-17  Bruno Haible  <bruno@clisp.org>
89287
89288         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
89289         stdlib.h, string.h.
89290
89291 2002-12-17  Bruno Haible  <bruno@clisp.org>
89292
89293         * lib/canon-host.c (strdup): Remove unused declaration.
89294
89295         * lib/fsusage.c: Include full_read.h.
89296         (get_fs_usage): Use full_read instead of safe_read.
89297
89298         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
89299
89300 2002-12-12  Karl Berry  <karl@gnu.org>
89301
89302         * config/config.guess: update from prep.
89303
89304 2002-12-11  Bruno Haible  <bruno@clisp.org>
89305
89306         * m4/setenv.m4: New file, from gettext-0.11.5.
89307
89308 2002-12-11  Bruno Haible  <bruno@clisp.org>
89309
89310         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
89311         not unsetenv().
89312         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
89313         modifications:
89314
89315         2002-12-11  Bruno Haible  <bruno@clisp.org>
89316
89317                 * setenv.c (alloca): Fall back to malloc.
89318                 (freea): New macro.
89319                 (setenv): Use freea() to free memory allocated with alloca().
89320
89321         2002-11-13  Bruno Haible  <bruno@clisp.org>
89322
89323                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
89324                 function declarations.
89325                 * unsetenv.c (unsetenv): Likewise.
89326
89327         2002-03-04  Bruno Haible  <bruno@clisp.org>
89328
89329                 Portability to AIX 4.3.3.
89330                 * unsetenv.c: New file, extracted from setenv.c.
89331                 * setenv.c: Move the unsetenv() function to unsetenv.c.
89332
89333         2001-12-20  Bruno Haible  <bruno@clisp.org>
89334
89335                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
89336                 use malloc instead. For SunOS 4.
89337
89338         2001-12-11  Bruno Haible  <bruno@clisp.org>
89339
89340                 * setenv.c: Declare alloca.
89341                 (compar_fn_t): New typedef.
89342                 (KNOWN_VALUE, STORE_VALUE): Use it.
89343
89344         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
89345         setenv.h.
89346
89347 2002-12-10  Paul Eggert  <eggert@twinsun.com>
89348
89349         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
89350         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
89351         Choose values that are less likely to collide with system fnmatch
89352         options.
89353         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
89354         defined (e.g., a pure POSIX system).
89355         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
89356         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
89357
89358 2002-12-06  Paul Eggert  <eggert@twinsun.com>
89359
89360         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
89361         a pain in practice to deal with generated m4 files.  This change
89362         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
89363
89364         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
89365         and jm-glibc-io.m4, as they are no longer a special case.
89366         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
89367         kludge and the auto-generation stuff.  Check only whether the
89368         functions are declared, not whether they exist, since older hosts
89369         that don't declare the functions can't use the optimization anyway.
89370
89371 2002-12-06  Jim Meyering  <jim@meyering.net>
89372
89373         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
89374
89375         Merge in changes from libc's misc/error.c, in preparation
89376         for the merge of gnulib's changes back into libc.
89377
89378         * lib/error.c (_): Define only if not already defined.
89379         Move definition to follow all #include directives.
89380         Include unlocked-io.h only if !_LIBC.
89381         [_LIBC]: Include <libio/libioP.h>.
89382         [USE_IN_LIBIO]: Include <libio/iolibio.h>
89383         (fflush): Tweak definition to use INTUSE.
89384         (putc): Define.
89385
89386 2002-12-05  Paul Eggert  <eggert@twinsun.com>
89387
89388         * lib/alloca.c [defined emacs]: Include "lisp.h".
89389         (xalloc_die) [defined emacs]: New macro.
89390         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
89391         [! defined emacs]: Include <xalloc.h>.
89392         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
89393         (pointer): Typedef to POINTER_TYPE *.
89394         (malloc): Remove decl; we now always use xmalloc.
89395         (alloca): Use old-style definition, since Emacs needs this.
89396         Check for arithmetic overflow when computing combined size.
89397
89398 2002-12-04  Paul Eggert  <eggert@twinsun.com>
89399
89400         Do not generate unlocked-io.h automatically, since it's easier to
89401         maintain it by hand.
89402
89403         * lib/unlocked-io.h: New file, from GNU diffutils,
89404         but with proper copyright notice and attribution.
89405         * lib/gen-uio: Remove.
89406         * lib/Makefile.am: Add copyright notice.
89407         (libfetish_a_SOURCES): Add unlocked-io.h.
89408         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
89409         (DISTCLEANFILES, io_functions): Remove macros.
89410         (EXTRA_DIST): Remove gen_uio.
89411         (unlocked-io.h): Remove rule.
89412
89413 2002-12-04  Jim Meyering  <jim@meyering.net>
89414
89415         Reflect the fact that stat.c and lstat.c are no longer generated.
89416         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
89417         (DISTCLEANFILES): Likewise.
89418         (EXTRA_DIST): Likewise.
89419         (all_local): Don't depend on stat.c or lstat.c.
89420         (stat.c, lstat.c): Remove rules.
89421         (EXTRA_DIST): Remove xstat.in.
89422
89423         * lib/xstat.in: Remove file.  Contents moved into stat.c.
89424         * lib/stat.c: New file.  Contents mostly from xstat.in.
89425         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
89426         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
89427
89428         * lib/safe-read.c: Rework so that it may serve to define safe_write,
89429         too.
89430         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
89431
89432 2002-12-03  Jim Meyering  <jim@meyering.net>
89433
89434         * lib/safe-read.c, safe-write.c: Change variable names and comments,
89435         but not semantics, to minimize the differences between these two files.
89436         (safe_read): Change comment to mention SAFE_READ_ERROR.
89437
89438         * lib/safe-read.c (IS_EINTR): Define.
89439         (safe_read): Use IS_EINTR in place of in-function cpp directives.
89440
89441 2002-12-02  Jim Meyering  <jim@meyering.net>
89442
89443         * lib/safe-read.c (EINTR): Define.
89444         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
89445         (INT_MAX): Provide fallback.
89446         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
89447
89448         * lib/safe-read.h (SAFE_READ_ERROR): Define.
89449
89450 2002-12-02  Bruno Haible  <bruno@clisp.org>
89451
89452         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
89453         Define, taken from safe-read.c.
89454         (INT_MAX): Provide fallback.
89455         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
89456         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
89457
89458         * lib/safe-read.c (EINTR): Remove definition.
89459         (safe_read): Don't use EINTR if it is absent.
89460
89461 2002-12-01  Jim Meyering  <jim@meyering.net>
89462
89463         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
89464         zero.
89465         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
89466
89467 2002-11-27  Paul Eggert  <eggert@twinsun.com>
89468
89469         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
89470         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
89471         with `if (! (value < limit)) abort ();', for readability.
89472
89473 2002-11-26  Karl Berry  <karl@gnu.org>
89474
89475         * lib/strdup.c: copy from libc again, with jim's ok.
89476         * lib/.cppi-disable: re-add strdup.c
89477
89478 2002-11-25  Karl Berry  <karl@gnu.org>
89479
89480         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
89481         instead of "strtol.c".
89482
89483 2002-11-25  Karl Berry  <karl@gnu.org>
89484
89485         * config/install-sh: update from automake for variable quoting, $0 in
89486         error msgs, etc.
89487
89488         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
89489         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
89490         entry.
89491
89492 2002-11-25  Jim Meyering  <jim@meyering.net>
89493
89494         * lib/mktime.c: Sync from libc, now that it has the latest fix.
89495
89496 2002-11-24  Karl Berry  <karl@gnu.org>
89497
89498         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
89499         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
89500
89501 2002-11-24  Jim Meyering  <jim@meyering.net>
89502
89503         Update from coreutils:
89504
89505         * lib/mktime.c: Merge in changes from libc.
89506
89507         Avoid a link-time failure on some Linux systems.
89508         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
89509         (otherwise).
89510         (__mon_yday): Declare with the STATIC attribute.
89511         (__mktime_internal): Likewise.
89512         Based on a report from Greg Schafer.
89513
89514 2002-11-23  Jim Meyering  <jim@meyering.net>
89515
89516         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
89517         Use `unsigned', not `int', as type of index.
89518
89519         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
89520
89521         * lib/fsusage.c: Remove unneeded parentheses around operands of
89522         `defined'.
89523
89524 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89525
89526         * lib/quotearg.h: Allow multiple inclusion by surrounding with
89527         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
89528         so that we can be included first.
89529         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
89530         * lib/quotearg.c: Include quotearg.h immediately after config.h.
89531         No need to include stddef.h or sys/types.h any more.
89532         Surround local include files with "", not "<>".
89533         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
89534         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
89535         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
89536         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
89537         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
89538         (ISPRINT): Remove; no longer needed now that we assume C89.
89539
89540         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
89541         Preserve errno.
89542
89543         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
89544         quotearg_char): Use SIZE_MAX rather than
89545         (size_t) -1 when we are talking about "infinity".
89546
89547         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
89548
89549 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89550
89551         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
89552         hint that one should use `if (! x) abort ();' rather than `assert
89553         (x);', and anyway it's one less thing to worry about configuring.
89554         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
89555         hash_rehash, hash_insert): Use abort rather than assert.
89556
89557 2002-11-22  Bruno Haible  <bruno@clisp.org>
89558
89559         * lib/safe-read.h: Assume C89. Add comments.
89560         (safe_read): Change return type to size_t.
89561         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
89562         byte counts > SSIZE_MAX correctly.
89563         * lib/safe-write.h: New file.
89564         * lib/safe-write.c: New file.
89565         * lib/full-read.h: New file.
89566         * lib/full-read.c: New file.
89567         * lib/full-write.h: Assume C89. Add comments.
89568         * lib/full-write.c: Include safe-write.h.
89569         (full_write): Rewritten to use safe_write.
89570         Suggested by Jim Meyering and Paul Eggert.
89571
89572 2002-11-21  Jim Meyering  <jim@meyering.net>
89573
89574         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
89575
89576         Merge in changes from the coreutils.
89577
89578         2002-09-25  Paul Eggert  <eggert@twinsun.com>
89579         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
89580         <stdint.h>.
89581         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
89582         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
89583         int.  Work more efficiently if X is the same width as uintmax_t.
89584         Do not compare X to -1, to avoid bogus compiler warning.
89585         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
89586         Don't assume that f_frsize and f_bsize are the same type.
89587
89588         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
89589         warning on FreeBSD.
89590
89591         * lib/makepath.c (make_path): Restore umask *before* creating the final
89592         component.
89593         (make_path): Minor reformatting.
89594
89595         * lib/xmalloc.c: Adjust to work with new autoconf macros,
89596         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
89597         HAVE_MALLOC/HAVE_REALLOC.
89598
89599         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
89600         dummy ones.  At least on GNU/Linux systems, `auto' means something
89601         else.
89602         From Michael Stone.
89603
89604 2002-11-21  Bruno Haible  <bruno@clisp.org>
89605
89606         Remove case insensitive option matching.
89607         * lib/argmatch.h (argcasematch): Remove declaration.
89608         (ARGCASEMATCH): Remove macro.
89609         (__xargmatch_internal): Remove case_sensitive argument.
89610         (XARGMATCH): Update.
89611         (XARGCASEMATCH): Remove macro.
89612         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
89613         case_sensitive argument.
89614         (argcasematch): Remove function.
89615         (__xargmatch_internal): Remove case_sensitive argument.
89616         (main): Use XARGMATCH instead of XARGCASEMATCH.
89617
89618         * lib/xmalloc.c: Change compile-time error message. Add comment about
89619         required autoconf version.
89620
89621 2002-11-20  Paul Eggert  <eggert@twinsun.com>
89622
89623         Merge argmatch cleanups from Bison.  Assume C89.
89624
89625         * lib/argmatch.c: Include config.h here, not in argmatch.h.
89626         Include stdlib.h, for EXIT_FAILURE.
89627         Always include <string.h>, since we assume C89.
89628         (EXIT_FAILURE): Remove pre-C89 bug workaround.
89629         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
89630         Include <stddef.h> instead, since it's all we need for size_t.
89631         (PARAMS): Remove.  All uses removed.
89632         (ARRAY_CARDINALITY): Do not bother to #undef.
89633         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
89634         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89635         Remove unnecessary parentheses.
89636         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89637         Insert necessary parentheses.
89638         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
89639         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
89640
89641 2002-11-19  Bruno Haible  <bruno@clisp.org>
89642
89643         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
89644         * lib/mbswidth.h: Include <stddef.h>, for size_t.
89645
89646         * lib/mbswidth.h (PARAMS): Remove macro.
89647         (mbswidth, mbsnwidth): Use ANSI C function declarations.
89648         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
89649
89650         * lib/gcd.h (PARAMS): Remove macro.
89651         (gcd): Use ANSI C function declarations.
89652         * lib/gcd.c (gcd): Likewise.
89653
89654 2002-11-15  Bruno Haible  <bruno@clisp.org>
89655
89656         * lib/strcspn.c: Include <stddef.h>.
89657         (strcspn): Use ANSI C function declaration. Change return type to
89658         size_t. Use NULL.
89659         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
89660         (strpbrk): Use NULL.
89661         * lib/strpbrk.h (PARAMS): Remove macro.
89662         (strpbrk): Use ANSI C function declaration.
89663         * lib/strstr.c: Don't include <sys/types.h>.
89664         * lib/strstr.h (PARAMS): Remove macro.
89665         (strstr): Use ANSI C function declarations.
89666
89667 2002-11-14  Karl Berry  <karl@gnu.org>
89668
89669         * config/mkinstalldirs: `do' on separate line, instead of
89670         `for var; do'.
89671
89672 2002-11-06  Bruno Haible  <bruno@clisp.org>
89673
89674         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
89675         * lib/gcd.c (gcd): Likewise.
89676
89677 2002-11-05  Bruno Haible  <bruno@clisp.org>
89678
89679         * lib/gcd.h: New file, from gettext-0.11.5.
89680         * lib/gcd.c: New file, from gettext-0.11.5.
89681
89682 2002-11-05  Bruno Haible  <bruno@clisp.org>
89683
89684         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89685         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89686         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89687         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89688
89689         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
89690         <libintl.h>.
89691         * lib/makepath.c: Include gettext.h instead of <locale.h> and
89692         <libintl.h>.
89693
89694         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
89695         * lib/human.c: Include gettext.h instead of <libintl.h>.
89696         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
89697         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
89698         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
89699         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
89700         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
89701         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
89702         (textdomain): Remove definition.
89703         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
89704
89705         * lib/long-options.c: Remove include of <libintl.h> and definition of
89706         _.
89707         * lib/same.c: Remove include of <libintl.h> and definition of _.
89708
89709 2002-11-04  Owen Taylor  <otaylor@redhat.com>
89710
89711         * lib/config.charset: A few additions for Solaris.
89712
89713 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89714
89715         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
89716         * lib/localcharset.c (locale_charset): Declare as extern "C".
89717
89718 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89719
89720         * lib/config.charset: msdos in uk_UA uses CP1125.
89721
89722 2002-11-04  Bruno Haible  <bruno@clisp.org>
89723
89724         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
89725         * lib/strcase.h: New file, from GNU gettext-0.11.5.
89726         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
89727         * lib/strstr.h: New file, from GNU gettext-0.11.5.
89728         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
89729
89730 2002-11-04  Bruno Haible  <bruno@clisp.org>
89731
89732         * lib/localcharset.c (locale_charset): Don't return an empty string.
89733
89734 2002-11-04  Bruno Haible  <bruno@clisp.org>
89735
89736         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
89737         aliases.
89738
89739 2002-11-04  Bruno Haible  <bruno@clisp.org>
89740
89741         * lib/config.charset: Update for newest glibc. Add canonical names
89742         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
89743
89744 2002-11-04  Bruno Haible  <bruno@clisp.org>
89745
89746         * lib/config.charset: Add support for NetBSD.
89747
89748 2002-11-04  Bruno Haible  <bruno@clisp.org>
89749
89750         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
89751
89752 2002-11-01  Bruno Haible  <bruno@clisp.org>
89753
89754         * configure.in: Add AC_CONFIG_AUX_DIR call.
89755         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
89756         test/Makefile.
89757         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
89758
89759 2002-09-28  Karl Berry  <karl@gnu.org>
89760
89761         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
89762         installed automake until the next release, since changes have been
89763         made.
89764
89765 2002-09-25  Karl Berry  <karl@gnu.org>
89766
89767         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
89768         * lib/getopt*: copy from libc/posix.
89769         * lib/gettext.h: copy from gettext.
89770         * lib/.cppi-disable: add strdup.c, gettext.h.
89771
89772 2002-09-25  Karl Berry  <karl@gnu.org>
89773
89774         * config/srclist.txt: enable gettext.h check.
89775         * config/config.{guess,sub}: update from prep.
89776         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
89777                 from automake 1.6.3.
89778         See srclist*.
89779
89780 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
89781
89782         * regex.c (PATFETCH): Remove the translating fetch.
89783         (PATFETCH_RAW): Rename to PATFETCH.
89784         (set_image_of_range): New fun.
89785         (SET_RANGE_TABLE_WORK_AREA): Use it.
89786         (regex_compile): Don't translate the pattern chars so eagerly.
89787         Only do it when inserting an `exactn' bytecode or when handling
89788         a char-range.
89789         (mutually_exclusive_p): Avoid empty statement.
89790
89791 2002-07-06  Jim Meyering  <meyering@lucent.com>
89792
89793         * m4/README: Don't mention Makefile.am.in.
89794         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
89795
89796 2002-07-01  Jim Meyering  <meyering@lucent.com>
89797
89798         * lib/c-stack.c: Include sys/time.h.
89799         From Volker Borchert.
89800
89801 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89802
89803         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
89804
89805 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89806
89807         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
89808         New macro.  Use it uniformly instead of
89809         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
89810         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
89811         reported by Vin Shelton.
89812
89813 2002-06-22  Paul Eggert  <eggert@twinsun.com>
89814
89815         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
89816         Do not assume SA_SIGINFO behavior.
89817         Bug reported by Jim Meyering on NetBSD 1.5.2.
89818
89819 2002-06-22  Jim Meyering  <meyering@lucent.com>
89820
89821         * m4/c-stack.m4: New file, from diffutils-2.8.2.
89822         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
89823
89824         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
89825         now that configure.ac uses AC_GNU_SOURCE.
89826         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
89827         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
89828
89829         Update to latest tools.  Suggestions from Paul Eggert.
89830         * m4/stdbool.m4: New file, from diffutils-2.8.2.
89831         * m4/gnu-source.m4: Update from diffutils-2.8.2.
89832         * m4/fnmatch.m4: Likewise.
89833         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
89834         to AC_HEADER_STDBOOL
89835
89836 2002-06-22  Jim Meyering  <meyering@lucent.com>
89837
89838         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
89839         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
89840
89841 2002-06-22  Jim Meyering  <meyering@lucent.com>
89842
89843         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
89844
89845         * lib/exitfail.c, exitfail.h: Likewise.
89846         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
89847
89848         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
89849         of fnmatch.h.
89850         (EXTRA_DIST): Add fnmatch_loop.c.
89851         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
89852
89853         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
89854         * lib/fnmatch.c: Update from diffutils-2.8.2.
89855         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
89856         * lib/fnmatch.h: Remove file.
89857
89858 2002-06-21  Jim Meyering  <meyering@lucent.com>
89859
89860         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
89861         * m4/mbrtowc.m4: Likewise.
89862
89863         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
89864         * m4/mbswidth.m4: Reflect name change:
89865         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
89866         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89867
89868         * m4/lib-link.m4: Update from gettext-0.11.2.
89869         * m4/gettext.m4: Likewise.
89870
89871         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
89872         From Alfred M. Szmidt.
89873
89874 2002-06-18  Paul Eggert  <eggert@twinsun.com>
89875
89876         * lib/file-type.h: Report an error if neither S_ISREG nor
89877         S_IFREG is defined, instead of using a test specific to glibc
89878         2.2.  This should be safe, since POSIX requires S_ISREG and
89879         Unix Version 7 had S_IFREG.  We don't need to check for
89880         <sys/types.h> since we don't use any symbols that it defines.
89881
89882 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
89883
89884         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
89885         $@-t, so that each temporary file name is unique and valid in the first
89886         8 characters, for operation under DOS.
89887
89888 2002-06-15  Paul Eggert  <eggert@twinsun.com>
89889
89890         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
89891
89892 2002-06-15  Jim Meyering  <meyering@lucent.com>
89893
89894         Work even with DJGPP 2.03, which lacks support for symlinks.
89895         From Richard Dawe.
89896         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
89897         is defined.
89898         * lib/lchown.c (S_ISLNK): Likewise.
89899
89900 2002-06-15  Jim Meyering  <meyering@lucent.com>
89901
89902         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
89903         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
89904         have been included before this file.
89905
89906 2002-06-14  Jim Meyering  <meyering@lucent.com>
89907
89908         * lib/file-type.h: Use the version from diffutils-2.8.2.
89909         * lib/file-type.c: Likewise.
89910
89911 2002-06-07  Jim Meyering  <meyering@lucent.com>
89912
89913         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
89914         They're needed at least for NetBSD 1.5.2.
89915         ($statxfs_includes): Include those same headers.
89916         ($statxfs_includes): Include sys/vfs.h if available.
89917         ($statxfs_includes): Likewise for sys/statvfs.h.
89918         Check for the following members in both structs statfs and statvfs:
89919         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
89920
89921 2002-06-01  Jim Meyering  <meyering@lucent.com>
89922
89923         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
89924         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
89925
89926 2002-05-28  Jim Meyering  <meyering@lucent.com>
89927
89928         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
89929         Reported by Volker Borchert.
89930
89931 2002-05-27  Jim Meyering  <meyering@lucent.com>
89932
89933         Fix a problem seen only on nonconforming systems whereby ls.c's
89934         use of localtime, and then of gettimeofday would cause trouble:
89935         the localtime call used to initialize rpl_gettimeofday's save
89936         mechanism would clobber ls's current local time information so
89937         that in any long listing the first file would always be listed
89938         with date 1970-01-01.  Analysis by Volker Borchert.
89939
89940         * lib/gettimeofday.c (localtime): Undefine.
89941         (rpl_localtime): New function.
89942
89943 2002-05-27  Jim Meyering  <meyering@lucent.com>
89944
89945         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
89946         localtime.
89947
89948         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
89949         use the replacement function; it wouldn't resolve at link time.
89950         Reported by Volker Borchert.
89951
89952 2002-05-22  Jim Meyering  <meyering@lucent.com>
89953
89954         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
89955         file-type.h.
89956         * lib/file-type.h: New file.
89957         * lib/file-type.c (file_type): New file/function.  Extracted from
89958         diffutils.
89959
89960 2002-04-30  Jim Meyering  <meyering@lucent.com>
89961
89962         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
89963
89964 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89965
89966         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
89967
89968 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89969
89970         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
89971         Do not check for alloca.h (no longer used) or stdbool.h (was never
89972         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
89973
89974 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89975
89976         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
89977
89978 2002-04-29  Jim Meyering  <meyering@lucent.com>
89979
89980         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
89981         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
89982         Use AC_FUNC_STRNLEN here instead.
89983
89984         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
89985         With autoconf-2.53a, it's part of AC_PROG_CC.
89986
89987 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89988
89989         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
89990         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
89991
89992 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89993
89994         * lib/sig2str.h, lib/sig2str.c: New files.
89995         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
89996
89997 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89998
89999         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
90000         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
90001         of 127, since 64 is the largest conceivable number for ancient
90002         nonstandard hosts.
90003         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
90004
90005 2002-04-28  Jim Meyering  <meyering@lucent.com>
90006
90007         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
90008
90009 2002-04-24  Jim Meyering  <meyering@lucent.com>
90010
90011         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
90012         (jm_PREREQ): Use it.
90013
90014         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
90015         mach/mach.h fcntl.h.
90016         Check for this function: setlocale.
90017
90018 2002-04-24  Jim Meyering  <meyering@lucent.com>
90019
90020         * lib/gettext.h: New file, from Gettext.
90021         * lib/Makefile.am (INCLUDES): Remove -I../intl.
90022         (libfetish_a_SOURCES): Add gettext.h.
90023
90024 2002-04-16  Jim Meyering  <meyering@lucent.com>
90025
90026         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
90027         ut_pid, ut_id, ut_exit.
90028
90029 2002-04-16  Jim Meyering  <meyering@lucent.com>
90030
90031         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
90032         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
90033         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
90034
90035 2002-04-12  Jim Meyering  <meyering@lucent.com>
90036
90037         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
90038         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
90039         existence of the getmntinfo function.  Needed for Darwin 5.3.
90040
90041         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
90042         This is necessary at least on Darwin 5.3.
90043
90044         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
90045         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
90046         strnlen.o in the library, and that makes some versions of ranlib
90047         object.
90048
90049 2002-04-12  Jim Meyering  <meyering@lucent.com>
90050
90051         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
90052
90053 2002-04-09  Jim Meyering  <meyering@lucent.com>
90054
90055         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
90056         to be more precise.  Rather than saying we're checking whether the
90057         function `works', say what we're testing.
90058         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
90059         Reported by Bruno Haible.
90060
90061 2002-03-10  Jim Meyering  <meyering@lucent.com>
90062
90063         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
90064         Suggestion from Santiago Vila.
90065
90066 2002-03-08  Jim Meyering  <meyering@lucent.com>
90067
90068         * lib/rename.c: Mention that this wrapper is needed also on
90069         mips-dec-ultrix4.4 systems.
90070
90071 2002-03-02  Jim Meyering  <meyering@lucent.com>
90072
90073         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
90074         not HAVE_CLOCK_SETTIME.
90075
90076 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90077
90078         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
90079         Check for clock_settime.
90080
90081 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90082
90083         * lib/nanosleep.h: Rename to....
90084         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
90085
90086         * lib/gettime.c: New file.
90087         * lib/settime.c: New file.
90088         * lib/stime.c: Remove.
90089
90090         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
90091         timespec.h.  Remove nanosleep.h.
90092
90093 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90094
90095         * m4/acl.m4: New file.
90096         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
90097         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
90098
90099 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90100
90101         * lib/acl.c, lib/acl.h: New files.
90102         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
90103
90104 2002-02-24  Jim Meyering  <meyering@lucent.com>
90105
90106         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
90107         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
90108         cause trouble.  Reported by Nelson Beebe.
90109
90110 2002-02-23  Paul Eggert  <eggert@twinsun.com>
90111
90112         * lib/path-concat.c (xpath_concat): Reorder code to pacify
90113         compilers that don't know that xalloc_die never returns.
90114
90115 2002-02-20  Jim Meyering  <meyering@lucent.com>
90116
90117         * lib/getdate.c: Regenerate using bison-1.33.
90118
90119 2002-02-17  Jim Meyering  <meyering@lucent.com>
90120
90121         * config/config.guess (main): Don't use `head -1'; it's no longer
90122         portable. Use `sed 1q' instead.
90123
90124 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
90125
90126         * m4/codeset.m4: Upgrade to gettext-0.11.
90127         * m4/gettext.m4: Upgrade to gettext-0.11.
90128         * m4/glibc21.m4: Upgrade to gettext-0.11.
90129         * m4/iconv.m4: Upgrade to gettext-0.11.
90130         * m4/isc-posix.m4: Upgrade to gettext-0.11.
90131         * m4/lcmessage.m4: Upgrade to gettext-0.11.
90132         * m4/lib-ld.m4: New file, from gettext-0.11.
90133         * m4/lib-link.m4: New file, from gettext-0.11.
90134         * m4/lib-prefix.m4: New file, from gettext-0.11.
90135         * m4/progtest.m4: Upgrade to gettext-0.11.
90136
90137 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90138
90139         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
90140         (jm_PREREQ): Use it.
90141
90142 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90143
90144         * lib/posixver.c, lib/posixver.h: New files.
90145         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90146
90147 2002-02-02  Paul Eggert  <eggert@twinsun.com>
90148             Bruno Haible  <bruno@clisp.org>
90149
90150         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
90151         (fwrite_success_callback): New declaration.
90152         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
90153         print_unicode_char. Call failure callback instead of error.
90154         (fwrite_success_callback): New function.
90155         (exit_failure_callback): New function.
90156         (fallback_failure_callback): New function.
90157         (print_unicode_char): Call unicode_to_mb.
90158
90159 2002-01-26  Jim Meyering  <meyering@lucent.com>
90160
90161         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
90162         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
90163
90164 2002-01-26  Jim Meyering  <meyering@lucent.com>
90165
90166         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
90167
90168 2002-01-22  Paul Eggert  <eggert@twinsun.com>
90169
90170         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
90171
90172 2002-01-22  Jim Meyering  <meyering@lucent.com>
90173
90174         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
90175         Otherwise, some versions of automake would omit the rule that makes
90176         Makefile from Makefile.in.
90177
90178 2002-01-21  Paul Eggert  <eggert@twinsun.com>
90179
90180         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
90181         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90182         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
90183         (memcoll): Set errno to zero if there is no error.
90184
90185         * lib/quotearg.c (quotearg_buffer_restyled):
90186         Fix bug with quoting buffers containing NUL when backslashing escapes.
90187         This bug was exposed by the other changes in this patch.
90188         (quotearg_n_options): New arg ARGSIZE.
90189         All callers changed.
90190         (quoting_options_from_style): New function.
90191         (quotearg_n_style): Use it.
90192         (quotearg_n_style_mem): New function.
90193
90194         * lib/quotearg.h (quotearg_n_style_mem): New function.
90195
90196 2002-01-19  Jim Meyering  <meyering@lucent.com>
90197
90198         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
90199         Remove useless quotes: DF_PROG="df".
90200         * m4/strnlen.m4: New file.
90201
90202 2002-01-16  Paul Eggert  <eggert@twinsun.com>
90203
90204         * lib/backupfile.c (ISDIGIT): Comment fix.
90205         * lib/getdate.y (ISDIGIT): Likewise.
90206         * lib/posixtm.c (ISDIGIT, year): Likewise.
90207         * lib/strverscmp.c (ISDIGIT): Likewise.
90208         * lib/userspec.c (ISDIGIT): Likewise.
90209
90210 2002-01-16  Jim Meyering  <meyering@lucent.com>
90211
90212         * lib/getdate.y: Add three semicolons, each just before a closing
90213         brace. Bison (as of version 1.31) no longer papers over that mistake.
90214
90215 2002-01-05  Jim Meyering  <meyering@lucent.com>
90216
90217         * lib/version-etc.c (version_etc_copyright): Update copyright year.
90218
90219 2001-12-19  Paul Eggert  <eggert@twinsun.com>
90220
90221         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
90222         not silently exit merely because the output buffer happens to
90223         have nothing pending.
90224
90225 2001-12-18  Paul Eggert  <eggert@twinsun.com>
90226
90227         See the big note in ../ChangeLog.
90228         * lib/human.c (suffixes): Prefer K to k for 1024.
90229         (generate_suffix_backwards): New function.
90230         (human_readable_inexact): Use it.
90231         * lib/xstrtol.c (__xstrtol): If there is no number but there
90232         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
90233         Accept 'K' as well as 'k'.
90234
90235 2001-12-15  Jim Meyering  <meyering@lucent.com>
90236
90237         * lib/regex.h (__restrict_arr): Update from libc.
90238
90239         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
90240         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
90241         (STREQ): Define.
90242
90243 2001-12-14  Jim Meyering  <meyering@lucent.com>
90244
90245         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
90246         Suggestion from Bruno Haible.
90247
90248 2001-12-10  Jim Meyering  <meyering@lucent.com>
90249
90250         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
90251         xrealloc, Instead, include "xalloc.h".
90252         (initbuffer): Don't cast xmalloc return value to char*.
90253         (readline): Reword comment.
90254         Don't cast xrealloc return value to char*
90255         Return NULL, not 0.
90256
90257 2001-12-09  Jim Meyering  <meyering@lucent.com>
90258
90259         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
90260         about `signed and unsigned type in conditional expression'.
90261         * lib/posixtm.c (posix_time_parse): Likewise.
90262
90263         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
90264
90265         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
90266         to avoid a pedantic warning.
90267
90268         * lib/getstr.c: Don't include assert.h.
90269         (getstr): Remove warning-evoking assertions.
90270         Return -1 if offset parameter is out of bounds.
90271         Change the type of a local from int to size_t.
90272
90273         * lib/strftime.c (my_strftime_localtime_r): Include this function
90274         definition in the `#if ! HAVE_TM_GMTOFF' block.
90275
90276         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
90277         Include xalloc.h instead.
90278
90279 2001-12-02  Jim Meyering  <meyering@lucent.com>
90280
90281         * lib/tempname.c: Don't declare getenv, thus reverting the change of
90282         2001-11-18.  It's no longer necessary, now that stdlib.h is always
90283         included.
90284
90285         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
90286         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
90287
90288 2001-11-30  Akim Demaille  <akim@epita.fr>
90289
90290         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
90291         before being defined.
90292
90293 2001-11-27  Paul Eggert  <eggert@twinsun.com>
90294
90295         * lib/quotearg.h (quotearg_n, quotearg_n_style):
90296         First arg is int, not unsigned.
90297         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
90298         (SIZE_MAX, UINT_MAX): New macros.
90299         (quotearg_n_options): Abort if N is negative.
90300         Avoid overflow check on hosts where size_t is 64 bits and int
90301         is 32 bits, as overflow is impossible there.
90302         Fix off-by-one typo that caused unnecessary reallocation.
90303
90304 2001-11-27  Jim Meyering  <meyering@lucent.com>
90305
90306         * lib/tempname.c: Merge with version from libc.
90307         * lib/regex.c: Likewise.
90308
90309         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
90310         systems for which STDC_HEADERS is 0, it was not included, resulting in
90311         a warning about an integer-to-pointer conversion problem with getenv.
90312         Reported by Volker Borchert.
90313
90314 2001-11-26  Jim Meyering  <meyering@lucent.com>
90315
90316         * lib/gtod.h: Remove file.
90317         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
90318         * lib/gettimeofday.c: Don't include gtod.h.
90319         (GTOD_init): Remove function.
90320         (rpl_gettimeofday): Do its job here instead, rather than aborting.
90321         Suggestion from Volker Borchert.
90322
90323 2001-11-23  Jim Meyering  <meyering@lucent.com>
90324
90325         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
90326         it.
90327         * lib/hash.c (struct hash_table): Define it here instead.
90328
90329 2001-11-22  Jim Meyering  <meyering@lucent.com>
90330
90331         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
90332
90333 2001-11-20  Jim Meyering  <meyering@lucent.com>
90334
90335         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
90336         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
90337
90338 2001-11-19  Jim Meyering  <meyering@lucent.com>
90339
90340         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
90341         directory.  Use "conftestXXXXXX" as the template.
90342         Suggestion from Paul Eggert.
90343
90344         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
90345         immediately, so the test doesn't mistakenly hit the max-open-files
90346         limit.
90347
90348 2001-11-18  Paul Eggert  <eggert@twinsun.com>
90349
90350         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
90351         (TEMPORARIES): New macro.
90352         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
90353         removes an artificial limitation (e.g. HP-UX 10.20, where
90354         TMP_MAX is 17576).
90355
90356 2001-11-18  Jim Meyering  <meyering@lucent.com>
90357
90358         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
90359
90360 2001-11-18  Jim Meyering  <meyering@lucent.com>
90361
90362         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
90363         on SunOS 4.
90364
90365         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
90366         files will be created before anything else.
90367
90368 2001-11-17  Paul Eggert  <eggert@twinsun.com>
90369
90370         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
90371         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
90372
90373 2001-11-17  Jim Meyering  <meyering@lucent.com>
90374
90375         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
90376         Prompted by a report from Bob Proulx.
90377
90378         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
90379         Instead, require UTILS_FUNC_MKSTEMP.
90380
90381 2001-11-17  Jim Meyering  <meyering@lucent.com>
90382
90383         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
90384         Now, that's done as part of AC_FUNC_STRTOD.
90385
90386 2001-11-17  Jim Meyering  <meyering@lucent.com>
90387
90388         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
90389         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
90390         rather than group writable.  Patch by Juan F. Codagnone.
90391
90392         * lib/readtokens.c: Remove explicit declarations of xmalloc and
90393         xrealloc, Instead, include "xalloc.h".
90394
90395         * lib/mountlist.c: Include unlocked-io.h after all system headers.
90396         Remove explicit declarations of xmalloc, xrealloc,
90397         and xstrdup.  Instead, include "xalloc.h".
90398
90399         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
90400         unlocked-io.h.
90401         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
90402         Likewise.
90403         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
90404
90405         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
90406         Reported by Padraig Brady.
90407
90408         * lib/mkstemp.c: #undef mkstemp.
90409         Include config.h.
90410         (rpl_mkstemp): Rename from mkstemp.
90411         Protoize.
90412
90413 2001-11-16  Jim Meyering  <meyering@lucent.com>
90414
90415         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
90416         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
90417         determine the amount of total physical memory, use pstat_getstatic.
90418         HPUX-11 doesn't define _SC_PHYS_PAGES.
90419         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
90420         If sysconf couldn't be used to determine the amount of available
90421         physical memory, use both pstat_getstatic and pstat_getdynamic.
90422         Based on a patch from Bob Proulx.
90423
90424 2001-11-10  Jim Meyering  <meyering@lucent.com>
90425
90426         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
90427         (jm_PREREQ): Use it.
90428
90429 2001-11-09  Jim Meyering  <meyering@lucent.com>
90430
90431         * m4/jm-macros.m4: Require autoconf-2.52f.
90432         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
90433         Use these AC_-prefixed names, not the AM_-prefixed ones.
90434
90435         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
90436
90437 2001-11-05  Jim Meyering  <meyering@lucent.com>
90438
90439         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
90440
90441 2001-11-04  Jim Meyering  <meyering@lucent.com>
90442
90443         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
90444         $DEFS.
90445
90446 2001-11-03  Jim Meyering  <meyering@lucent.com>
90447
90448         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
90449         of AC_DEFUN.
90450
90451         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
90452         know the name of the variable in the macro definition.
90453
90454 2001-11-03  Jim Meyering  <meyering@lucent.com>
90455
90456         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
90457         in argmatch_to_argument call.
90458
90459         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
90460         argument.
90461
90462         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
90463         e.g., a fault due to an attempt to free a NULL pointer.
90464
90465 2001-11-01  Jim Meyering  <meyering@lucent.com>
90466
90467         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
90468         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
90469
90470 2001-11-01  Jim Meyering  <meyering@lucent.com>
90471
90472         * lib/dirfd.c, lib/dirfd.h: New files.
90473         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
90474
90475         * lib/hash.c (hash_print) [TESTING]: Clean up.
90476
90477 2001-10-22  Paul Eggert  <eggert@twinsun.com>
90478
90479         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
90480         to avoid a warning if -Wall.
90481
90482 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
90483
90484         * README: New file
90485         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
90486         (per RMS's instructions, this is now the canonical source)
90487         * lgpl/, gpl/: New directories.
90488
90489 2001-10-21  Paul Eggert  <eggert@twinsun.com>
90490
90491         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
90492
90493 2001-10-21  Jim Meyering  <meyering@lucent.com>
90494
90495         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
90496         this code would end up calling gettext even in packages built
90497         with --disable-nls.
90498         * lib/getopt.c (_): Likewise.
90499         * lib/regex.c (_): Likewise.
90500
90501 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90502
90503         * m4/error.m4 (jm_PREREQ_ERROR):
90504         Do not invoke AC_CHECK_FUNCS with strerror_r, as
90505         AC_FUNC_STRERROR_R does that.
90506         Check for strerror declaration.
90507
90508         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
90509         are supposed to have them these days.
90510         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
90511         Merge changes from latest Autoconf CVS.
90512         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
90513         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
90514         POSIX decided to standardize on the int flavor of strerror_r.
90515
90516 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90517
90518         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
90519         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
90520         Use strerror_r that is only a macro, even if it is not a function.
90521         (strerror): Check for HAVE_DECL_STRERROR before declaring.
90522         (private_strerror): Use prototypes, not old-style function definition.
90523         (print_errno_message): New function.
90524         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
90525         char*-flavored one.
90526         (error_tail, error, error_at_line): Use it.
90527
90528 2001-10-11  Jim Meyering  <meyering@lucent.com>
90529
90530         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
90531         and quote_n (1, ... to avoid clobbering a buffer.
90532
90533 2001-10-05  Jim Meyering  <meyering@lucent.com>
90534
90535         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
90536         hash-pjw.h.
90537         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
90538         * lib/hash-pjw.h: New file.
90539
90540 2001-09-30  Jim Meyering  <meyering@lucent.com>
90541
90542         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
90543         `struct fsstat' has the `f_fstypename' member.
90544         Use that to define FS_TYPE, which is now used to make
90545         the getfsstat link test tighter.
90546
90547 2001-09-30  Jim Meyering  <meyering@lucent.com>
90548
90549         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
90550         Include <sys/ucred.h>, for Apple Darwin.
90551         Include sys/mount.h and sys/fs_types.h only if available.
90552         (FS_TYPE): Define.
90553         (read_filesystem_list): Use FS_TYPE.
90554
90555 2001-09-29  Paul Eggert  <eggert@twinsun.com>
90556
90557         * lib/exclude.c (excluded_filename): 0 -> false, since it's
90558         a boolean context.
90559
90560 2001-09-29  Jim Meyering  <meyering@lucent.com>
90561
90562         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90563         [one-argument getmntent function]): Include stdio.h before mntent.h.
90564         SunOS 4.1.x needs it for the declaration of `FILE'.
90565         Patch by Volker Borchert.
90566
90567         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90568         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
90569         sys/fs_types.h, and make the link-test for getfsstat guard #include
90570         directives with appropriate #if HAVE_*_H tests so that we can
90571         detect getfsstat on Apple Darwin1.3.7 systems.
90572         Reported by Nelson Beebe.
90573         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
90574
90575 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90576
90577         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90578         #defines strtoimax.  Also treat the other strto* functions
90579         like strtoimax.
90580
90581         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90582         Check for strtoul and strtoumax,
90583         as those declarations are made even in the signed case.
90584         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
90585         Likewise, for strtol and strtoimax.
90586
90587 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90588
90589         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90590         #defines strtoimax.  Also treat the other strto* functions
90591         like strtoimax.
90592
90593         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
90594         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
90595         (strtoimax, strtoumax): Do not declare if already defined as a macro.
90596
90597 2001-09-26  Jim Meyering  <meyering@lucent.com>
90598
90599         Most macros in unlocked-io.h had the wrong number of arguments.
90600         * lib/gen-uio: New script.
90601         (USE_UNLOCKED_IO): Define to 1 if not already defined.
90602         * lib/unlocked-io.hin: Remove file.
90603         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
90604         rather than trying to embed it here.
90605         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
90606         Reported by Padraig Brady.
90607
90608 2001-09-25  Volker Borchert  <bt@teknon.de>
90609
90610         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
90611         `result'.
90612
90613 2001-09-24  Jim Meyering  <meyering@lucent.com>
90614
90615         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
90616
90617 2001-09-23  Jim Meyering  <meyering@lucent.com>
90618
90619         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
90620         instead of the mere test for existence of mntent.h.  The latter
90621         would get a false-positive on AIX 3.4 systems.
90622         In the outer getmntent if-block, don't die if neither of the getmntent
90623         tests succeeds.  Instead, just fall through and continue with the
90624         remaining tests.
90625
90626 2001-09-23  Jim Meyering  <meyering@lucent.com>
90627
90628         * lib/mountlist.c: Remove useless parentheses in #if directives.
90629         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
90630         the deprecated MOUNTED symbol is no longer defined in mntent.h.
90631
90632 2001-09-22  Jim Meyering  <meyering@lucent.com>
90633
90634         * m4/gettext.m4: New file.  From gettext.
90635         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
90636         * m4/progtest.m4: Likewise
90637         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
90638         * m4/glibc21.m4: Likewise.
90639
90640         * m4/libintl.m4: Remove.  No longer used.
90641
90642 2001-09-22  Jim Meyering  <meyering@lucent.com>
90643
90644         * lib/localcharset.c: Update from latest gettext.
90645         * lib/config.charset: Likewise.
90646
90647 2001-09-20  Jim Meyering  <meyering@lucent.com>
90648
90649         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
90650         strtoimax.
90651         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
90652         strtoumax.
90653
90654 2001-09-20  Jim Meyering  <meyering@lucent.com>
90655
90656         * lib/xstrtol.c (strtoimax): Guard declaration with
90657         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
90658         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
90659         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
90660         (strtoumax): Likewise, for completeness (it wasn't necessary).
90661
90662 2001-09-17  Paul Eggert  <eggert@twinsun.com>
90663
90664         * lib/strtoimax.c (HAVE_LONG_LONG):
90665         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
90666         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
90667         to work around bug in IBM C compiler.
90668
90669 2001-09-17  Jim Meyering  <meyering@lucent.com>
90670
90671         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
90672         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
90673         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
90674         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
90675         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
90676         whenever the right hand side need not be expanded by the shell.
90677
90678 2001-09-16  Paul Eggert  <eggert@twinsun.com>
90679
90680         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
90681         library.  It's not correct, as some older glibcs are buggy.
90682         fnmatch wasn't fixed until glibc 2.2.
90683
90684         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
90685         special shell magic here.
90686
90687 2001-09-16  Jim Meyering  <meyering@lucent.com>
90688
90689         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
90690         * m4/jm-macros.m4: Require it.
90691
90692 2001-09-16  Jim Meyering  <meyering@lucent.com>
90693
90694         * lib/mkdir.c: New file.
90695
90696 2001-09-15  Jim Meyering  <meyering@lucent.com>
90697
90698         * m4/jm-macros.m4: Check for help2man.
90699
90700 2001-09-11  Jim Meyering  <meyering@lucent.com>
90701
90702         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
90703         The body, by Paul Eggert, was moved here from configure.in.
90704         * m4/jm-macros.m4: Require UTILS_HOST_OS.
90705
90706 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90707
90708         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
90709         (jm_PREREQ): Use it.
90710
90711 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90712
90713         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
90714         Use ssize_t, not int, to store result of readlink.
90715         Check for ssize_t overflow as well as size_t overflow,
90716         as POSIX says the result of readlink is implementation-defined
90717         when ssize_t overflows.
90718         Remove unnecessary cast to char*.
90719         Use free+malloc instead of realloc, as the storage doesn't need
90720         to be preserved and it's clearer and can be more efficient that way.
90721         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
90722         * lib/xreadlink.h (xreadlink): Update prototype.
90723
90724 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90725
90726         * lib/xgetcwd.c: Revert some of the previous change; intead,
90727         fix the HAVE_GETCWD_NULL code to behave more like the
90728         !HAVE_GETCWD_NULL code used to.
90729
90730         Include "xalloc.h".
90731         (xgetcwd): Do not return NULL when memory is exhausted; instead,
90732         invoke xalloc_die.
90733
90734 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90735
90736         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
90737         sys/param.h, as pathmax.h includes them.
90738
90739 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90740
90741         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
90742         (jm_PREREQ_XGETCWD): New macro.
90743
90744         * m4/getcwd.m4: New file.
90745
90746 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90747
90748         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
90749         like the HAVE_GETCWD_NULL code.
90750         Include pathmax.h if not HAVE_GETCWD.
90751         Do not include xalloc.h.
90752         (INITIAL_BUFFER_SIZE): New symbol.
90753         Do not use xmalloc / xrealloc, since the caller is responsible for
90754         handling errors.  Preserve errno around `free' during failure.
90755         Do not overrun buffer when using getwd.
90756
90757 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90758
90759         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
90760         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
90761         getcwd (NULL, 0).
90762
90763 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90764
90765         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
90766         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
90767         spotted by Jim Meyering.
90768
90769 2001-09-03  Jim Meyering  <meyering@lucent.com>
90770
90771         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
90772         failure.
90773
90774 2001-09-02  Jim Meyering  <meyering@lucent.com>
90775
90776         * lib/error.c: Update from GNU libc.
90777
90778 2001-09-01  Jim Meyering  <meyering@lucent.com>
90779
90780         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
90781         Used by df.
90782
90783 2001-09-01  Jim Meyering  <meyering@lucent.com>
90784
90785         * lib/xreadlink.c: New file.
90786         * lib/xreadlink.h: New file.
90787         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
90788         xreadlink.h.
90789
90790         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
90791         doesn't conflict with sparc Solaris 7's definition in
90792         /usr/include/sys/int_types.h.
90793
90794         * lib/exclude.c: Use `""', not `<>' to #include non-system header
90795         files.
90796         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
90797         and strncasecmp as r-values.  Unixware didn't have declarations.
90798
90799 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90800
90801         * lib/xstrtol.h: Add copyright notice.
90802         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
90803         LONGINT_INVALID_SUFFIX_CHAR.
90804
90805 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90806
90807         * lib/xstrtol.c (strtoimax): New decl.
90808
90809 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90810
90811         * lib/xgetcwd.c: Don't include pathmax.h.
90812         Include stdlib.h and unistd.h if available.
90813         Include xalloc.h.
90814         (xmalloc, xstrdup, free): Remove decls.
90815         (xgetcwd): Don't assume sizes fit in unsigned.
90816         Check for overflow when computing sizes.
90817         Simplify reallocation code.
90818
90819 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90820
90821         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
90822         a directory's st_size can have an arbitrary value, so the old
90823         usage could waste an arbitrary amount of memory.  All uses
90824         changed.
90825         * lib/savedir.h: Update prototype.
90826
90827 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90828
90829         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
90830
90831         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
90832         old strtoimax.c.
90833
90834         Also, make the following further changes to make this file's
90835         configuration more similar to that of strtol.c:
90836         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
90837         (strtoumax, uintmax_t, strtoull, strtol): Remove.
90838         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
90839         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
90840         changed to signed values.
90841
90842         And make the following changes as well:
90843         Fix copyright notice, as 1999 was missing.
90844         (verify): New macro.
90845         (strtoimax): Check sizes at compile-time, not run-time.
90846         Prefer strtol to strtoll if both work.
90847         (main): Remove; it was not that useful and was a pain to maintain.
90848
90849         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
90850
90851 2001-08-31  Jim Meyering  <meyering@lucent.com>
90852
90853         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
90854         Use an initial, malloc'd, buffer of length 128 rather than
90855         a statically allocated one of length 1024.
90856
90857 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90858
90859         Simplify code, partly by assuming autoconf 2.52 semantics.
90860
90861         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
90862
90863         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
90864         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
90865         All uses removed.
90866         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
90867         Move AC_REQUIRE to next-to-top level, to avoid confusion.
90868         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
90869         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
90870         jm_AC_HEADER_INTTYPES_H.
90871         * m4/jm-macros.m4 (jm_MACROS): Likewise.
90872
90873         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
90874
90875         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90876         Quote first arg of AC_DEFUN.
90877         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
90878         since they are needed to parse the include file even if we need
90879         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
90880         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
90881         but with opposite signedness.
90882
90883 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90884
90885         Merge 'exclude' changes from tar 1.13.22.
90886         This fixes one or two unlikely storage allocation overflow bugs,
90887         but doesn't change user-visible behavior otherwise.
90888
90889 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90890
90891         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
90892         (jm_PREREQ_EXCLUDE): New macro.
90893
90894 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90895
90896         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
90897         tm to be declared.
90898
90899 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90900
90901         * lib/hash.c: Remove '2001' from copyright notice.
90902
90903 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90904
90905         * lib/full-write.h: New file.
90906         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
90907         * lib/full-write.c: Correct credits, as cccp.c no longer
90908         exists and anyway it was so heavily changed from the old cccp
90909         code as to be unrecognizable.  Include full-write.h.
90910         (full_write): Return size_t, with short writes meaning failure.
90911         All callers changed.  This fixes a bug with large buffers
90912         on 64-bit hosts.
90913         * lib/utime.c: Include full-write.h.
90914
90915 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90916
90917         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
90918         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
90919         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
90920         Include if available.
90921         (<xalloc.h>): Include
90922         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
90923         (verify): New macro.  Use it to verify that EXCLUDE macros do not
90924         collide with FNM macros.
90925         (struct patopts): New struct.
90926         (struct exclude): Use it, as exclude patterns now come with options.
90927         (new_exclude): Support above changes.
90928         (new_exclude, add_exclude_file):
90929         Initial size must now be a power of two to simplify overflow checking.
90930         (free_exclude, fnmatch_no_wildcards): New function.
90931         (excluded_filename): No longer requires options arg, as the options
90932         are determined by add_exclude.  Now returns bool, not int.
90933         (excluded_filename, add_exclude):
90934         Add support for the fancy new exclusion options.
90935         (add_exclude, add_exclude_file): Now takes int options arg.
90936         Check for arithmetic overflow when computing sizes.
90937         (add_exclude_file): xrealloc might modify errno, so don't
90938         realloc until after errno might be used.
90939
90940         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
90941         New macros.
90942         (free_exclude): New decl.
90943         (add_exclude, add_exclude_file): Now takes int options arg.
90944         (excluded_filename): No longer requires options arg, as the options
90945         are determined by add_exclude.  Now returns bool, not int.
90946
90947 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90948
90949         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
90950
90951 2001-08-27  Jim Meyering  <meyering@lucent.com>
90952
90953         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
90954
90955         * lib/version-etc.c (N_): Remove definition.
90956         Revert most of last change.
90957         Instead, simply don't mark the `Copyright...' string for translation.
90958         Based on advice from Paul Eggert.
90959
90960         * lib/strtoxmax.c: Tweak comment.
90961
90962 2001-08-26  Jim Meyering  <meyering@lucent.com>
90963
90964         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
90965
90966         * m4/xstrtoimax.m4: New file.
90967         * m4/xstrtoumax.m4: Add comments explaining why we
90968         AC_REPLACE_FUNCS(strtol).
90969
90970 2001-08-26  Jim Meyering  <meyering@lucent.com>
90971
90972         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
90973         of copyright with `%s' so translators don't get an untranslated
90974         message in 2002.
90975         (COPYRIGHT_YEAR): Define.
90976         (version_etc): Use fprintf rather than fputs.
90977         Suggestion from Ulrich Drepper.
90978
90979         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
90980
90981         * lib/strtoll.c: New file, from GNU libc.
90982         * lib/xstrtoimax.c: New file.
90983
90984         * lib/xstrtol.h: Add xstrtoimax.
90985         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
90986         * lib/strtoimax.c: New file.  Likewise, but first define
90987         STRTOUXMAX_SIGNED.
90988
90989         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
90990         ...
90991         * lib/strtoxmax.c: ... then renamed to this.
90992
90993 2001-08-18  Paul Eggert  <eggert@twinsun.com>
90994
90995         * m4/inttypes.m4: Add AC_PREREQ(2.13).
90996         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
90997         (jm_AC_TYPE_INTMAX_T): New macro.
90998         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
90999
91000         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
91001
91002         * m4/longlong.m4: Renamed from ulonglong.m4.
91003         * m4/inttypes.m4: Renamed from inttypes_h.m4.
91004         * m4/uintmax_t.m4: Removed.
91005
91006 2001-08-13  Paul Eggert  <eggert@twinsun.com>
91007
91008         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
91009         Port to Solaris 8, where 'sed' requires a space after the 'r'
91010         command, and where sh dislikes "$/".  Clean up the spacing a bit.
91011         Redirect output to $tmp just once.
91012
91013 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
91014
91015         * lib/addext.c (<errno.h>): Include.
91016         (errno): Declare if not defined.
91017         (addext): Work correctly when pathconf returns -1 and leaves
91018         errno alone because there is no limit.  Also, work even if
91019         pathconf returns a value greater than SIZE_MAX.
91020
91021 2001-08-12  Jim Meyering  <meyering@lucent.com>
91022
91023         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
91024         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
91025         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
91026         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
91027         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
91028         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
91029         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
91030         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
91031         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
91032         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
91033         utime.m4, utimes.m4, xstrtoumax.m4:
91034         Quote the first argument in each use of AC_DEFUN.
91035
91036 2001-08-12  Jim Meyering  <meyering@lucent.com>
91037
91038         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
91039         Simply `return getcwd (NULL, 0);'.
91040         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
91041         Use 1300 as initial value for length, not PATH_MAX.
91042
91043         * lib/pathmax.h: Clean up cpp syntax.
91044
91045 2001-08-12  Jim Meyering  <meyering@lucent.com>
91046
91047         * lib/gettimeofday.c: New file.
91048         * lib/gtod.h: New file.
91049         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
91050
91051 2001-08-05  Jim Meyering  <meyering@lucent.com>
91052
91053         * m4/jm-macros.m4: Require autoconf-2.52.
91054
91055 2001-08-04  Jim Meyering  <meyering@lucent.com>
91056
91057         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
91058         stmt, to get in sync with glibc.
91059
91060 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91061
91062         The following changes are from gettext 0.10.39 as maintained by
91063         Bruno Haible.
91064
91065         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
91066         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
91067         with inverted sense.  All uses changed.
91068
91069         * lib/mbswidth.c: Don't include <limits.h>.
91070         Include <stdlib.h> and <string.h> unconditionally.
91071         (iswcntrl, mbsinit, ISCNTRL): New macros.
91072         (mbsnwidth): Use K&R style function declarations.
91073         Don't bother checking for MB_LEN_MAX == 1, since the compiler
91074         can optimize it when MB_CUR_MAX == 1.
91075         The width of control characters is zero, not 1.
91076
91077 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91078
91079         The following changes are from gettext 0.10.39 as maintained by
91080         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
91081
91082         * m4/codeset.m4: Upgrade to serial AM1.
91083         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
91084         all uses changed.  Quote first arg of AC_DEFUN.
91085         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
91086
91087         * m4/iconv.m4: Upgrade to serial AM2.
91088         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
91089         Add --with-libconv-prefix.
91090         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
91091         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
91092         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
91093         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
91094         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
91095
91096         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
91097         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
91098         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
91099         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
91100         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
91101         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
91102         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
91103         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
91104         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
91105
91106         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
91107         string.h any more.
91108
91109         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
91110         not the default value.
91111
91112         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
91113         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
91114         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
91115         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
91116         Also check for iswcntrl, used for wcwidth fallback.
91117         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
91118         to Autoconf 2.13.
91119
91120 2001-08-03  Jim Meyering  <meyering@lucent.com>
91121
91122         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
91123         as it was in the original.  Reported by Paul Eggert.
91124
91125 2001-07-16  Jim Meyering  <meyering@lucent.com>
91126
91127         * m4/gettimeofday.m4: New file.
91128         Prompted by a report from Bernhard Baehr.
91129
91130 2001-07-15  Jim Meyering  <meyering@lucent.com>
91131
91132         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
91133         stuff. Now it's in ../Makefile.cfg.
91134
91135 2001-07-15  Jim Meyering  <meyering@lucent.com>
91136
91137         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
91138         (BUILT_SOURCES): Add unlocked-io.h.
91139         (io_functions): Define.
91140         (unlocked-io.h): New rule.
91141         (DISTCLEANFILES): Add unlocked-io.h.
91142         (all-local): Depend on unlocked-io.h, to ensure it is created.
91143
91144         * lib/unlocked-io.hin: New file
91145
91146         * lib/regex.c: Update from glibc.
91147
91148 2001-07-05  Jim Meyering  <meyering@lucent.com>
91149
91150         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
91151         recommendation.
91152         (libfetish_a_SOURCES): Put all .h files here instead.
91153         Remove a thus-exposed (better checks in automake) duplicate and
91154         two unnecessary .h files.
91155
91156 2001-07-04  Jim Meyering  <meyering@lucent.com>
91157
91158         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
91159         that generates jm-glibc-io.m4 so that it doesn't trigger any make
91160         distcheck failure.
91161
91162 2001-07-02  Jim Meyering  <meyering@lucent.com>
91163
91164         The following changes were prompted by suggestions from Bruno Haible.
91165
91166         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
91167         is now generated.
91168         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
91169         definition of EXTRA_DIST.
91170         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
91171         ensure that the generated file is created/updated whenever the list
91172         of $(unlocked_functions) is changed.
91173         (jm-glibc-io.m4): New rule.
91174         (unlocked-io.h): New rule -- currently unused.
91175
91176 2001-06-24  Jim Meyering  <meyering@lucent.com>
91177
91178         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
91179         unmatched right bracket, rather than kludging it with an extra,
91180         falsely-matching quote in a comment.  Patch by Akim Demaille.
91181
91182 2001-06-11  Jim Meyering  <meyering@lucent.com>
91183
91184         * lib/regex.c: Update from GNU libc.
91185
91186 2001-05-27  Jim Meyering  <meyering@lucent.com>
91187
91188         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
91189         Check for ut_type in struct utmp.
91190
91191 2001-05-27  Jim Meyering  <meyering@lucent.com>
91192
91193         * lib/readutmp.h (UT_TYPE): Define.
91194
91195 2001-05-24  Jim Meyering  <meyering@lucent.com>
91196
91197         * lib/argmatch.c: Include "quote.h".
91198         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
91199         quote function.  Reported by Göran Uddeborg.
91200
91201 2001-05-22  Jim Meyering  <meyering@lucent.com>
91202
91203         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
91204         now that we use the package-supplied version unconditionally.
91205         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
91206
91207 2001-05-21  Jim Meyering  <meyering@lucent.com>
91208
91209         * m4/regex.m4: Change a couple backticks to single quotes to avoid
91210         shell syntax errors.
91211
91212 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91213
91214         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
91215
91216 2001-05-20  Paul Eggert  <eggert@twinsun.com>
91217
91218         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
91219         Don't bother to check library strftime, since
91220         we'll be using our own my_strftime function anyway.
91221         Define my_strftime instead of strftime.
91222
91223 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
91224
91225         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
91226         which is not yet declared.
91227
91228 2001-05-15  Jim Meyering  <meyering@lucent.com>
91229
91230         * m4/regex.m4: Use proper quoting so brackets appear in the test
91231         program.
91232         Reported by, and with help from, Bruno Haible.
91233
91234 2001-05-13  Jim Meyering  <meyering@lucent.com>
91235
91236         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
91237         undefined.
91238
91239 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91240
91241         dirname code cleanup.  base_name now behaves more compatibly
91242         with POSIX basename when given file names that have trailing
91243         slashes, and similarly for dir_name.  Add new primitives
91244         base_len and dir_len.  Put the directory-name-related decls
91245         into dirname.h.
91246
91247         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
91248         * lib/backupfile.c (base_name): Likewise.
91249         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
91250         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
91251         * lib/makepath.c (strip_trailing_slashes): Likewise.
91252         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
91253         ISSLASH): Likewise.
91254         * lib/rename.c (strip_trailing_slashes): Likewise.
91255         * lib/same.c (base_name): Likewise.
91256         * lib/stripslash.c (ISSLASH): Likewise.
91257
91258         * lib/addext.c: Include <dirname.h> after size_t is defined.
91259         * lib/backupfile.c: Likewise.
91260
91261         * lib/addext.c (addext): Use base_len to trim redundant
91262         trailing slashes instead of doing it ourselves.
91263         But do not trim the last slash if it is not redundant.
91264
91265         * lib/backupfile.c (find_backup_file_name,
91266         max_backup_version): Use base_len instead of rolling it ourselves.
91267         Handle the case of "" and (on DOS) "C:" correctly.
91268
91269         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
91270         needed. Include <string.h>, <dirname.h>.
91271         (base_name): Allow file names ending in slashes, other than names
91272         that are all slashes.  In this case, return the basename followed
91273         by the slashes.  This is more general, and can be used in places
91274         where the original base_name purposely had an assertion failure.
91275         (base_len): New function.
91276
91277         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
91278         Do not include <assert.h>; no longer needed.
91279         Include xalloc.h.
91280         (memrchr): Remove decl.
91281         (dir_name_r): Remove.
91282         (dir_len): Renamed from dirlen.  All callers changed.
91283         Rewrite in terms of base_name, for simplicity and consistency.
91284         (dir_name): Never return NULL.  All callers changed.
91285         Do not include <stdlib.h> in test program; no longer needed.
91286         return 0; is fine for test program.
91287
91288         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
91289         New macros.
91290         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
91291
91292         * lib/path-concat.c (path_concat): Use base_len to compute
91293         base length, not strlen; this means we cannot rely on memcpy
91294         to null-terminate.
91295
91296         * lib/same.c (STREQ): Remove.
91297         (same_name): Handle the case where the basename ends in trailing '/'.
91298
91299         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
91300         a slash was stripped.  Do not strip the last slash after a
91301         file system prefix.
91302
91303 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91304
91305         * lib/Makefile.am (libfetish_a_SOURCES):
91306         Add strftime.c, since we now compile it on all hosts.
91307
91308         * lib/strftime.c (my_strftime):
91309         Define to nstrftime if emacs, but only if my_strftime is not defined.
91310         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
91311         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
91312         Add one more extra argument: a nanoseconds value.
91313         All uses changed.
91314         (ns): New macro.
91315         (my_strftime function): Add %N format.
91316         (emacs_strftimeu): Renamed from emacs_strftime,
91317         with extra ut argument.
91318
91319 2001-05-09  Paul Eggert  <eggert@twinsun.com>
91320
91321         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
91322
91323 2001-04-21  Jim Meyering  <meyering@lucent.com>
91324
91325         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
91326         doesn't interfere.
91327
91328 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91329
91330         * m4/ftruncate.m4: Check for chsize.
91331         Link with ftruncate.o unconditionally if ftruncate is missing.
91332         This was required when cross-compiling to i586-mingw32msvc.
91333
91334 2001-04-08  Jim Meyering  <meyering@lucent.com>
91335
91336         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
91337         recomputed; that's necessary when the offset spans a DST transition.
91338         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
91339
91340 2001-04-02  Jim Meyering  <meyering@lucent.com>
91341
91342         * lib/regex.h, regex.c: Update from GNU libc.
91343
91344 2001-03-24  Jim Meyering  <meyering@lucent.com>
91345
91346         * m4/jm-macros.m4: Require autoconf-2.49d.
91347
91348 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
91349
91350         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
91351
91352 2001-03-19  Paul Eggert  <eggert@twinsun.com>
91353
91354         * lib/version-etc.c (version_etc_copyright): Update to 2001.
91355
91356 2001-03-17  Jim Meyering  <meyering@lucent.com>
91357
91358         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
91359         now that the version in autoconf is equivalent.
91360         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
91361
91362         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
91363         Suggestion from Akim Demaille.
91364
91365         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
91366         (jm_PREREQ_TEMPNAME): New function.
91367
91368 2001-03-16  Paul Eggert  <eggert@twinsun.com>
91369
91370         * lib/tempname.c (uint64_t): Define to uintmax_t if
91371         not defined, and if UINT64_MAX is not defined.
91372         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
91373         Reported by John David Anglin.
91374
91375 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
91376
91377         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
91378         resolve alias if codeset is empty.
91379         * lib/config.charset (BeOS): Use wildcard syntax.
91380
91381 2001-03-13  Jim Meyering  <meyering@lucent.com>
91382
91383         * lib/path-concat.c (path_concat)
91384         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
91385         concatenating e.g., `C:' and `foo'.
91386         From Bruno Haible.
91387
91388 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91389
91390         * lib/localcharset.c (locale_charset): Don't use
91391         setlocale(LC_CTYPE,NULL). Don't return NULL.
91392         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
91393
91394 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91395
91396         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
91397         support for DOS/DJGPP.
91398
91399 2001-03-01  Paul Eggert  <eggert@twinsun.com>
91400
91401         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
91402         lacks mkstemp.  Compile our own tempname.c if we compile our own
91403         mkstemp.c, as mkstemp relies on tempname.
91404
91405 2001-03-01  Jim Meyering  <meyering@lucent.com>
91406
91407         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
91408         AH_VERBATIM really does output its argument verbatim.
91409
91410 2001-02-28  Paul Eggert  <eggert@twinsun.com>
91411
91412         * lib/Makefile.am (libfetish_a_SOURCES):
91413         Add dup-safer.c, fopen-safer.c.
91414         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
91415
91416         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
91417         * lib/unistd-safer.h: New files.
91418
91419 2001-02-25  Paul Eggert  <eggert@twinsun.com>
91420
91421         The mkstemp replacement is taken from glibc 2.2.2, with some
91422         portability fixes for use outside glibc, as follows:
91423
91424         * lib/tempname.c (struct_stat64): New macro.
91425         (direxists, __gen_tempname): Use it.
91426         This avoids a portability problem with Solaris 8.
91427
91428         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
91429         (<stddef.h>, <stdint.h>, <string.h>):
91430         Include only if STDC_HEADERS || _LIBC.
91431         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
91432         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
91433         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
91434         (__set_errno): Define this macro if <errno.h> doesn't.
91435         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
91436         Define these macros if <stdio.h> doesn't.
91437         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
91438         Define these macros if <sys/stat.h>
91439         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
91440         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
91441         __xstat64): Define if not _LIBC.
91442         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
91443         (__gen_tempname): Invoke gettimeofday only if
91444         HAVE_GETTIMEOFDAY || _LIBC;
91445         otherwise, fall back on plain "time".
91446         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
91447
91448         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
91449
91450         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
91451
91452 2001-02-18  Paul Eggert  <eggert@twinsun.com>
91453
91454         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
91455
91456 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91457
91458         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
91459         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
91460         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
91461         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91462
91463 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91464
91465         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
91466         Remove workaround macros for hosts that have mbrtowc but not
91467         mbstate_t, as we now insist on proper declarations for both
91468         before using mbrtowc.
91469
91470 2001-02-17  Jim Meyering  <meyering@lucent.com>
91471
91472         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
91473         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
91474         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
91475         UnixWare 7.1.1.
91476
91477         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
91478         rather than AC_CACHE_VAL.
91479
91480 2001-02-17  Jim Meyering  <meyering@lucent.com>
91481
91482         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
91483         around included file name.
91484
91485         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
91486
91487         * lib/strftime.c: Update from GNU libc (the only changes were to
91488         comments).
91489
91490 2001-02-17  Jim Meyering  <meyering@lucent.com>
91491
91492         * lib/regex.c: Update from libc.
91493
91494 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
91495
91496         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
91497         clash.
91498
91499 2001-02-16  Paul Eggert  <eggert@twinsun.com>
91500
91501         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
91502         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
91503         Reported by Mark Hounschell via Paul Eggert.
91504
91505 2001-02-07  Jim Meyering  <meyering@lucent.com>
91506
91507         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
91508
91509 2001-02-05  Jim Meyering  <meyering@lucent.com>
91510
91511         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
91512         it includes the patch required for `large file' support with at least
91513         HP-UX's 10.20 /bin/cc.
91514
91515 2001-02-03  Jim Meyering  <meyering@lucent.com>
91516
91517         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
91518         AS_IF, now that it works once again (mysteriously).
91519         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91520
91521 2001-01-30  Jim Meyering  <meyering@lucent.com>
91522
91523         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
91524         * m4/chown.m4: Rename conftestchown to conftest.chown.
91525         * m4/rename.m4: s/conftestdir/conftest.d1/ and
91526         s/conftestdir2/conftest.d2/.
91527         * m4/utimes.m4: s/conftestdata/conftest.data/
91528         Inspired by Pavel Roskin's change in autoconf.
91529
91530 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
91531
91532         * lib/config.charset: Update for FreeBSD 4.2.
91533
91534 2001-01-27  Jim Meyering  <meyering@lucent.com>
91535
91536         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
91537         a use of AS_IF.
91538         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91539
91540 2001-01-26  Jim Meyering  <meyering@lucent.com>
91541
91542         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
91543         quotearg.c includes it.
91544
91545 2001-01-26  Jim Meyering  <meyering@lucent.com>
91546
91547         * lib/quotearg.c: Include stddef.h.
91548         * lib/quote.c: Include stddef.h.
91549         Reported by Axel Kittenberger.
91550
91551         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
91552         line in double quotes so that it evokes a better diagnostic.
91553         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
91554         Reported by Axel Kittenberger.
91555
91556 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
91557
91558         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
91559         as if it was a `charset'.
91560
91561 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91562
91563         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
91564         has const.
91565
91566 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91567
91568         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
91569         to avoid a warning.  Add back 'const' to inptr.
91570
91571 2001-01-20  Jim Meyering  <meyering@lucent.com>
91572
91573         Be sure that headers are checked before used in code compiled
91574         for the type checks.
91575         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
91576         In place of that, invoke jm_CHECK_ALL_TYPES.
91577         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
91578         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
91579         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
91580         The check for ssize_t was mistakenly run before the test for unistd.h.
91581
91582         The configure-time check for stdbool.h was missing.
91583         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
91584         (jm_PREREQ_HASH): New function.
91585
91586 2001-01-17  Jim Meyering  <meyering@lucent.com>
91587
91588         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
91589         for autoconf-2.49c.
91590         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
91591
91592 2001-01-16  Jim Meyering  <meyering@lucent.com>
91593
91594         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
91595         From Bruno Haible.
91596
91597 2001-01-14  Jim Meyering  <meyering@lucent.com>
91598
91599         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
91600         foo and bar.  Create conftestdir/ in the script, not in the C code.
91601         Remove directories in the script, not in the C code.
91602         Remove conftestdir{,2} before trying to create the directory.
91603         Make the entire configure script fail if the mkdir fails.
91604
91605 2001-01-14  Jim Meyering  <meyering@lucent.com>
91606
91607         * lib/rename.c: New file.  From Volker Borchert.
91608         Include stdlib.h, string.h or strings.h, and xalloc.h.
91609         Use strip_trailing_slashes rather than open-coding it.
91610
91611 2001-01-03  Paul Eggert  <eggert@twinsun.com>
91612
91613         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
91614
91615 2001-01-03  Jim Meyering  <meyering@lucent.com>
91616
91617         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
91618         of local `inptr' to avoid warning with some system declarations of
91619         iconv.
91620
91621 2001-01-02  Volker Borchert  <bt@teknon.de>
91622
91623         * m4/rename.m4: New file.
91624         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
91625
91626 2001-01-01  Jim Meyering  <meyering@lucent.com>
91627
91628         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
91629         even on systems with utmpx.h.  It's necessary for the declaration of
91630         utmp's ut_user member.  Reported by Andreas Jaeger.
91631
91632         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
91633         available. They are required for the declarations of getgrgid and
91634         getpwuid resp.
91635         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
91636         Reported by Andreas Jaeger.
91637
91638 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
91639
91640         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
91641         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
91642         so `make install' also works in VPATH builds.
91643
91644 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
91645
91646         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
91647         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
91648         can be used in subdirectories.
91649
91650 2000-12-29  Paul Eggert  <eggert@twinsun.com>
91651
91652         * lib/modechange.c: Do not assume that mode_t uses the
91653         traditional octal encoding.  E.g. "chmod 1 FOO" should set
91654         the other-execute bit of FOO even if S_IXOTH != 1.
91655
91656         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
91657         WOTH, XOTH, ALLM): New macros.
91658         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
91659          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
91660         Use them.
91661         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
91662         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
91663         (mode_compile):
91664         No need to use uintmax_t; unsigned long is long enough.
91665         Don't bother to get suffix since we don't use it.
91666
91667 2000-12-26  Jim Meyering  <meyering@lucent.com>
91668
91669         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
91670         better with autoheader.
91671
91672 2000-12-24  Jim Meyering  <meyering@lucent.com>
91673
91674         * lib/hash.c (is_prime): Return explicit boolean values.
91675         (hash_get_first): Return NULL to appease Irix5.6's 89.
91676         Reported by Nelson Beebe.
91677
91678 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
91679
91680         * lib/localcharset.c (locale_charset): Add support for Win32.
91681
91682 2000-12-18  Paul Eggert  <eggert@twinsun.com>
91683
91684         * lib/physmem.h, lib/physmem.c: New files.
91685
91686         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
91687         (noinst_HEADERS): Add physmem.h.
91688
91689         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
91690         't' for compatibility with Solaris 8 sort.
91691
91692 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
91693
91694         * lib/config.charset: Add support for BeOS.
91695
91696 2000-12-17  Jim Meyering  <meyering@lucent.com>
91697
91698         * m4/dos.m4 (jm_AC_DOS): New file and macro.
91699         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
91700
91701 2000-12-16  Jim Meyering  <meyering@lucent.com>
91702
91703         This bug had a serious impact on chown: `chown N:M FILE' (for integer
91704         N and M) would have treated it like `chown N:N FILE'.
91705
91706         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
91707
91708 2000-12-16  Jim Meyering  <meyering@lucent.com>
91709
91710         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
91711         SHELLS_FILE to a file name that's useful on djgpp systems.
91712         Include stdlib.h.
91713         (ADDITIONAL_DEFAULT_SHELLS): Define.
91714         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
91715         Based mostly on a patch from Prashant TR.
91716
91717 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
91718
91719         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
91720         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
91721         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
91722
91723 2000-12-08  Andreas Schwab  <schwab@suse.de>
91724
91725         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
91726         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
91727
91728 2000-12-07  Jim Meyering  <meyering@lucent.com>
91729
91730         * lib/stripslash.c (ISSLASH): Define.
91731         (strip_trailing_slashes): Use ISSLASH rather than comparing against
91732         `/'.
91733         From Prashant TR.
91734
91735         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
91736         (dir_name_r): Declare this function as static.
91737         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
91738         manifest itself on a name containing a mix of slashes and
91739         backslashes.
91740         Make this function work with names starting with a DOS-style
91741         drive letter and colon prefix.
91742         (dir_name): Append `.' if necessary.
91743         Based mostly on patches from Prashant TR and Eli Zaretskii.
91744
91745         * lib/dirname.h (dir_name_r): Remove prototype.
91746
91747 2000-12-06  Paul Eggert  <eggert@twinsun.com>
91748
91749         * m4/off_t-format.m4: Remove this file.
91750         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
91751
91752 2000-12-06  Jim Meyering  <meyering@lucent.com>
91753
91754         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
91755         replacement strtoull, we may well need the replacement strtoul, too.
91756         Check for declarations of strtoul and strtoull.
91757         Check for strtol.  Mainly as a cue to cause automake to include
91758         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
91759         Check for limits.h -- strtol.c needs it.
91760
91761 2000-12-05  Jim Meyering  <meyering@lucent.com>
91762
91763         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
91764
91765 2000-12-04  Jim Meyering  <meyering@lucent.com>
91766
91767         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
91768         Also include memory.h, stdlib.h, unistd.h if appropriate.
91769         Reported by Andreas Jaeger (conflicting declaration of malloc).
91770
91771 2000-12-02  Jim Meyering  <meyering@lucent.com>
91772
91773         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
91774         * m4/jm-macros.m4 (jm_MACROS): require it.
91775
91776 2000-12-02  Jim Meyering  <meyering@lucent.com>
91777
91778         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
91779
91780 2000-12-01  Paul Eggert  <eggert@twinsun.com>
91781
91782         * lib/memrchr.c: Include <config.h> before any system include file.
91783
91784 2000-11-30  Jim Meyering  <meyering@lucent.com>
91785
91786         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
91787
91788 2000-11-30  Jim Meyering  <meyering@lucent.com>
91789
91790         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
91791
91792 2000-11-29  Paul Eggert  <eggert@twinsun.com>
91793
91794         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
91795
91796 2000-11-26  Jim Meyering  <meyering@lucent.com>
91797
91798         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
91799
91800 2000-11-22  Paul Eggert  <eggert@twinsun.com>
91801
91802         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
91803         size of (size_t) -1; it's not portable.
91804
91805 2000-11-17  Jim Meyering  <meyering@lucent.com>
91806
91807         * lib/strstr.c: Update from GNU libc.
91808
91809 2000-11-17  Akim Demaille  <akim@epita.fr>
91810
91811         * lib/obstack.h: Formatting changes.
91812         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
91813         prevent type checking.
91814         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
91815         cast the value to (void *): assigning a `foo *' to a `void *'
91816         variable is valid.
91817         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
91818
91819 2000-11-16  Jim Meyering  <meyering@lucent.com>
91820
91821         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
91822
91823 2000-11-11  Jim Meyering  <meyering@lucent.com>
91824
91825         * lib/error.c: Add a couple #includes, merging from GNU libc version.
91826
91827 2000-11-10  Jim Meyering  <meyering@lucent.com>
91828
91829         * lib/obstack.h: Update from GNU libc.
91830         * lib/obstack.c: Likewise.
91831
91832 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
91833
91834         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
91835
91836 2000-11-06  Paul Eggert  <eggert@twinsun.com>
91837
91838         * lib/getusershell.c (setusershell): Use rewind rather than
91839         fseek/fseeko, to avoid configuration hassles with fseeko.
91840         Don't bother opening SHELLS_FILE if shellstream is NULL;
91841         it's not necessary.
91842
91843 2000-11-05  Jim Meyering  <meyering@lucent.com>
91844
91845         * lib/makepath.h (make_dir): Declare.
91846         * lib/makepath.c (make_dir): Remove `static' attribute.
91847         Tweak a comment.
91848
91849 2000-11-04  Jim Meyering  <meyering@lucent.com>
91850
91851         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
91852
91853 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
91854
91855         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
91856         last one in a bucket, advance to the next bucket.
91857
91858 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
91859
91860         * lib/fnmatch.c: Do not comment out all the code if we are using
91861         the GNU C library, because in some cases we are replacing buggy
91862         code in the GNU C library itself.
91863
91864 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
91865
91866         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
91867         (regex_compile): Catch bogus \(\1\).
91868
91869 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91870
91871         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
91872         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
91873         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
91874
91875 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91876
91877         * lib/error.h, getline.h, modechange.h:
91878         Remove "2000" from Copyright line, as the file hasn't been
91879         changed this year other than in the copyright notice.
91880
91881         * lib/xalloc.h: Add "2000" to Copyright line, as this file
91882         was changed this year.
91883
91884 2000-10-29  Jim Meyering  <meyering@lucent.com>
91885
91886         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
91887         renaming.
91888         * m4/ls-mntd-fs.m4: Likewise
91889
91890 2000-10-29  Jim Meyering  <meyering@lucent.com>
91891
91892         * lib/xstat.in: Fix grammar in comment.
91893
91894 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
91895
91896         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
91897         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
91898         doesn't define __restrict_arr.
91899
91900 2000-10-28  Jim Meyering  <meyering@lucent.com>
91901
91902         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
91903         (jm_PREREQ_MEMCHR): New function.
91904
91905 2000-10-28  Jim Meyering  <meyering@lucent.com>
91906
91907         * lib/memchr.c: Update from libc.
91908         Adjust for portability:
91909         [HAVE_STDLIB_H]: Include stdlib.h.
91910         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
91911         Undef __memchr, too.
91912         [!weak_alias]: Define __memchr to memchr.
91913
91914         * lib/regex.c: Update from libc.
91915         * lib/regex.h: Likewise.
91916         * lib/getopt1.c: Likewise.
91917         * lib/memcmp.c: Likewise.
91918
91919         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
91920         Avoid using fseek, when possible -- it's broken by design.
91921         Patch by Ulrich Drepper.
91922
91923 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
91924
91925         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
91926         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
91927         Giving in to popular pressure to shut up the compiler with casts.
91928
91929 2000-10-26  Jim Meyering  <meyering@lucent.com>
91930
91931         * lib/strftime.c: Update from libc.
91932
91933 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
91934
91935         * regex.c: More `unsigned char' -> `re_char' changes.
91936         Also change several `int' into `re_wchar_t'.
91937         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
91938         (PUSH_FAILURE_POINTER): Don't cast any more.
91939         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
91940         We want GCC to complain, since this piece of code makes
91941         re_match non-reentrant, which *should* be fixed.
91942         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
91943         (EXTEND_BUFFER): Use RETALLOC.
91944         (SET_LIST_BIT): Don't cast.
91945         (re_wchar_t): New type.
91946         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
91947         that those two functions will always properly return.
91948         (IMMEDIATE_QUIT_CHECK): Cast to void.
91949         (analyse_first): Use recursion rather than an explicit stack.
91950         (re_compile_fastmap): Can't fail anymore.
91951         (re_search_2): Don't check re_compile_fastmap for failure.
91952         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
91953         Now also sets the new value (passed in a new argument).
91954         (re_match_2_internal): Use it.
91955         Also, use a new var `reg' of type size_t when looping through regs
91956         rather than reuse the inappropriate `mcnt'.
91957
91958 2000-10-25  Jim Meyering  <meyering@lucent.com>
91959
91960         * lib/obstack.c: Update from libc.
91961
91962 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
91963
91964         * regex.c (regex_compile): Change the way of handling a range from
91965         a char less than 256 to a char not less than 256.
91966
91967 2000-10-24  Andrew Innes  <andrewi@gnu.org>
91968
91969         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
91970         NT-Emacs only.
91971         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
91972         so that re_search functions only quit when callers expect them to.
91973
91974 2000-10-23  Jim Meyering  <meyering@lucent.com>
91975
91976         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
91977         wrong.  That set_locale call must not have any side effects.
91978         From Paul Eggert.
91979
91980 2000-10-22  Jim Meyering  <meyering@lucent.com>
91981
91982         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
91983         [CYCLIC]: Remove now-unused definition.
91984
91985         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
91986         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
91987         Suggestion from Ulrich Drepper.
91988
91989 2000-10-21  Jim Meyering  <meyering@lucent.com>
91990
91991         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
91992         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
91993         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
91994
91995 2000-10-21  Jim Meyering  <meyering@lucent.com>
91996
91997         * lib/dirname.c (memrchr): Declare if necessary.
91998         (dir_name): Remove the restriction that there be no
91999         trailing slashes.  Now, this code skips past them, effectively
92000         ignoring them.
92001         [TEST_DIRNAME] (main): New unit tests.
92002
92003         * lib/memrchr.c: New file from GNU libc.
92004         Undef __memrchr, too.
92005         [!weak_alias]: Define __memrchr to memrchr.
92006         Guard weak_alias use with `#ifdef weak_alias'.
92007
92008 2000-10-21  Jim Meyering  <meyering@lucent.com>
92009
92010         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
92011         (dir_name): Use dir_name_r.
92012         * lib/dirname.h (dir_name_r): Declare it.
92013
92014 2000-10-17  Jim Meyering  <meyering@lucent.com>
92015
92016         * lib/quote.h (PARAMS): Define and use.
92017         Reported by Akim Demaille.
92018
92019         * lib/getopt.c: Update from libc.
92020
92021 2000-10-16  Jim Meyering  <meyering@lucent.com>
92022
92023         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
92024         setlocale.
92025         From Jan Fedak.
92026
92027 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
92028
92029         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
92030
92031 2000-09-25  Jim Meyering  <meyering@lucent.com>
92032
92033         * lib/md5.h (rol): Define (from GnuPG).
92034
92035         * lib/sha.c: Give credit (GnuPG) where due.
92036         (M): Use rol rather than open-coding it.
92037         Add a FIXME comment.
92038
92039 2000-09-21  Jim Meyering  <meyering@lucent.com>
92040
92041         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
92042         Reported by Michael Stone.
92043
92044 2000-09-20  Jim Meyering  <meyering@lucent.com>
92045
92046         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
92047         (noinst_HEADERS): Add sha.h.
92048         Based on code from Scott G. Miller and from GnuPG.
92049
92050 2000-09-18  Jim Meyering  <meyering@lucent.com>
92051
92052         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
92053         LIBS. Otherwise, everyone ends up linking with -lelf for some
92054         configurations.
92055         Reported by Mike Stone.
92056
92057 2000-09-15  Jim Meyering  <meyering@lucent.com>
92058
92059         * lib/regex.c: Update from libc.
92060
92061 2000-09-10  Jim Meyering  <meyering@lucent.com>
92062
92063         * lib/getopt.c (_getopt_internal): Update from glibc.
92064
92065 2000-09-09  Jim Meyering  <meyering@lucent.com>
92066
92067         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
92068         think it should be used as a general replacement for isascii.
92069         * lib/fnmatch.c: Likewise.
92070         * lib/mbswidth.c: Likewise
92071         * lib/regex.c: Likewise.
92072
92073         Don't use atoi.
92074         * lib/userspec.c: Include sys/param.h and limits.h.
92075         Include xstrtol.h.
92076         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
92077         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
92078         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
92079         UID, GID.  Check range.
92080
92081 2000-09-06  Jim Meyering  <meyering@lucent.com>
92082
92083         * lib/getopt.c (_getopt_internal): Update from glibc.
92084
92085 2000-08-30  Jim Meyering  <meyering@lucent.com>
92086
92087         * lib/strftime.c: Merge in changes from GNU libc.
92088
92089 2000-08-26  Jim Meyering  <meyering@lucent.com>
92090
92091         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
92092         * m4/fpending.m4: New file.
92093
92094 2000-08-26  Jim Meyering  <meyering@lucent.com>
92095
92096         * lib/closeout.c: Include "__fpending.h".
92097         (close_stdout_status): Return right away if there's nothing to flush.
92098
92099         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
92100         * lib/__fpending.c: New file.
92101         * lib/__fpending.h: New file.
92102
92103 2000-08-20  Jim Meyering  <meyering@lucent.com>
92104
92105         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
92106         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
92107         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
92108
92109 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
92110
92111         Improve fileutils installation on systems where running
92112         programs (like install) can't be unlinked.
92113         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
92114         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
92115
92116 2000-08-07  Paul Eggert  <eggert@twinsun.com>
92117
92118         Standardize on "memory exhausted" instead of "Memory exhausted"
92119         or "virtual memory exhausted".
92120         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
92121         "virtual memory exhausted".
92122         * lib/same.c (same_name): Invoke xalloc_die instead of printing
92123         our own message.
92124         * lib/userspec.c (parse_user_spec): Likewise.
92125         * lib/bumpalloc.h: comment fix
92126         * lib/same.c, userspec.c: Include xalloc.h.
92127
92128         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
92129         not char *const and pointing to a constant array.
92130         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
92131         (xrealloc): Comment fix.
92132
92133         * lib/userspec.c (parse_user_spec):
92134         Don't translate a message until just before returning,
92135         to avoid unnecessary translation.
92136
92137 2000-08-07  Jim Meyering  <meyering@lucent.com>
92138
92139         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
92140         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
92141         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
92142         getgroups.c, gethostname.c, getopt.h, group-member.c,
92143         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
92144         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
92145         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
92146         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
92147         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
92148         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
92149         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
92150         yesno.c: Back out Copyright date changes for each file with no change
92151         this year.  This eases coordination with other programs using the same
92152         source code modules.  From Paul Eggert.
92153
92154 2000-08-06  Paul Eggert  <eggert@twinsun.com>
92155
92156         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
92157         not char, for compatibility with glibc 2.1.3 strftime.c.
92158
92159 2000-08-03  Greg McGary  <greg@mcgary.org>
92160
92161         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
92162         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
92163         (EXTEND_BUFFER): Use them.
92164
92165 2000-08-01  Jim Meyering  <meyering@lucent.com>
92166
92167         * lib/dirname.c (ISSLASH): Define.
92168         (BACKSLASH_IS_PATH_SEPARATOR): Define.
92169         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
92170         both `\' and `/' may be use as path separators.
92171         Based on a patch from Prashant TR.
92172
92173 2000-07-31  Paul Eggert  <eggert@twinsun.com>
92174
92175         * lib/quotearg.c (quotearg_n_options): Don't make the initial
92176         slot vector a constant, since it might get modified.
92177
92178 2000-07-31  Jim Meyering  <meyering@lucent.com>
92179
92180         * lib/xmalloc.c: Use `virtual memory exhausted', not
92181         `Memory exhausted'.
92182         * lib/obstack.c (print_and_abort): Likewise.
92183
92184 2000-07-30  Paul Eggert  <eggert@twinsun.com>
92185
92186         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
92187         buffer, so that the caller can always quote one small
92188         component of a "memory exhausted" message in slot 0.
92189         From a suggestion by Jim Meyering.
92190
92191 2000-07-30  Jim Meyering  <meyering@lucent.com>
92192
92193         * lib/makepath.c (make_path): Quote the other instance, too.
92194
92195         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
92196         (STATIC_BUF_SIZE): Define.
92197         (quotearg_n_options): Use only statically allocated storage when
92198         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
92199         than STATIC_BUF_SIZE.
92200
92201 2000-07-29  Jim Meyering  <meyering@lucent.com>
92202
92203         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
92204         * lib/dirname.c (dir_name): Likewise.
92205
92206         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
92207         `/'.
92208
92209         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
92210         (dir_name): Assert that there are no trailing slashes.
92211
92212 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
92213
92214         * lib/mbswidth.h (mbswidth): Add a flags argument.
92215         (mbswidth): New declaration.
92216         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
92217         * lib/mbswidth.c (mbswidth): Add a flags argument.
92218         (mbsnwidth): New function.
92219
92220 2000-07-24  Jim Meyering  <meyering@lucent.com>
92221
92222         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
92223
92224 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92225
92226         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
92227
92228 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92229
92230         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
92231         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
92232         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
92233         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
92234         invoke multibyte primitives.
92235
92236 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92237
92238         * lib/quotearg.c:
92239         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
92240         so that mbstate_t is always defined.
92241
92242         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
92243         be 1 in at least one GCC installation, and this configuration
92244         error is likely to be common.  Ignoring MB_LEN_MAX hurts
92245         performance on hosts that have mbrtowc but have only unibyte
92246         locales, but I assume these hosts are rare.
92247
92248 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92249
92250         * lib/mbswidth.c (_XOPEN_SOURCE):
92251         Don't define; this causes problems on Solaris 7.
92252         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
92253
92254 2000-07-23  Jim Meyering  <meyering@lucent.com>
92255
92256         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
92257         too: getgrgid, getpwuid, getuid.
92258
92259 2000-07-23  Jim Meyering  <meyering@lucent.com>
92260
92261         * lib/basename.c (base_name): Add an assertion.
92262
92263 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
92264
92265         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
92266         shadow its mbsinit function.
92267
92268 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92269
92270         * lib/mbswidth.h: New file.
92271         * lib/mbswidth.c: New file.
92272         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
92273         (noinst_HEADERS): Add mbswidth.h.
92274
92275 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92276
92277         * lib/config.charset: Add support for FreeBSD. Improve support for
92278         HP-UX and IRIX 6.
92279
92280 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
92281
92282         * m4/mbswidth.m4: New file.
92283         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
92284
92285 2000-07-15  Jim Meyering  <meyering@lucent.com>
92286
92287         * lib/makepath.c: Include quote.h.
92288         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
92289         corresponding argument in a `quote (...)' call.
92290         Give better diagnostics.
92291
92292         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
92293         (noinst_HEADERS): Add quote.h.
92294
92295         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
92296         from tar's src/misc.c.
92297         * lib/quote.h: New file.  Prototypes for same.
92298
92299 2000-07-14  Paul Eggert  <eggert@twinsun.com>
92300
92301         From a suggestion by Bruno Haible.
92302         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
92303         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
92304         to decide whether to define the BeOS workaround macro;
92305         this adjusts to the change to AC_MBSTATE_T.
92306
92307 2000-07-14  Jim Meyering  <meyering@lucent.com>
92308
92309         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
92310         jm_AC_TYPE_UINTMAX_T.
92311
92312 2000-07-13  Paul Eggert  <eggert@twinsun.com>
92313
92314         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
92315
92316         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
92317         quotearg_buffer_restyled): Add support for
92318         clocale_quoting_style.  Undo previous change to
92319         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
92320         and "{RIGHT QUOTATION MARK}" msgids.
92321
92322 2000-07-10  Paul Eggert  <eggert@twinsun.com>
92323
92324         From a suggestion by Bruno Haible.
92325         * m4/mbstate_t.m4 (AC_MBSTATE_T):
92326         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
92327         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
92328         and mbstate_t, to a single-part test that simply defines mbstate_t.
92329         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
92330         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
92331
92332 2000-07-10  Jim Meyering  <meyering@lucent.com>
92333
92334         * m4/strerror_r.m4: Mirror the correction made in autoconf.
92335
92336         * m4/gnu-source.m4: Output to confdefs.h directly.
92337         Suggestion from Akim Demaille.
92338
92339 2000-07-09  Paul Eggert  <eggert@twinsun.com>
92340
92341         The old behavior of quoting `like this' doesn't look good with
92342         newer, ISO-style fonts.  See:
92343         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
92344
92345         Instead, quote "like this" by default.  Let the translator
92346         tailor the locale-specific quoting behavior by providing
92347         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
92348
92349         * lib/quotearg.c (N_): New macro.
92350         (gettext_default): New function.
92351         (quotearg_buffer_restyled): Use
92352         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
92353         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
92354
92355 2000-07-09  Jim Meyering  <meyering@lucent.com>
92356
92357         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
92358         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
92359
92360         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
92361         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
92362
92363 2000-07-09  Jim Meyering  <meyering@lucent.com>
92364
92365         * lib/Most files: Update copyright dates to include 2000.
92366
92367 2000-07-08  Jim Meyering  <meyering@lucent.com>
92368
92369         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
92370         if not defined.
92371         (xgethostname): Remove now-unnecessary #ifdef.
92372         Move declaration of `err' into loop where it's used.
92373
92374 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92375         and Bruno Haible  <haible@clisp.cons.org>
92376
92377         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
92378         only if the test for an object-type mbstate_t fails.  This
92379         prevents us from mistakenly reporting that mbstate_t is a
92380         system object type after we "#define mbstate_t int" to work
92381         around its lack.
92382
92383 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92384         and Bruno Haible  <haible@clisp.cons.org>
92385
92386         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
92387
92388 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92389
92390         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
92391         to strerror_r.
92392         Include <ctype.h> for use of isalpha.
92393
92394 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92395
92396         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
92397         by allocating a larger buffer. Test the gethostname return value for
92398         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
92399         returns an error and ENAMETOOLONG isn't defined.
92400
92401 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92402
92403         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
92404         dimension.
92405
92406 2000-07-04  Jim Meyering  <meyering@lucent.com>
92407
92408         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
92409         of the deprecated AC_CHECKING.
92410
92411 2000-07-04  Jim Meyering  <meyering@lucent.com>
92412
92413         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
92414         Reported by Bruno Haible.
92415
92416 2000-07-04  Jim Meyering  <meyering@lucent.com>
92417
92418         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
92419         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
92420         lacks mbrtowc.
92421
92422 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92423
92424         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
92425         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
92426
92427 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92428         and Bruno Haible  <haible@clisp.cons.org>
92429
92430         * lib/quotearg.c (mbrtowc):
92431         Assign to *pwc, and return 1 only if result is nonzero.
92432         (iswprint): Use ISPRINT when substituting our own mbrtowc.
92433
92434 2000-07-03  Jim Meyering  <meyering@lucent.com>
92435
92436         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
92437
92438 2000-07-03  Jim Meyering  <meyering@lucent.com>
92439
92440         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
92441         This is necessary to get a definition of e.g., UTMP_FILE on
92442         HP-UX 10.20.
92443         From Bob Proulx.
92444
92445 2000-07-02  Jim Meyering  <meyering@lucent.com>
92446
92447         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
92448
92449         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
92450         AC_LIBOBJ(function_name).
92451         * m4/chown.m4: Likewise.
92452         * m4/fnmatch.m4: Likewise.
92453         * m4/ftruncate.m4: Likewise.
92454         * m4/getgroups.m4: Likewise.
92455         * m4/getline.m4: Likewise.
92456         * m4/group-member.m4: Likewise.
92457         * m4/jm-macros.m4: Likewise.
92458         * m4/lstat.m4: Likewise.
92459         * m4/malloc.m4: Likewise.
92460         * m4/memcmp.m4: Likewise.
92461         * m4/nanosleep.m4: Likewise.
92462         * m4/putenv.m4: Likewise.
92463         * m4/realloc.m4: Likewise.
92464         * m4/regex.m4: Likewise.
92465         * m4/stat.m4: Likewise.
92466         * m4/strftime.m4: Likewise.
92467
92468 2000-07-02  Jim Meyering  <meyering@lucent.com>
92469
92470         * lib/quotearg.c (mbstate_t): Don't define here.
92471
92472 2000-07-02  Jim Meyering  <meyering@lucent.com>
92473
92474         * lib/nanosleep.c (SIGCONT): Define if not already defined.
92475
92476 2000-07-01  Jim Meyering  <meyering@lucent.com>
92477
92478         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
92479
92480 2000-07-01  Jim Meyering  <meyering@lucent.com>
92481
92482         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
92483         problem.
92484
92485 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92486
92487         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
92488         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
92489
92490 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92491
92492         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
92493         per change in ../m4/ls-mntd-fs.m4.
92494         (read_filesystem_list): Ignore symbolic links.
92495
92496 2000-06-29  Jim Meyering  <meyering@lucent.com>
92497
92498         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
92499         for declaration of strcmp.
92500
92501         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
92502
92503         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
92504         Avoid warning by casting result to `char *' to remove `const'.
92505
92506 2000-06-28  Jim Meyering  <meyering@lucent.com>
92507
92508         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
92509         included by quotearg.c, for which we perform this test.  From
92510         Bruno Haible.
92511
92512 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92513
92514         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
92515         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
92516         <utmpx.h> exists, put readutmp.o into LIBOBJS.
92517
92518 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92519
92520         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
92521
92522 2000-06-26  Paul Eggert  <eggert@twinsun.com>
92523
92524         savedir now sets errno on failure and invokes xmalloc to get memory.
92525         Fix a couple of other minor bugs while we're at it.
92526
92527         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
92528         (NAMLEN): Remove macro.
92529         (malloc, realloc): Remove decls.
92530         (stpcpy): Likewise.
92531         ("xalloc.h"): Include.
92532         (NAME_SIZE_DEFAULT): New macro.
92533         (savedir): Use xmalloc / xrealloc to allocate memory.
92534         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
92535         Skip "" directory entries.
92536         Use strlen to calculate directory entry length, since the old method
92537         is rarely used these days and isn't worth supporting.
92538         Don't use a pointer after freeing it.
92539         Check for integer overflow when calculating allocation size.
92540         Use memcpy to copy entries, instead of stpcpy.
92541         Set errno properly when returning NULL.
92542         Check for readdir error.
92543
92544 2000-06-26  Jim Meyering  <meyering@lucent.com>
92545
92546         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
92547
92548 2000-06-25  Jim Meyering  <meyering@lucent.com>
92549
92550         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
92551         Linux header bug when _XOPEN_SOURCE is defined to 500.
92552
92553 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92554
92555         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
92556         deficiency.
92557
92558 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92559
92560         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
92561         Include xalloc.h.
92562         Don't include <stdlib.h>.  Don't declare malloc, realloc.
92563
92564 2000-06-24  Jim Meyering  <meyering@lucent.com>
92565
92566         * m4/strerror_r.m4: Revive this file -- to try out an experimental
92567         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
92568         for which strerror does return char*, but which lacks a conveniently
92569         accessible declaration of the function.  If the compile-test says
92570         strerror_r doesn't work, then resort to a `run'-test that works on
92571         BeOS and segfaults on DEC Unix.
92572
92573 2000-06-24  Jim Meyering  <meyering@lucent.com>
92574
92575         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
92576
92577 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92578
92579         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
92580         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
92581
92582 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92583
92584         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
92585         (mbrtowc, mbstate_t): Define substitutes if
92586         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
92587         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
92588         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
92589
92590 2000-06-23  Jim Meyering  <meyering@lucent.com>
92591
92592         * m4/afs.m4: Add missing AC_MSG_RESULT.
92593         Reported by Bruno Haible.
92594
92595         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
92596         Suggestion from Bruno Haible.
92597
92598 2000-06-23  Jim Meyering  <meyering@lucent.com>
92599
92600         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
92601
92602 2000-06-21  Jim Meyering  <meyering@lucent.com>
92603
92604         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
92605
92606 2000-06-21  Jim Meyering  <meyering@lucent.com>
92607
92608         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
92609         (noinst_HEADERS): Add getstr.h.
92610
92611         * lib/getline.c (getstr): Move into a separate file.
92612         * lib/getstr.c (getstr): New file, extracted from getline.c, with
92613         the following changes: new parameter, delim2; both delim[12]
92614         parameters have type `int', not `char'.  The latter would lose
92615         with 8-bit delimiters.
92616         * lib/getstr.h: New file.
92617
92618 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92619
92620         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
92621         than 1024, return a memory chunk of least possible size, instead
92622         of size PATH_MAX + 2. In the loop, increment the size proportionally.
92623         Use free/xmalloc instead of xrealloc to avoid copying for very long
92624         paths.
92625
92626 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92627
92628         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
92629         the empty string.
92630
92631 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92632
92633         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
92634         address, not strdup.  Include <stdlib.h> and don't declare free().
92635
92636 2000-06-19  Jim Meyering  <meyering@lucent.com>
92637
92638         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
92639
92640 2000-06-18  Jim Meyering  <meyering@lucent.com>
92641
92642         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
92643
92644         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
92645         `checking whether...' message to be consistent with that of the
92646         lstat test.
92647
92648 2000-06-18  Jim Meyering  <meyering@lucent.com>
92649
92650         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
92651         Besides, these days every porting target provides a mkdir function.
92652
92653         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
92654         needed. (this snippet comes from src/system.h).
92655
92656 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
92657
92658         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
92659
92660 2000-06-15  Paul Eggert  <eggert@twinsun.com>
92661
92662         * lib/human.c (adjust_value): New function.
92663         (human_readable_inexact): Apply rounding style even when
92664         printing approximate values.
92665
92666 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92667
92668         * lib/human.c (human_readable_inexact): Allow an input block
92669         size that is not a multiple of the output block size, and vice versa.
92670         Reported by Piergiorgio Sartor.
92671
92672 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92673
92674         * lib/getdate.y (get_date): Apply relative times after time
92675         zone indicator, not before.  Reported by Todd A. Jacobs.
92676
92677 2000-06-13  Jim Meyering  <meyering@lucent.com>
92678
92679         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
92680
92681         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
92682
92683 2000-06-12  Paul Eggert  <eggert@twinsun.com>
92684
92685         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
92686
92687 2000-06-12  Jim Meyering  <meyering@lucent.com>
92688
92689         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
92690         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
92691         optional argument.
92692         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
92693         the optional argument, `lib'.
92694
92695 2000-06-08  Jim Meyering  <meyering@lucent.com>
92696
92697         * m4/largefile.m4: Remove file (now that it's part of autoconf).
92698
92699 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92700
92701         Rewrite largefile configuration so that we don't need to run
92702         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
92703         AC_CANONICAL_HOST in configure.in -- jmm]
92704
92705         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
92706         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
92707         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
92708         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
92709         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
92710         All uses changed.
92711         Instead of inspecting the output of getconf, try to compile the
92712         test program without and with the macro definition.
92713         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
92714         for getconf.  Instead, check for the needed flags by compiling
92715         test programs.
92716
92717 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92718
92719         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
92720
92721 2000-06-04  Jim Meyering  <meyering@lucent.com>
92722
92723         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
92724         SunOS 4.1.4 for which gid_t is an unsigned type.
92725
92726 2000-06-03  Jim Meyering  <meyering@lucent.com>
92727
92728         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
92729         now that autoconf requires that.
92730
92731         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
92732         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
92733         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
92734
92735 2000-06-03  Jim Meyering  <meyering@lucent.com>
92736
92737         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
92738
92739 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92740
92741         * m4/glibc21.m4: New file.
92742         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
92743
92744 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92745
92746         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
92747         newer, don't install charset.alias.
92748         * lib/config.charset: Change the Linux/glibc rules so they become empty
92749         on glibc-2.1 or newer.
92750
92751 2000-06-02  Jim Meyering  <meyering@lucent.com>
92752
92753         * lib/mountlist.c: Back out last change.  Instead, do this...
92754         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
92755         me_dummy member using the same `ignore'-testing code.
92756         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
92757         fs_type strings.
92758         From Mark D. Roth.
92759
92760 2000-05-29  Jim Meyering  <meyering@lucent.com>
92761
92762         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
92763         mounts with the `ignore' attribute.  Based on a patch from
92764         Mark D. Roth.
92765
92766 2000-05-28  Jim Meyering  <meyering@lucent.com>
92767
92768         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
92769         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92770         * m4/stat.m4: Likewise.
92771         * m4/lstat.m4: Likewise.
92772         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
92773
92774         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
92775         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
92776
92777 2000-05-26  Jim Meyering  <meyering@lucent.com>
92778
92779         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
92780
92781 2000-05-24  Jim Meyering  <meyering@lucent.com>
92782
92783         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
92784         autoconf requires that.
92785         * m4/lib-check.m4: Likewise.
92786         * m4/jm-macros.m4: Likewise.
92787         * m4/strftime.m4: Likewise.
92788
92789         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
92790         AC_CHECK_DECLS, now that autoconf requires that.
92791
92792 2000-05-22  Jim Meyering  <meyering@lucent.com>
92793
92794         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92795         * m4/lstat.m4: Likewise.
92796
92797 2000-05-22  Jim Meyering  <meyering@lucent.com>
92798
92799         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
92800
92801 2000-05-20  Jim Meyering  <meyering@lucent.com>
92802
92803         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
92804         (jm_PREREQ): Use it.
92805
92806 2000-05-18  Jim Meyering  <meyering@lucent.com>
92807
92808         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
92809         back, too, since it may have been modified by allocate_entry.
92810         (hash_delete): Rewrite to use neither the assignment operator
92811         nor the comma operator in an if-expression.
92812
92813 2000-05-15  Paul Eggert  <eggert@twinsun.com>
92814
92815         * lib/closeout.c:
92816         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
92817         Remove; no longer needed.
92818         "quotearg.h": Add include.
92819         (file_name): Do not bother to explicitly initialize to NULL; it's less
92820         efficient on some hosts.
92821         (close_stdout_status): Remove test as to whether stdout was already
92822         closed; it breaks for the case "echo x | sort >&-".
92823         Quote file name colons.
92824         Do not assume that _("write error") lacks format strings.
92825
92826 2000-05-15  Jim Meyering  <meyering@lucent.com>
92827
92828         * lib/version-etc.c (version_etc_copyright): Update the copyright
92829         string used in all --version output.
92830
92831 2000-05-14  Jim Meyering  <meyering@lucent.com>
92832
92833         * lib/closeout.c (close_stdout_set_file_name): New function.
92834         (close_stdout_status): Use new file-scoped global.
92835         Return right away if fstat says the stdout file descriptor is invalid.
92836         * lib/closeout.h (close_stdout_set_file_name): Declare.
92837
92838 2000-05-10  Jim Meyering  <meyering@lucent.com>
92839
92840         * lib/closeout.c [default_exit_status]: New file-scoped variable.
92841         (close_stdout_set_status): New function.
92842         * lib/closeout.h (close_stdout_set_status): Declare.
92843
92844 2000-05-09  Jim Meyering  <meyering@lucent.com>
92845
92846         * m4/gettext.m4: Rename this...
92847         * m4/libintl.m4: ...to this.
92848
92849 2000-05-08  Jim Meyering  <meyering@lucent.com>
92850
92851         * lib/long-options.c: Don't include closeout.h.
92852         (parse_long_options): Don't call close_stdout for --version.
92853
92854 2000-05-06  Paul Eggert  <eggert@twinsun.com>
92855
92856         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
92857         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
92858         2.1.3 bug.  This avoids a clash when files like regex.c define
92859         _GNU_SOURCE.
92860
92861 2000-05-06  Jim Meyering  <meyering@lucent.com>
92862
92863         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
92864         (AC_REPLACE_FUNCS): Add strnlen.
92865
92866         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
92867         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
92868
92869         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
92870         AC_SEARCH_LIBS call for nanosleep.
92871         (LIB_NANOSLEEP): Set and AC_SUBST.
92872
92873 2000-05-06  Jim Meyering  <meyering@lucent.com>
92874
92875         * lib/strnlen.c: Undefine __strnlen and strnlen.
92876         [!weak_alias]: Define __strnlen to strnlen.
92877
92878         * lib/atexit.c: New file, from libiberty.
92879
92880 2000-05-06  Jim Meyering  <meyering@lucent.com>
92881
92882         * lib/closeout.c (close_stdout_status): Also check for errors on the
92883         stderr stream.
92884
92885 2000-05-05  Jim Meyering  <meyering@lucent.com>
92886
92887         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
92888         AC_SEARCH_LIBS call for clock_gettime.
92889         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
92890
92891         * m4/search-libs.m4: Update from autoconf.
92892
92893         su doesn't work on Solaris 2.6.
92894         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
92895         <shadow.h>.  Reported by Dragos Harabor.
92896
92897 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
92898
92899         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
92900         memcpy instead of xmalloc, xrealloc, path_concat.
92901         (locale_charset): Treat empty environment variables as absent.
92902         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
92903
92904 2000-05-04  Jim Meyering  <meyering@lucent.com>
92905
92906         * lib/getopt.c: Update from glibc.
92907         * lib/obstack.c: Likewise.
92908         * lib/obstack.h: Likewise.
92909         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
92910         file
92911
92912         * lib/regex.h: Likewise.
92913         * lib/strndup.c: Likewise.
92914         * lib/strnlen.c: New file, from glibc.
92915
92916 2000-05-03  Jim Meyering  <meyering@lucent.com>
92917
92918         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
92919
92920 2000-05-02  Paul Eggert  <eggert@twinsun.com>
92921
92922         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
92923         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
92924         compile-time test, rather than inspecting host and OS, to
92925         decide whether to define _LARGEFILE_SOURCE.
92926
92927 2000-05-01  Jim Meyering  <meyering@lucent.com>
92928
92929         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
92930
92931         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
92932         Based on a patch from Bruno Haible.
92933
92934 2000-05-01  Jim Meyering  <meyering@lucent.com>
92935
92936         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
92937
92938 2000-04-29  Jim Meyering  <meyering@lucent.com>
92939
92940         * lib/path-concat.c: Declare strdup only if it's not defined.
92941         * lib/canon-host.c: Likewise.
92942
92943 2000-04-28  Jim Meyering  <meyering@lucent.com>
92944
92945         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
92946         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
92947         is included first, then limits.h is included by locale.h by libintl.h.
92948         From John David Anglin.
92949
92950 2000-04-25  Jim Meyering  <meyering@lucent.com>
92951
92952         * lib/makepath.c (S_IRWXUGO): Define.
92953         (make_path): Always perform explicit chmod if MODE specifies any
92954         of the `special' permission bits.  Prompted by a bug report against
92955         install from Mate Wierdl and Joost van Baal.
92956
92957 2000-04-18  Jim Meyering  <meyering@lucent.com>
92958
92959         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
92960         (jm_PREREQ): Use it.
92961
92962 2000-04-18  Jim Meyering  <meyering@lucent.com>
92963
92964         * lib/README: New file.
92965
92966         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
92967         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
92968
92969 2000-04-17  Jim Meyering  <meyering@lucent.com>
92970
92971         Get it right :-)
92972         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
92973         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
92974         Suggestion from Akim Demaille.
92975
92976 2000-04-17  Jim Meyering  <meyering@lucent.com>
92977
92978         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
92979         the definition of it to rpl_strftime also defined-away the system's
92980         declaration.
92981
92982 2000-04-15  Jim Meyering  <meyering@lucent.com>
92983
92984         Use `C' to denote so-called `contiguous' files, the same way
92985         that tar does.
92986         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
92987         (ftypelet): Use S_ISCTG.
92988         From Michael Deutschmann.
92989
92990 2000-04-14  Jim Meyering  <meyering@lucent.com>
92991
92992         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
92993         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
92994         clobbered.
92995
92996 2000-04-14  Jim Meyering  <meyering@lucent.com>
92997
92998         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
92999
93000 2000-04-13  Jim Meyering  <meyering@lucent.com>
93001
93002         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
93003         AH_VERBATIM to insert required #ifndef into config.h.in.
93004         Suggestion from Akim Demaille.
93005
93006 2000-04-12  Jim Meyering  <meyering@lucent.com>
93007
93008         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
93009         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
93010         Christian Krackowizer.
93011
93012         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
93013         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
93014         (AC_SYS_LARGEFILE): Require.
93015         (AM_C_PROTOTYPES): Require.
93016
93017 2000-04-08  Jim Meyering  <meyering@lucent.com>
93018
93019         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
93020         names don't conflict.  Reported by Eli Zaretskii.
93021
93022 2000-04-07  Jim Meyering  <meyering@lucent.com>
93023
93024         * lib/putenv.c: Move inclusion of errno.h so it follows that of
93025         sys/types.h, to work around system header problems on AIX 3.2.5.
93026         From Bruno Haible.
93027
93028 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
93029
93030         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
93031         bug.  Deal with the different error behavior of Irix iconv.
93032
93033 2000-04-05  Paul Eggert  <eggert@twinsun.com>
93034
93035         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
93036         IRIX if the installer said otherwise.
93037
93038 2000-04-05  Jim Meyering  <meyering@lucent.com>
93039
93040         Portability tweaks required for ultrix4.3.
93041         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
93042         (jm_CHECK_DECLS): Add getutent to the list of functions.
93043         (_jm_DECL_HEADERS): Add utmpx.h.
93044         From John David Anglin.
93045
93046         * m4/strftime.m4: Back out the 2000-04-02 change.
93047         Instead of that change, simply undefine putenv in the test program.
93048
93049 2000-04-05  Jim Meyering  <meyering@lucent.com>
93050
93051         Portability tweaks required for ultrix4.3.
93052         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
93053         getutent.
93054         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
93055         * lib/canon-host.c: Declare strdup.
93056         * lib/path-concat.c: Likewise.
93057         From John David Anglin.
93058
93059 2000-04-04  Jim Meyering  <meyering@lucent.com>
93060
93061         Be more DOS 8.3-friendly.
93062         * lib/ref-add.sin: Renamed from ref-add.sed.in.
93063         * lib/ref-del.sin: Renamed from ref-del.sed.in.
93064         * lib/Makefile.am: Reflect renaming.
93065         Reported by Eli Zaretskii.
93066
93067         Use a temporary file name that won't clash with `charset.alias'
93068         in the DOS 8.3 name space.
93069         * lib/Makefile.am (charset_tmp): Define.
93070         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
93071         (uninstall-local): Likewise.
93072         Reported by Eli Zaretskii.
93073
93074 2000-04-03  Jim Meyering  <meyering@lucent.com>
93075
93076         * m4/gettext.m4: Fix typo in comment.
93077
93078         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
93079         textutils/configure.in).  Suggestion from Paul Eggert.
93080         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
93081
93082 2000-04-02  Paul Eggert  <eggert@twinsun.com>
93083
93084         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
93085         variable in the shell rather than using putenv, which isn't
93086         portable.  This avoids the configure-time inter-test dependency
93087         on the potentially-renamed putenv function.
93088
93089 2000-03-30  Paul Eggert  <eggert@twinsun.com>
93090
93091         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
93092         before checking struct stat.st_blksize, so that
93093         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
93094
93095 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93096
93097         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
93098         since strftime.c uses HAVE_STRFTIME to decide whether to use
93099         the underlying strftime.
93100
93101 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93102
93103         * lib/time/strftime.c (my_strftime): Make sure we call the system
93104         strftime, not ourselves, when invoking the underlying strftime.
93105
93106 2000-03-24  Jim Meyering  <meyering@lucent.com>
93107
93108         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
93109         (charset_alias): Define.
93110         (install-exec-local): Factor out common code.
93111         (uninstall-local): Split lines longer than 80.
93112         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
93113         (SUFFIXES): Define.
93114         (.sed.in.sed): New rule.  Don't redirect directly to $@.
93115         (CLEANFILES): Add ref-add.sed and ref-del.sed.
93116
93117 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
93118
93119         * lib/config.charset: Output a line containing "Packages using this
93120         file".
93121         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
93122         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
93123         ref-del.sed): New rules.
93124
93125 2000-03-17  Jim Meyering  <meyering@lucent.com>
93126
93127         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
93128         Otherwise, include <strings.h>
93129
93130 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
93131
93132         * lib/unicodeio.c (utf8_wctomb): New function.
93133         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
93134         format instead of in UCS-4 with platform dependent endianness.
93135
93136 2000-03-10  Jim Meyering  <meyering@lucent.com>
93137
93138         * m4/lib-check.m4: Look for getspnam in -lgen, too.
93139         From Marco Franzen.
93140
93141 2000-03-07  Paul Eggert  <eggert@twinsun.com>
93142
93143         * lib/savedir.c (savedir): Work even if directory size is
93144         negative; this can happen with some screwy NFS configurations.
93145
93146 2000-03-06  Jim Meyering  <meyering@lucent.com>
93147
93148         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
93149         if it's NULL (because we ran out of memory).  From Bruno Haible.
93150
93151 2000-03-05  Jim Meyering  <meyering@lucent.com>
93152
93153         * lib/localcharset.c ("path-concat.h"): Include.
93154         (get_charset_aliases): Use path_concat instead of ANSI string
93155         concatenation.
93156
93157         * lib/unicodeio.h (PARAMS): Define.
93158         Use it to guard prototype.
93159
93160 2000-03-04  Jim Meyering  <meyering@lucent.com>
93161
93162         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
93163         for lib/localcharset.c.
93164
93165 2000-03-04  Jim Meyering  <meyering@lucent.com>
93166
93167         * lib/Makefile.am (install-exec-local): Create $(libdir) before
93168         installing into it.
93169         (uninstall-local): Uncomment this rule so `make distcheck' works
93170         once again.
93171
93172         * lib/unicodeio.c (<errno.h>): Include it.
93173         (errno): Declare if not defined.
93174
93175         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
93176
93177         * lib/config.charset: New version, incorporating remarks from a linux
93178         i18n mailing list.  From Bruno Haible.
93179
93180 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
93181
93182         * m4/codeset.m4: New file.
93183         * m4/iconv.m4: New file.
93184         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
93185
93186 2000-03-03  Jim Meyering  <meyering@lucent.com>
93187
93188         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
93189
93190 2000-03-02  Jim Meyering  <meyering@lucent.com>
93191
93192         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
93193         the messages come out on separate lines.
93194
93195         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
93196         rather than jm_CHECK_DECLARATIONS.
93197         * m4/decl.m4: Remove now-unused file.
93198
93199         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
93200         geteuid.
93201
93202 2000-03-02  Jim Meyering  <meyering@lucent.com>
93203
93204         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
93205
93206 2000-03-01  Jim Meyering  <meyering@lucent.com>
93207
93208         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
93209         * lib/unicodeio.c: Likewise.
93210
93211 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
93212
93213         * lib/config.charset: New file.
93214         * lib/localcharset.c: New file.
93215         * lib/unicodeio.h, lib/unicodeio.c: New files.
93216         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
93217         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
93218         (noinst_HEADERS): Add unicodeio.h.
93219         (all-local, install-exec-local, charset.alias): New targets.
93220
93221 2000-02-28  Paul Eggert  <eggert@twinsun.com>
93222
93223         * lib/quotearg.c (ALERT_CHAR): New macro.
93224         (quotearg_buffer_restyled): Use it.
93225
93226 2000-02-27  Jim Meyering  <meyering@lucent.com>
93227
93228         * m4/check-decl.m4: Add getenv to the list.
93229
93230 2000-02-27  Jim Meyering  <meyering@lucent.com>
93231
93232         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
93233         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
93234
93235         * lib/backupfile.c: Guard inclusion of stdlib.h with
93236         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
93237         Declare malloc if needed.
93238
93239         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
93240         `#ifndef HAVE_DECL..'
93241         now that autoconf always defines the HAVE_DECL_ symbols.
93242         * lib/human.c: Likewise.
93243         * lib/same.c: Likewise.
93244         * lib/strtoumax.c: Likewise.
93245
93246         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
93247         declaration check was not run.
93248         * lib/hash.c: Likewise.
93249         * lib/human.c: Likewise.
93250         * lib/same.c: Likewise.
93251         * lib/strtoumax.c: Likewise.
93252
93253         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
93254         `.', then first look up the entire `.'-containing string as a login
93255         name.
93256
93257 2000-02-23  Jim Meyering  <meyering@lucent.com>
93258
93259         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
93260         in place of my hack.
93261
93262 2000-02-18  Paul Eggert  <eggert@twinsun.com>
93263
93264         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
93265         (textint): New typedef.
93266         (parser_control): Member year changed from int to textint.
93267         All uses changed.
93268         (YYSTYPE): Removed; replaced by %union with int and textint members.
93269         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
93270         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
93271         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
93272         (tSNUMBER, tUNUMBER): Now of type <textintval>.
93273         (date, number, to_year): Use width of number in digits, not its value,
93274         to determine whether it's a 2-digit year, or a 2-digit time.
93275         (yylex): Store number of digits of numeric tokens.
93276         Reported by John Kendall.
93277
93278         (parser_control): Changed from struct parser_control to typedef (for
93279         consistency).  All uses changed.
93280
93281         (tID): Removed; not used.
93282         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
93283
93284 2000-02-14  Paul Eggert  <eggert@twinsun.com>
93285
93286         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
93287         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
93288
93289 2000-02-12  Jim Meyering  <meyering@lucent.com>
93290
93291         * lib/userspec.c (ISDIGIT): Define it.
93292         (isdigit): Remove definition.
93293         (is_number): Use ISDIGIT, not isdigit.
93294         <libintl.h>: Include.
93295         (_ and N_): Define.
93296         (parse_user_spec): Mark translatable strings.
93297
93298 2000-02-10  Jim Meyering  <meyering@lucent.com>
93299
93300         With these changes, nanosleep.[ch] are finally enough like the other
93301         lib/* replacement files to compile on a few more losing systems.
93302
93303         * lib/nanosleep.h: Don't include config.h.
93304         Remove prototype from declaration of nanosleep.
93305         (PARAMS): Remove now-unneeded definition.
93306         * lib/nanosleep.c: #undef nanosleep.
93307         (rpl_nanosleep): Rename from nanosleep.
93308
93309 2000-02-10  Jim Meyering  <meyering@lucent.com>
93310
93311         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
93312         gnu_nanosleep to rpl_nanosleep.
93313
93314 2000-02-09  Jim Meyering  <meyering@lucent.com>
93315
93316         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
93317         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
93318
93319 2000-02-08  Akim Demaille  <akim@epita.fr>
93320
93321         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
93322         `[' and `]' and remove uses of `changequote'.
93323         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
93324         (AC_SYS_LARGEFILE): Likewise.
93325         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
93326         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
93327         of changequote.
93328         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
93329         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
93330         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
93331         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
93332
93333 2000-02-05  Jim Meyering  <meyering@lucent.com>
93334
93335         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
93336         Remove explicit use of AC_HEADER_TIME.  It is required by
93337         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
93338         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
93339         in autoconf whereby the expansion of the latter ended up preceding
93340         the expansion of its prerequisite, AC_HEADER_TIME.
93341         Reported by Volker Borchert.
93342
93343 2000-02-03  Jim Meyering  <meyering@lucent.com>
93344
93345         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
93346
93347 2000-02-03  Jim Meyering  <meyering@lucent.com>
93348
93349         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
93350         rather than with `#if HAVE_UTMPNAME'.
93351
93352 2000-02-02  Jim Meyering  <meyering@lucent.com>
93353
93354         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
93355         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
93356         Reported by Eli Zaretskii.
93357
93358 2000-02-01  Jim Meyering  <meyering@lucent.com>
93359
93360         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
93361
93362 2000-01-31  Jim Meyering  <meyering@lucent.com>
93363
93364         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
93365         functions.  Add the time.h and sys/time.h headers along with the
93366         AC_REQUIRE'ment of AC_HEADER_TIME.
93367
93368 2000-01-31  Jim Meyering  <meyering@lucent.com>
93369
93370         * lib/nanosleep.h (nanosleep): Guard declaration with
93371         `#if ! HAVE_DECL_NANOSLEEP'.
93372         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
93373         the declaration in that vendor's sys/timers.h.
93374         Reported by Christian Krackowizer.
93375
93376         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
93377         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
93378         (ISPRINT): Likewise.
93379         Reported by Tom Tromey.
93380
93381 2000-01-30  Jim Meyering  <meyering@lucent.com>
93382
93383         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
93384
93385         * m4/prereq.m4 (utmp_includes): Define.
93386         Check for ut_user and ut_name members in both struct utmpx
93387         and struct utmp.
93388
93389 2000-01-30  Jim Meyering  <meyering@lucent.com>
93390
93391         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
93392         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
93393         header files where only utmpx.ut_user is declared.
93394
93395         * lib/readutmp.h (UT_USER): Define.
93396
93397 2000-01-29  Jim Meyering  <meyering@lucent.com>
93398
93399         * m4/lib-check.m4: New file containing library-related checks from
93400         fileutils and sh-utils (textutils had none).
93401
93402 2000-01-28  Jim Meyering  <meyering@lucent.com>
93403
93404         * m4/perl.m4: Change format of warning message to look more like that
93405         from the missing script.  Suggestion from François Pinard.
93406
93407 2000-01-25  Jim Meyering  <meyering@lucent.com>
93408
93409         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
93410         well as time.h in the compile check.
93411         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
93412         Fix typo in cross-compiling case: s/yes/no/.
93413
93414 2000-01-23  Jim Meyering  <meyering@lucent.com>
93415
93416         * m4/jm-macros.m4: Move df-related tests here from
93417         fileutils/configure.in
93418
93419         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
93420         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
93421
93422         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
93423         s/space/ac_fsusage_space/.
93424         (jm_FILE_SYSTEM_USAGE): Take two parameters.
93425
93426         * m4/ftruncate.m4: New file (derived from part of
93427         fileutils/configure.in).
93428         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
93429         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
93430
93431         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
93432         AC_SUBST these here, rather than just in sh-util/configure.in, so
93433         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
93434         all the same.
93435         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
93436         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
93437         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
93438         (AC_SUBST(POW_LIBM)): Likewise.
93439         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
93440
93441 2000-01-23  Jim Meyering  <meyering@lucent.com>
93442
93443         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
93444         obstack.c.
93445
93446 2000-01-22  Jim Meyering  <meyering@lucent.com>
93447
93448         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
93449
93450         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
93451
93452         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
93453         configure.in
93454         (AC_CHECK_HEADERS): Likewise for sh-utils.
93455         (AC_CHECK_HEADERS): Likewise for textutils.
93456         Merge the three lists of headers.
93457
93458         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
93459         from fileutils' configure.in.
93460
93461         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
93462         code. Moved tests into their own function (_jm_DECL_HEADERS) in
93463         check-decl.m4.
93464
93465         * m4/check-decl.m4: Use #if rather than #ifdef.
93466         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
93467         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
93468         (_jm_DECL_HEADERS): Define new function.
93469         (jm_CHECK_DECLARATIONS): Require it.
93470
93471 2000-01-22  Jim Meyering  <meyering@lucent.com>
93472
93473         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
93474         [! HAVE_DECL_STRTOULL]: Declare strtoull.
93475         Required for some AIX systems.  Reported by Christian Krackowizer.
93476         [TESTING] (main): New function.
93477
93478         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
93479         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
93480         letters.
93481
93482         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
93483         iswprint.
93484
93485         * lib/strverscmp.c (ISDIGIT): Define.
93486         (strverscmp): Use ISDIGIT, not isdigit.
93487
93488 2000-01-19  Jim Meyering  <meyering@lucent.com>
93489
93490         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
93491         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
93492         defines `struct timespec' in <sys/time.h>
93493
93494         * m4/c-bs-a.m4: Remove uses of changequote altogether.
93495         Thanks to Akim for explaining.
93496
93497 2000-01-17  Paul Eggert  <eggert@twinsun.com>
93498
93499         * lib/nanosleep.c (nanosleep):
93500         Don't use SA_INTERRUPT to decide whether to call sigaction, as
93501         POSIX.1 doesn't require SA_INTERRUPT and some systems
93502         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
93503         it's been part of POSIX.1 since day 1 (in 1988).
93504
93505 2000-01-17  Jim Meyering  <meyering@lucent.com>
93506
93507         * lib/interlock: Remove unused file.  Reported by François Pinard.
93508
93509 2000-01-16  Paul Eggert  <eggert@twinsun.com>
93510
93511         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
93512         alert, backslash, formfeed, and vertical tab unnecessarily in
93513         shell quoting style.
93514
93515 2000-01-16  Jim Meyering  <meyering@lucent.com>
93516
93517         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
93518         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
93519         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
93520         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
93521
93522 2000-01-16  Jim Meyering  <meyering@lucent.com>
93523
93524         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
93525         because the latter didn't work.
93526
93527 2000-01-15  Jim Meyering  <meyering@lucent.com>
93528
93529         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
93530         (AC_REPLACE_FUNCS): Add memcpy and memset.
93531         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
93532         Add strpbrk.
93533         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
93534
93535 2000-01-12  Jim Meyering  <meyering@lucent.com>
93536
93537         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
93538         (jm_PREREQ): Use it.
93539         (jm_PREREQ_READUTMP): New macro.
93540         (jm_PREREQ): Use it.
93541
93542 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93543
93544         Quote multibyte characters correctly.
93545         * m4/c-bs-a.m4: New file.
93546         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
93547         (jm_PREREQ): Use it.
93548
93549 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93550
93551         * m4/uintmax_t.m4: Port to autoconf 2.13.
93552
93553 2000-01-08  Jim Meyering  <meyering@ascend.com>
93554
93555         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
93556         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
93557
93558 2000-01-04  Jim Meyering  <meyering@ascend.com>
93559
93560         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
93561         jm_STRUCT_DIRENT_D_TYPE.
93562         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
93563         jm_STRUCT_DIRENT_D_INO.
93564         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
93565         jm_STRUCT_UTIMBUF.
93566         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
93567         renamings.
93568         * m4/utime.m4: Likewise.
93569
93570         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
93571         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
93572
93573 2000-01-03  Paul Eggert  <eggert@twinsun.com>
93574
93575         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
93576         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
93577
93578 2000-01-02  Jim Meyering  <meyering@ascend.com>
93579
93580         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
93581         remember if this is necessary.
93582
93583 1999-12-26  Jim Meyering  <meyering@ascend.com>
93584
93585         * m4/jm-macros.m4: Use it here.
93586         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
93587
93588 1999-12-23  Jim Meyering  <meyering@ascend.com>
93589
93590         * m4/jm-macros.m4: Check for clock_gettime (moved from
93591         fileutils/configure.in)
93592         Check for gettimeofday.
93593
93594 1999-12-20  Jim Meyering  <meyering@ascend.com>
93595
93596         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
93597         autoconf-2.14a-1999-12-20.
93598
93599 1999-12-19  Jim Meyering  <meyering@ascend.com>
93600
93601         * m4/lstat-slash.m4: New file.
93602         * m4/jm-macros.m4: Use the new macro:
93603         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93604
93605 1999-12-07  Jim Meyering  <meyering@ascend.com>
93606
93607         * m4/perl.m4: Require that File::Compare be available, too.
93608         Too many systems seem to lack it.
93609
93610         * m4/strftime.m4: Add checks for most of the cpp macros tested in
93611         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
93612
93613 1999-11-18  Paul Eggert  <eggert@twinsun.com>
93614
93615         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
93616         problem with the QNX 4.25 shell, which doesn't propagate exit
93617         status of failed commands inside shell assignments.
93618
93619 1999-11-17  Jim Meyering  <meyering@ascend.com>
93620
93621         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
93622
93623 1999-11-07  Jim Meyering  <meyering@ascend.com>
93624
93625         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
93626
93627 1999-11-06  Jim Meyering  <meyering@ascend.com>
93628
93629         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
93630         * m4/jm-macros.m4 (jm_MACROS): Use it here.
93631
93632 1999-11-05  Jim Meyering  <meyering@ascend.com>
93633
93634         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
93635         configure.in of textutils, fileutils, and sh-utils into this one
93636         (shared between those packages) file.
93637         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
93638         AC_STRUCT_ST_BLKSIZE.
93639
93640 1999-11-03  Jim Meyering  <meyering@ascend.com>
93641
93642         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
93643         of AC_CHECK_TYPE checks includes unistd.h.
93644         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
93645         Suggestion from Akim Demaille.
93646
93647 1999-10-30  Jim Meyering  <meyering@ascend.com>
93648
93649         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
93650         m4-quoted string.
93651         * m4/ls-mntd-fs.m4: Likewise.
93652         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
93653         * m4/jm-winsz1.m4: Likewise.
93654
93655         * m4/const.m4: Remove file, since the fix made it into the experimental
93656         version of autoconf.
93657         * m4/mktime.m4: Likewise.
93658
93659         * m4/check-type.m4: Remove file, now that the latest version of
93660         AC_CHECK_TYPE takes a third arg to specify additional #includes.
93661
93662         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
93663         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
93664         AC_CHECK_TYPE.
93665
93666 1999-10-04  Jim Meyering  <meyering@ascend.com>
93667
93668         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
93669
93670 1999-09-22  Paul Eggert  <eggert@twinsun.com>
93671
93672         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
93673         2.95.1 bug with HP-UX 10.20.
93674
93675 1999-09-17  Jim Meyering  <meyering@ascend.com>
93676
93677         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
93678         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
93679         due to missing strdup (against sh-utils-2.0).
93680
93681 1999-08-29  Jim Meyering  <meyering@ascend.com>
93682
93683         * m4/jm-macros.m4: Require jm_BISON.
93684         * m4/bison.m4: New file.
93685
93686 1999-08-17  Paul Eggert  <eggert@twinsun.com>
93687
93688         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
93689         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
93690
93691 1999-08-05  Jim Meyering  <meyering@ascend.com>
93692
93693         * m4/getline.m4: Rename test file from conftestdata to conftest.data
93694         to avoid conflicts with `conftest' on 8+3 filesystems.
93695         Suggestion from Eli Zaretskii.
93696
93697 1999-08-04  Jim Meyering  <meyering@ascend.com>
93698
93699         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
93700         fileutils and sh-utils (textutils's getline test was inadequate).
93701         (AM_FUNC_GETLINE): Run this test.
93702         (AC_CHECK_FUNCS): Check for getdelim.
93703         Reported by Bob Proulx.
93704
93705 1999-08-02  Jim Meyering  <meyering@ascend.com>
93706
93707         * m4/jm-macros.m4: Add a comment.
93708
93709 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93710
93711         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
93712         <inttypes.h> defines strtoumax as a macro (and not as a
93713         function).
93714
93715 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93716
93717         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
93718         that we can shift, multiply and divide unsigned long long
93719         values; Ultrix cc can't do it.
93720
93721 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93722
93723         * m4/mktime.m4: New file, which is a preview of what should appear
93724         in the next public autoconf release.
93725
93726 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93727
93728         * m4/lfs.m4: Remove this file.
93729         * m4/largefile.m4: New file.  It contains the old contents of
93730         lfs.m4, except that all names with prefix AC_LFS have been
93731         changed to use the prefix AC_SYS_LARGEFILE instead, to be
93732         compatible with future autoconf versions.  Also, some minor m4
93733         quoting problems have been fixed.
93734
93735 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93736
93737         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
93738         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
93739         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
93740         and simplify the shell code.
93741
93742 1999-08-01  Jim Meyering  <meyering@ascend.com>
93743
93744         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
93745         m4.
93746
93747 1999-07-20  Jim Meyering  <meyering@ascend.com>
93748
93749         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
93750
93751 1999-07-15  Jim Meyering  <meyering@ascend.com>
93752
93753         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
93754
93755 1999-05-22  Jim Meyering  <meyering@ascend.com>
93756
93757         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
93758
93759 1999-05-20  Jim Meyering  <meyering@ascend.com>
93760
93761         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
93762         Add a colon after each `then' in case $4 is empty.
93763
93764 1999-05-16  Jim Meyering  <meyering@ascend.com>
93765
93766         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
93767
93768 1999-05-10  Jim Meyering  <meyering@ascend.com>
93769
93770         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
93771
93772         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
93773         AC_FUNC_MKTIME.
93774
93775 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
93776
93777         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
93778
93779 1999-05-04  Paul Eggert  <eggert@twinsun.com>
93780
93781         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
93782         not CPPFLAGS, so that linking works correctly in IRIX.
93783
93784 1999-04-30  Paul Eggert  <eggert@twinsun.com>
93785
93786         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
93787
93788 1999-04-20  Paul Eggert  <eggert@twinsun.com>
93789
93790         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
93791         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
93792         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
93793         jm_AC_TYPE_UNSIGNED_LONG_LONG.
93794         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
93795
93796         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
93797
93798 1999-04-20  Jim Meyering  <meyering@ascend.com>
93799
93800         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
93801         AC_REPLACE xstroull if necessary.  From Paul Eggert.
93802         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
93803
93804 1999-04-18  Jim Meyering  <meyering@ascend.com>
93805
93806         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
93807         * m4/jm-macros.m4: Use it.
93808
93809 1999-04-06  Jim Meyering  <meyering@ascend.com>
93810
93811         * m4/strftime.m4: Remove test for %f.
93812
93813 1999-03-29  Jim Meyering  <meyering@ascend.com>
93814
93815         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
93816         superset of the AC_TYPE_* checks in the textutils, fileutils,
93817         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
93818         AC_TYPE_PID_T.
93819
93820 1999-03-28  Jim Meyering  <meyering@ascend.com>
93821
93822         * m4/jm-macros.m4: Define GNU_PACKAGE here.
93823         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
93824         replaced e.g., in the *.sh files of the sh-utils.
93825
93826 1999-03-20  Jim Meyering  <meyering@ascend.com>
93827
93828         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
93829         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
93830         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
93831
93832 1999-03-19  Jim Meyering  <meyering@ascend.com>
93833
93834         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
93835
93836 1999-03-12  Jim Meyering  <meyering@ascend.com>
93837
93838         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
93839
93840 1999-03-07  Jim Meyering  <meyering@ascend.com>
93841
93842         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
93843         declared.
93844
93845 1999-02-17  Jim Meyering  <meyering@ascend.com>
93846
93847         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
93848         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
93849
93850 1999-02-07  Jim Meyering  <meyering@ascend.com>
93851
93852         * m4/group-member.m4: New file -- extracted from sh-utils'
93853         configure.in.
93854
93855         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
93856         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
93857
93858 1999-02-06  Jim Meyering  <meyering@ascend.com>
93859
93860         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
93861         * m4/fnmatch.m4: Likewise.
93862         * m4/getgroups.m4: Likewise.
93863         * m4/lstat.m4: Likewise.
93864         * m4/malloc.m4: Likewise.
93865         * m4/putenv.m4: Likewise.
93866         * m4/realloc.m4: Likewise.
93867         * m4/regex.m4: Likewise.
93868         * m4/stat.m4: Likewise.
93869         * m4/strftime.m4: Likewise.
93870         Suggestion from Alain Magloire.
93871
93872         * m4/chown.m4: Use `.$ac_objext', not `.o'.
93873         * m4/fnmatch.m4: Likewise.
93874         * m4/getgroups.m4: Likewise.
93875         * m4/getline.m4: Likewise.
93876         * m4/lstat.m4: Likewise.
93877         * m4/malloc.m4: Likewise.
93878         * m4/memcmp.m4: Likewise.
93879         * m4/putenv.m4: Likewise.
93880         * m4/realloc.m4: Likewise.
93881         * m4/regex.m4: Likewise.
93882         * m4/stat.m4: Likewise.
93883         * m4/strftime.m4: Likewise.
93884         Suggestion from Alain Magloire.
93885
93886         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
93887         an argument.
93888
93889         * m4/regex.m4: Add a run-time Test for proper operation of
93890         re_compile_pattern.
93891
93892 1999-01-31  Jim Meyering  <meyering@ascend.com>
93893
93894         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
93895
93896 1999-01-30  Jim Meyering  <meyering@ascend.com>
93897
93898         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
93899
93900         * m4/jm-mktime.m4: Make this a wrapper around the official
93901         AM_FUNC_MKTIME rather than my private copy, now that the official one
93902         is up to date.
93903         * m4/mktime.m4: Remove file.
93904
93905         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
93906         * m4/uptime.m4: Likewise.
93907         * m4/uintmax_t.m4: Likewise.
93908
93909 1999-01-28  Jim Meyering  <meyering@ascend.com>
93910
93911         * m4/jm-macros.m4: Use jm_AFS.
93912         * m4/afs.m4: New file (from fileutils' configure.in).
93913
93914         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
93915         * m4/chown.m4: Likewise.
93916         * m4/d-ino.m4: Likewise.
93917         * m4/d-type.m4: Likewise.
93918         * m4/fnmatch.m4: Likewise.
93919         * m4/getgroups.m4: Likewise.
93920         * m4/gettext.m4: Likewise.
93921         * m4/jm-mktime.m4: Likewise.
93922         * m4/jm-winsz2.m4: Likewise.
93923         * m4/lcmessage.m4: Likewise.
93924         * m4/ls-mntd-fs.m4: Likewise.
93925         * m4/malloc.m4: Likewise.
93926         * m4/memcmp.m4: Likewise.
93927         * m4/putenv.m4: Likewise.
93928         * m4/realloc.m4: Likewise.
93929         * m4/st_mtim.m4: Likewise.
93930         * m4/strftime.m4: Likewise.
93931
93932 1999-01-16  Jim Meyering  <meyering@ascend.com>
93933
93934         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
93935         (ARGMATCH_DIE_DECL): Define.
93936
93937 1999-01-12  Jim Meyering  <meyering@ascend.com>
93938
93939         * m4/Makefile.am.in: Rewrite to avoid using fmt.
93940         Reported by Lars Hecking.
93941
93942 1999-01-10  Jim Meyering  <meyering@ascend.com>
93943
93944         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
93945         gross kludge.
93946         * m4/inttypes_h.m4: Likewise.
93947         * m4/lstat.m4: Likewise.
93948         * m4/malloc.m4: Likewise.
93949         * m4/readdir.m4: Likewise.
93950         * m4/realloc.m4: Likewise.
93951         * m4/st_dm_mode.m4: Likewise.
93952         * m4/stat.m4: Likewise.
93953         * m4/utimbuf.m4: Likewise.
93954         * m4/utimes.m4: Likewise.
93955
93956         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
93957         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
93958         comments in config.h.in are meaningful.
93959
93960         * m4/jm-macros.m4: Require autoconf-2.13 here.
93961
93962         * m4/regex.m4: By default, don't use the included regex.c on systems
93963         with glibc 2.  Suggestion from Uli Drepper.
93964
93965 1999-01-02  Jim Meyering  <meyering@ascend.com>
93966
93967         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
93968
93969 1998-12-18  Jim Meyering  <meyering@ascend.com>
93970
93971         * m4/Makefile.am.in (Makefile.am): Simplify rule.
93972         Based on a suggestion from Lars Hecking.
93973
93974 1998-11-16  Paul Eggert  <eggert@twinsun.com>
93975
93976         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
93977
93978 1998-11-16  Jim Meyering  <meyering@ascend.com>
93979
93980         * m4/lfs.m4: Double-quote the `uname...` expression.
93981
93982 1998-11-14  Jim Meyering  <meyering@ascend.com>
93983
93984         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
93985         * m4/stat.m4: Likewise.
93986
93987 1998-11-03  Jim Meyering  <meyering@ascend.com>
93988
93989         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
93990         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
93991
93992 1998-10-18  Jim Meyering  <meyering@ascend.com>
93993
93994         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
93995
93996 1998-10-17  Jim Meyering  <meyering@ascend.com>
93997
93998         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
93999         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
94000         calls for those previously hard-coded headers.  Instead, take a new
94001         parameter.
94002         (jm_CHECK_DECLARATIONS): Reflect interface change.
94003         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
94004         (jm_CHECK_DECL_LOCALTIME_R): New macro.
94005
94006         * m4/mktime.m4: Test for spring-forward gap before long-running test.
94007
94008 1998-10-14  Jim Meyering  <meyering@ascend.com>
94009
94010         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
94011         instead of "TZ=America/Vancouver".  From Paul Eggert.
94012
94013 1998-10-11  Jim Meyering  <meyering@ascend.com>
94014
94015         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
94016         This adds a test for a recently added compatibility fix for mktime.c.
94017         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
94018
94019 1998-09-27  Jim Meyering  <meyering@ascend.com>
94020
94021         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
94022
94023         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
94024         ../configure.in, including a change from Gordon Matzigkeit to allow
94025         cross-compiling for the Hurd.
94026
94027         * m4/glibc.m4: New file/macro to test for the GNU C Library
94028         versions 1 and 2.  From Gordon Matzigkeit.
94029         Indent.
94030
94031 1998-09-21  Jim Meyering  <meyering@ascend.com>
94032
94033         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
94034
94035 1998-08-18  Paul Eggert  <eggert@twinsun.com>
94036
94037         Port nanosecond-resolution times to UnixWare 2.1.2 and
94038         pedantic Solaris 2.6.
94039
94040         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
94041         AC_STRUCT_ST_MTIM.
94042         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
94043         Generate name of ns member, instead of just 1 or undef.
94044         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
94045
94046 1998-08-15  Jim Meyering  <meyering@ascend.com>
94047
94048         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
94049         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
94050         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
94051         instead of jm_TYPE_SSIZE_T.
94052
94053 1998-08-12  Jim Meyering  <meyering@ascend.com>
94054
94055         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
94056
94057 1998-08-02  Jim Meyering  <meyering@ascend.com>
94058
94059         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
94060         in acconfig.h manually.
94061
94062 1998-07-31  Paul Eggert  <eggert@twinsun.com>
94063
94064         * m4/st_mtim.m4: New file.
94065
94066 1998-07-28  Jim Meyering  <meyering@ascend.com>
94067
94068         * m4/utimes.m4: Undef stat.
94069
94070 1998-07-25  Jim Meyering  <meyering@ascend.com>
94071
94072         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
94073         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
94074
94075 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
94076
94077         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
94078         uid and gid actually remain unchanged.
94079
94080 1998-07-07  Jim Meyering  <meyering@ascend.com>
94081
94082         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
94083
94084 1998-07-04  Jim Meyering  <meyering@ascend.com>
94085
94086         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
94087         to prove that this macro can be used in packages without regex.c.
94088
94089 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
94090
94091         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
94092         is to be used.
94093
94094 1998-07-03  Jim Meyering  <meyering@ascend.com>
94095
94096         * m4/gettext.m4: Add -lintl if it's found to be necessary.
94097
94098         * m4/gettext.m4: New file -- from gettext-0.10.35.
94099         * m4/lcmessage.m4: Likewise.
94100         * m4/progtest.m4: Likewise.
94101
94102         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
94103         * m4/jm-macros.m4: Require the new macro.
94104
94105 1998-06-29  Jim Meyering  <meyering@ascend.com>
94106
94107         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
94108         for the definition of NGROUPS (used in a system header included
94109         by sys/mount.h).
94110
94111 1998-06-28  Jim Meyering  <meyering@ascend.com>
94112
94113         * m4/ls-mntd-fs.m4: New file.
94114         * m4/fstypename.m4: New file.
94115
94116         * m4/jm-macros.m4: Require the new macro.
94117         * m4/jm-glibc-io.m4: New file.
94118
94119 1998-05-19  Jim Meyering  <meyering@ascend.com>
94120
94121         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
94122         * m4/lchown.m4: New file.
94123
94124         * m4/Makefile.am.in: New file.
94125         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
94126
94127 1998-05-14  Jim Meyering  <meyering@ascend.com>
94128
94129         * m4/Makefile.am (EXTRA_DIST): Add them.
94130         * m4/jm-macros.m4: New file.
94131         * m4/utimbuf.m4: New file.
94132
94133 1998-05-12  Jim Meyering  <meyering@ascend.com>
94134
94135         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
94136
94137 1998-05-11  Jim Meyering  <meyering@ascend.com>
94138
94139         * m4/isc-posix.m4: New file.
94140
94141 1998-05-10  Jim Meyering  <meyering@ascend.com>
94142
94143         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
94144
94145 1998-05-09  Jim Meyering  <meyering@ascend.com>
94146
94147         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
94148         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
94149         with automake.
94150
94151         * m4/ssize_t.m4: New file.
94152         * m4/mktime.m4: Remove file -- the new automake has this now.
94153
94154 1998-04-26  Jim Meyering  <meyering@ascend.com>
94155
94156         * m4/assert.m4: New file.
94157         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
94158
94159 1998-04-05  Jim Meyering  <meyering@ascend.com>
94160
94161         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
94162         (jm_PREREQ): Use it here.
94163
94164 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
94165
94166         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
94167         in acconfig.h.
94168
94169 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
94170
94171         * m4/prereq.m4: New file.
94172         * m4/error.m4: New file.
94173         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
94174
94175 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
94176
94177         * m4/getline.m4: Don't set am_cv_func_working_getline before the
94178         cache-check for the same variable -- that defeated the purpose of
94179         the test; the test program was never run.  This was a problem only
94180         on systems with losing getline functions -- HP-UX 10.20 is one.
94181         Reported by Bjorn Helgaas.
94182
94183 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
94184
94185         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
94186
94187 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
94188
94189         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
94190
94191         * m4/const.m4: New file.  Use an initializer in this declaration
94192         typedef int charset[2]; const charset x;
94193         Reported by Bob Glickstein.
94194
94195 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
94196
94197         * m4/chown.m4: Fix reversed types on -1 args to chown.
94198         From Kaveh Ghazi.
94199
94200 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
94201
94202         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
94203         Add lseek and memchr.
94204
94205         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
94206         T.E.Dickey <dickey@clark.net> said that some older preprocessors
94207         have a 20-character limit on names.
94208
94209 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
94210
94211         * m4/inttypes_h.m4: New file.
94212         * m4/uintmax_t.m4: New file.
94213         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
94214
94215
94216         -----
94217
94218         Local Variables:
94219         coding: utf-8
94220         End:
94221
94222         Copyright (C) 1997-2012 Free Software Foundation, Inc.
94223
94224         Copying and distribution of this file, with or without
94225         modification, are permitted provided the copyright notice
94226         and this notice are preserved.